Bug 16589

Summary: CAIRO_FILL_RULE_WINDING does not work with some ellipses
Product: cairo Reporter: Sebastien Pouliot <sebastien>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED NOTABUG QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.6.4   
Hardware: Other   
OS: All   
URL: https://bugzilla.novell.com/show_bug.cgi?id=391684
Whiteboard:
i915 platform: i915 features:
Attachments: test case

Description Sebastien Pouliot 2008-07-02 14:05:33 UTC
Created attachment 17481 [details]
test case

The expected "all filled" of an ellipse and a box inside the same path/fill operation does not work with the attached test case.

Notes:

* the original test case (XAML file) had three ellipses and one box. All three ellipses shows the same problem (rendered as even odd).

* Tested with Cairo 1.6.4 but this does not appear to be a new issue since I could duplicate the problem with Cairo 1.4.8.

* I suspect this also cause problems for any Cairo-based SVG renderers, try the following PML:

F0 M13.5 13.5 C13.5,6.04375 7.45703,0.00078125 0,0.00078125 C-7.45703, 0.00078125 -13.5, 6.04375 -13.5, 13.5008 C-13.5, 20.9539  -7.45703, 27.0008 0, 27.0008 C7.45703, 27.0008 13.5, 20.9539 13.5, 13.5008 M0, 0.00078125 L353, 0.00078125 L353, 27.0008 L0, 27.0008 L0, 0.00078125
Comment 1 M Joonas Pihlaja 2008-07-02 14:29:00 UTC
The attached code draws the circle counter clockwise and the box clockwise, so the intersection of the two has zero winding number.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.