Enable choosing the even-odd rule for filling shapes - #32253
Conversation
8d27fa9 to
dafc1c5
Compare
587d431 to
01dafac
Compare
|
How do the two cases behave with |
I've investigated this, and amusingly enough,
My inclination is that fixing |
iccir
left a comment
There was a problem hiding this comment.
Additional comments: I feel that there may be lurking bugs in GraphicsContextBase.restore() where we call restore() on a wrapped Cairo context, but we never actually restore the associated properties. I need to deepen my understanding of GraphicsContextBase, however.
iccir
left a comment
There was a problem hiding this comment.
The included changes look good. I'm not sure if additional changes are needed or if there are edge cases.
I agree, I opened #32329 from that comment. |

PR summary
This PR enables choosing the even-odd rule for filling a shape, as an alternative to the existing behavior of the non-zero winding rule. The choice of fill rule is implemented as an
Patchproperty, and defaults to the non-zero winding rule. All backends are supported.Examples
Agg

Cairo

SVG

PDF
Figure_1.pdf
PGF
Figure_1.pgf.pdf
PS
Figure_1.ps.pdf
Generating script
AI Disclosure
No AI was used
PR quality check