[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