Bug 106871 - Update GraphicsContext to support winding rule in clip operator for Core Graphics
Summary: Update GraphicsContext to support winding rule in clip operator for Core Grap...
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Rik Cabanier
Depends on:
Blocks: 106188 106872 106873
  Show dependency treegraph
Reported: 2013-01-14 22:09 PST by Rik Cabanier
Modified: 2013-01-16 23:24 PST (History)
7 users (show)

See Also:

Patch (10.14 KB, patch)
2013-01-16 13:03 PST, Rik Cabanier
no flags Details | Formatted Diff | Diff
Patch (10.75 KB, patch)
2013-01-16 17:03 PST, Rik Cabanier
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rik Cabanier 2013-01-14 22:09:24 PST
the GraphicsContext interface does not support passing a winding rule to the canvas clip operator.
Update the GraphicsContext interface for all platforms + add support for  eoclip
Comment 1 Rik Cabanier 2013-01-16 13:03:35 PST
Created attachment 183024 [details]
Comment 2 Dirk Schulze 2013-01-16 14:31:14 PST
Comment on attachment 183024 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=183024&action=review

Looks like you are going to go the wrong way. We already have clipPath which should do what you want. And I am not really a friend of leaving the other ports behind when it would be fairly easy to implement there as well. However, this bug should be mainly invalid.

> Source/WebCore/ChangeLog:5
> +

Can you please summarize your changes and what they are good for here please?

> Source/WebCore/ChangeLog:11
> +        * platform/graphics/GraphicsContext.h: Change canvasClip and clip signature with default winding rule

End sentences please.

> Source/WebCore/ChangeLog:12
> +        * platform/graphics/cairo/GraphicsContextCairo.cpp: Update interface with new signature so it still compiles

Ditto.... And in a couple of other lines as well.
Comment 3 Rik Cabanier 2013-01-16 17:03:40 PST
Created attachment 183065 [details]
Comment 4 Dirk Schulze 2013-01-16 22:15:56 PST
Comment on attachment 183065 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=183065&action=review

We discussed the behavior of all the different clip function on IRC. clipPath(Path, WindRule) is not doing the same as clip(Path, WindRule). So it seems indeed the better solution to edit clip() and add the WindRule there.

> Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:995
> +// FIXME: don't ignore the winding rule. https://bugs.webkit.org/show_bug.cgi?id=107065
> +void GraphicsContext::clip(const Path& path, WindRule)

usually we put it into the function, but this is not blocking this patch. Just for the future.
Comment 5 WebKit Review Bot 2013-01-16 23:24:42 PST
Comment on attachment 183065 [details]

Clearing flags on attachment: 183065

Committed r139967: <http://trac.webkit.org/changeset/139967>
Comment 6 WebKit Review Bot 2013-01-16 23:24:46 PST
All reviewed patches have been landed.  Closing bug.