[cairo] Plans for 1.6?
pcjc2 at cam.ac.uk
Wed Nov 28 00:03:56 PST 2007
On Tue, 2007-11-27 at 19:59 -0800, Keith Packard wrote:
> On Wed, 2007-11-28 at 00:34 +0000, Peter Clifton wrote:
> > On Tue, 2007-11-27 at 13:13 -0800, Carl Worth wrote:
> > > EXTEND_PAD definitely. Also, the rest of the "goofy X server visuals"
> > > work, (meaning support for mask-based format compositing in pixman and
> > > probably taking the pseudocolor patch for cairo). Then also fixing
> > > pixman to handle A8 masks with a stride that is not a multiple of 4.
> > Pseudocolor visuals is something which is blocking some of our user-base
> > with older terminals, and its inclusion would be another major step
> > towards getting this accepted as a drawing library in gEDA. (Electronics
> > CAD). I'm really looking forward to this being in, as I've been trying
> > to push cairo for some time.
> Do you want native drawing to pseudo color? Or do you want the ability
> to paint in a local RGB buffer and then copy to pseudo color? The latter
> seems like it will be a lot faster (Render support on pseudo color
> hardware seems unlikely), and will certainly give better looking results
> as we can even dither if desired.
The application currently allocates some colours with gdk_color_alloc(),
and paints using gdk calls. (Unfortunately not in the expose handler).
I've nearly fixed the app so it paints only from the expose handler,
where GDK (I think) is providing a double-buffered surface. This double
buffering should give an opportunity to take your latter case, however I
don't know if its something our app will ever see.
In general, the less we have to special case for pseudo color displays,
the better - with the obvious caveat that for best (solid) colors, we
might have to continue specifying which ones we want allocated.
As a cairo newbie (but long time lurker), I can sacrely work out whether
I want to draw directly onto the X11 surface, or paint in local buffers
anyway. In either case, I'm getting slow performance rendering lots of
lines, just with slightly different profiles.
Electrical Engineering Division,
University of Cambridge,
9, JJ Thomson Avenue,
Tel: +44 (0)7729 980173 - (No signal in the lab!)
More information about the cairo