RESOLVED FIXED 120236
[CSS Shapes] Winding rule polygon issues
https://bugs.webkit.org/show_bug.cgi?id=120236
Summary [CSS Shapes] Winding rule polygon issues
Alexandru Chiculita
Reported 2013-08-23 14:30:25 PDT
Winding rules are not supported correctly for some edge cases: Here is an example of a polygon that will not work correctly. polygon(321.67px 39.00px,244.33px 348.47px,62.67px 268.47px,383.33px 200.00px,59.67px 156.53px) However, a slightly different one will work: polygon(321.67px 39.00px,244.33px 348.47px,62.67px 268.47px,383.33px 202.00px,59.67px 156.53px)
Attachments
shape image (56.10 KB, image/jpeg)
2013-08-23 14:33 PDT, Alexandru Chiculita
no flags
Patch (16.79 KB, patch)
2013-09-12 15:46 PDT, Hans Muller
no flags
Patch (19.20 KB, patch)
2013-09-13 07:35 PDT, Hans Muller
krit: review+
Patch (19.20 KB, patch)
2013-09-16 08:49 PDT, Hans Muller
no flags
Alexandru Chiculita
Comment 1 2013-08-23 14:33:08 PDT
Created attachment 209513 [details] shape image
Hans Muller
Comment 2 2013-09-12 15:46:48 PDT
Hans Muller
Comment 3 2013-09-13 07:35:16 PDT
Created attachment 211550 [details] Patch This patch corrects some of the problems with shape-inside and self-intersecting polygons and eliminates the layout flashing behavior that prompted the original bug report. The FloatPolygon::contains() method now respoects the polygon's fillRule and the PolygonShape code used to find shape-inside intervals for the top and bottom of a line now also handles fillRule correctly.
Dirk Schulze
Comment 4 2013-09-16 08:37:04 PDT
Comment on attachment 211550 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=211550&action=review r=me > Source/WebCore/platform/graphics/FloatPolygon.cpp:199 > + return (fillRule() == RULE_NONZERO) ? containsNonZero(point) : containsEvenOdd(point); The parentheses seem unnecessary.
Hans Muller
Comment 5 2013-09-16 08:49:33 PDT
Created attachment 211793 [details] Patch Made the suggested change.
WebKit Commit Bot
Comment 6 2013-09-16 09:15:03 PDT
Comment on attachment 211793 [details] Patch Clearing flags on attachment: 211793 Committed r155865: <http://trac.webkit.org/changeset/155865>
WebKit Commit Bot
Comment 7 2013-09-16 09:15:05 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.