[cairo] Road to 1.10

Alexander Larsson alexl at redhat.com
Mon Feb 16 01:11:26 PST 2009

On Thu, 2009-02-12 at 18:04 +0000, Chris Wilson wrote:
> Hello all,
> I've presumptuously tweaked the /roadmap in order to reflect what I
> think we will complete for 1.10. I think now is a good time to organise
> what we think still needs to be done for this development cycle and to
> track what we have already done. So please post your suggestions or add
> what you plan to do to the roadmap.

This is more of a feature request, since I've no time to implement this
myself as things stand. But, after Gtk+ 2.16 is released (should be
shortly now) we will try to merge the client side windows branch. The
client side windows branch of gtk virtualizes all drawing to GdkWindows
such that we can emulate the effects of subwindow clipping on the client

The way cairo drawing is virtualized is that we set an initial clip
region on the cairo_t you get from gdk_cairo_create(drawable). However,
there is one call in cairo that cannot be virtualized in this way:
cairo_reset_clip(). Also, theoretically you could also use 
surface = cairo_get_target (c);
new_c = cairo_create (surface);

to break out of the clipping, although to be frank, I don't really care
about that kind of weird code.

So, I would like to be able to set an "initial" clip region on either
the cairo surface or the cairo_t such that a call to cairo_reset_clip()
will use this instead of an empty region.

If all goes right this code will be in the next Gtk+ that will be
released around GUADEC this year. It would be nice if it could rely on a
version of cairo that has this feature so we could fully virtualize
cairo drawing.

More information about the cairo mailing list