[cairo-bugs] [Bug 34994] cairo bitmapped (png) results do not fill self-intersecting boundaries correctly

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Mar 4 09:58:23 PST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=34994

--- Comment #2 from irwin at beluga.phys.uvic.ca 2011-03-04 09:58:19 PST ---
> Is this (non-closed path) intentional?

Good catch.  I assumed all pages were closed (this example not originally
programmed by me), but pages 11-13 are closed while pages 14 and above are
obviously _not_ closed.  For the latter pages this obviously introduces an
extra large last segment in the boundary back to the starting position.  I am
still investigating the effect of changing the loop termination so that all
figures all have a predefined last segment corresponding to some
angle (which may be zero) before complete closure.  More about this later.

> Your bug report doesn't spell it out, so could you clarify what the problem in the rendering of the fourth figure is?  Thanks.

I made those comments in the X bug report I referred to, but for completeness I
should state it here as well.  For the even-odd filling rule (-eofill) the
filled and unfilled areas in the figures should essentially alternate. 
Instead, for pages 11-13, no filling occurs at all (that should be impossible
for these closed figures), while for pages 14 and beyond certain of the areas
that should be filled are not, and vice versa.  (The large last segment of the
boundary must have some effect here, but the fills obviously do not alternate
as they should.)  For the non-zero winding number fill rule (no -eofill
option), pages 11-13 are filled correctly, but for pages 14 and beyond there
are asymmetries in the results on the right-hand sides of the plots (which are
probably due to the large last boundary segment referred to above, but I am
still investigating).  So in sum, there are obvious fill errors for the
even-off fill rule, while it is possible there are no fill errors for the
non-zero winding number fill rule since the asymmetries you see in that case
could be an artifact of the last large segment of the boundary.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the cairo-bugs mailing list