feat: Add clip-path support for iOS - #54700
Conversation
|
@jorge-cab has imported this pull request. If you are a Meta employee, you can view this in D88081125. |
jorge-cab
left a comment
There was a problem hiding this comment.
This looks great! I'll have it go through internal review to catch any funky C++ stuff I might've missed but the logic is very well encapsulated, and its seems to 1:1 match web.
| } | ||
| } // namespace | ||
|
|
||
| std::optional<ClipPath> fromCSSClipPath(const CSSClipPath& cssClipPath) { |
There was a problem hiding this comment.
I think this is missing in the header file
There was a problem hiding this comment.
This function meant to be private and not exposed, so maybe let's put it in anonymous namespace, a I did for the others? (convertLengthPercentageToValueUnit, convertCSSGeometryBox and getOptionalValueUnit).
e8533c4 to
19dac60
Compare
|
This PR is stale because it has been open for 180 days with no activity. It will be closed in 7 days unless you comment on it or remove the "Stale" label. |
|
comment to keep it alive. |
Summary:
This PR adds support for
clip-pathCSS attribute for JS. It follows CSS spec described here. It does not provide support for SVG source (<clip-source>values), what can be added in the additional PR if needed. Supported syntax is[<basic-shape>] || <geometry-box>]with almost full support of every basic shape (<basic-shape> = circle | ellipse | rect | polygon | inset | xywh) and references boxes (<geometry-box> = margin-box | border-box | padding-box | content-box | fill-box | stoke-box | view-box).Work has been split into three PRs for more convenient reviewing process. This part adds iOS support for clipping, path and bounds calculations, native CSS parser.
Changelog:
[IOS] [ADDED] - Add clip-path support for iOS
Test Plan:
Merge JS and Android PRs and run RNTester app.
ClipPathExample.js)CSSClipPathTest.cpp)