[cairo] Problem with quartz backend update logic
Owen Taylor
otaylor at redhat.com
Thu Jan 27 18:01:56 PST 2005
On Thu, 2005-01-27 at 16:28 -0500, Tim Rowley wrote:
> I've been working with the cairo Quartz backend and have
> encountered with how it updates the screen after a drawing
> operation. As I follow the code, each drawing operation calls
> _cairo_surface_set_image, which in turn calls the backend's
> set_image. In the quartz backend's case, this calls
> GCContextDrawImage to composite the image surface it uses onto
> the screen (or Quartz surface). Each time a drawing operation
> completes, partially transparent areas are repeatedly composited
> and build up opacity.
>
> There's at least two ways of fixing this:
>
> * have quartz's set_surface clear the surface whenever it does
> the composite.
>
> * have quartz's get_surface read the underlying pixels and
> change set_surface to do a simple blit instead of compositing.
The later. set_image is simply a blit. I'm about to change set_image(),
see:
http://lists.freedesktop.org/archives/cairo/2005-January/002766.html
But the same "just a blit" will apply to the replacement.
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/20050127/1d7b1d63/attachment.pgp
More information about the cairo
mailing list