[cairo] Calling push_group on unbounded cairo recording surface

Uli Schlachter psychon at znc.in
Fri Oct 19 04:53:01 PDT 2012


On 08.10.2012 12:58, Daniel Kłobuszewski wrote:
> I have an unbounded cairo recording surface, on which I want to draw. 
> Unforntunately, when I start to use cairo_push_group, my whole drawing 
> is gone (ie. cairo_recording_surface_ink_extents gives me only 0s).

In _cairo_default_gstate_push_group there is a comment about this. Unbounded
groups apparently were never implemented. The attached patch/hack fixes this.
However, it assumes that only recording surfaces are unbounded, which is (half)

Ideas? Adding a new member to cairo_backend_t for this feels wrong.

(Also, the current code uses an uninitialized "cairo_rectangle_int_t extents"
for unbounded surfaces. I guess it is just luck that this results in an 0x0 surface)

"Every once in a while, declare peace. It confuses the hell out of your enemies"
 - 79th Rule of Acquisition
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unbounded-group.patch
Type: text/x-diff
Size: 1515 bytes
Desc: not available
URL: <http://lists.cairographics.org/archives/cairo/attachments/20121019/9ef29d3e/attachment.patch>

More information about the cairo mailing list