[cairo] implement clone_similar fallback

Vladimir Vukicevic vladimir at pobox.com
Mon Aug 6 22:38:59 PDT 2007


Here's a patch after a discussion on irc... basically, the backend 
clone_similar function was called from two places (clip_init_deep_copy 
and the pattern acquire_surface_for_gradient), but the function isn't a 
required one for backends to implement.  So if it ever failed, both of 
these functions just failed.

It was hard to hit either of these cases -- the win32 surface didn't 
implement clone_similar, but it also never used pattern_acquire_surface, 
and the other would only be hit if you tried to push_group with a mask 
clip set.

Here's a patch that implements fallback for clone_similar; it uses 
create_similar_scratch and then calls composite with OPERATOR_SOURCE.

     - Vlad
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cairo-clone-similar.patch
Url: http://lists.cairographics.org/archives/cairo/attachments/20070806/714c329c/attachment.txt 


More information about the cairo mailing list