[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