[cairo] (no subject)

Owen Taylor otaylor at redhat.com
Mon Sep 6 08:48:05 PDT 2004


On Mon, 2004-09-06 at 07:03, Jost Boekemeier wrote:
> ------w1--------------------------
> |            -------w2-----------
> |           |       |expose-area
> ---------------------------------
> 0           10000   65537
> 
> > The backing pixmap is created 100x100 pixels 
> > instead of 10,000x10,000 pixels for obvious 
> > performance reasons. 
> 
> Yes.   But your expose-area is restricted by at
> current viewport size, at least.  Why don't you simply
> allocate a transient surface instead of a transient
> pixmap and set that as the current target surface to
> the cairo_t you pass to the user's expose cb?

I don't see a difference between the transient pixmap
and the transient pixmap. A transient xlib-backend 
surface *is* a transient pixmap.

> To handle expose events your users must only implement
> the expose() callback to re-draw the szene located at
> (event.x=55537, event.y, event.width, event.height)
> onto a cairo_surface located at (0, 0, event.width,
> event.height).
> 
> Why is that a problem?

Because then application programmers have to start worrying 
about the difference between "expose event coordinate space" 
and the "window coordinate space". 

The implicit double buffering in GTK+ 2 is completely hidden 
from the programmer. It's a solid, clean, abstraction, and
it's worked out great. I'm not going to break that with the 
move to cairo.

Regards,
					Owen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/cairo/attachments/20040906/b7998f07/attachment.pgp


More information about the cairo mailing list