[Engine] RSuperellipse.contains that reuses C++ implementation (#164857)
This PR implements `RSuperellipse.contains`. Different from the previous attempt https://github.com/flutter/flutter/pull/164517, this PR leverages the existing C++ implementation via FFI. The biggest outcome of this PR is to enable future work that generates RSE paths in the framework. ## Pre-launch Checklist - [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [ ] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [ ] I added new tests to check the change I am making, or this PR is [test-exempt]. - [ ] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Showing
- engine/src/flutter/impeller/geometry/round_superellipse_unittests.cc 4 additions, 2 deletions...flutter/impeller/geometry/round_superellipse_unittests.cc
- engine/src/flutter/lib/ui/compositing.dart 5 additions, 5 deletionsengine/src/flutter/lib/ui/compositing.dart
- engine/src/flutter/lib/ui/compositing/scene_builder.cc 2 additions, 2 deletionsengine/src/flutter/lib/ui/compositing/scene_builder.cc
- engine/src/flutter/lib/ui/compositing/scene_builder.h 1 addition, 1 deletionengine/src/flutter/lib/ui/compositing/scene_builder.h
- engine/src/flutter/lib/ui/dart_ui.cc 2 additions, 0 deletionsengine/src/flutter/lib/ui/dart_ui.cc
- engine/src/flutter/lib/ui/geometry.dart 102 additions, 33 deletionsengine/src/flutter/lib/ui/geometry.dart
- engine/src/flutter/lib/ui/painting.dart 16 additions, 14 deletionsengine/src/flutter/lib/ui/painting.dart
- engine/src/flutter/lib/ui/painting/canvas.cc 4 additions, 4 deletionsengine/src/flutter/lib/ui/painting/canvas.cc
- engine/src/flutter/lib/ui/painting/canvas.h 2 additions, 2 deletionsengine/src/flutter/lib/ui/painting/canvas.h
- engine/src/flutter/lib/ui/painting/rsuperellipse.cc 63 additions, 35 deletionsengine/src/flutter/lib/ui/painting/rsuperellipse.cc
- engine/src/flutter/lib/ui/painting/rsuperellipse.h 35 additions, 28 deletionsengine/src/flutter/lib/ui/painting/rsuperellipse.h
- engine/src/flutter/lib/web_ui/lib/canvas.dart 2 additions, 2 deletionsengine/src/flutter/lib/web_ui/lib/canvas.dart
- engine/src/flutter/lib/web_ui/lib/compositing.dart 1 addition, 1 deletionengine/src/flutter/lib/web_ui/lib/compositing.dart
- engine/src/flutter/lib/web_ui/lib/geometry.dart 9 additions, 0 deletionsengine/src/flutter/lib/web_ui/lib/geometry.dart
- engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart 7 additions, 3 deletions...c/flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart
- engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart 8 additions, 8 deletions...lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart
- engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart 4 additions, 2 deletions.../web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart
- engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart 2 additions, 2 deletions...er/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart
- engine/src/flutter/lib/web_ui/lib/src/engine/layers.dart 21 additions, 21 deletionsengine/src/flutter/lib/web_ui/lib/src/engine/layers.dart
- engine/src/flutter/lib/web_ui/lib/src/engine/scene_builder.dart 2 additions, 2 deletions.../src/flutter/lib/web_ui/lib/src/engine/scene_builder.dart
Please register or sign in to comment