uno
uno copied to clipboard
Implement Composition Shapes/Paths, Easing Functions, Geometry Animations, and more
PR Type
- Bugfix
- Feature
What is the current behavior?
N/A
What is the new behavior?
- Implement all of Composition Easing Functions (Back, Bounce, Circle, Cubic Bezier, Elastic, Exponential, Linear, Power, Sine, and Step):
https://github.com/user-attachments/assets/4dfb7940-19dc-4a16-aa19-f88ac71f1bcf
- Implement Composition Shapes and Paths (CompositionShape, CompositionSpriteShape, ShapeVisual, CompositionPath, CompositionPathGeometry, CompositionEllipseGeometry, CompositionGeometry Trimming and Animations support):
https://github.com/user-attachments/assets/68a7d36c-f4dc-43e5-944d-49de470fa9ad
-
Implement Win2D and D2D1 Geometry and Paths APIs including:
- [Win2D] CanvasDevice
- [Win2D] CanvasGeometry
- [Win2D] CanvasPathBuilder
- [D2D1] ID2D1Geometry
- [D2D1] ID2D1GeometrySink
- [D2D1] ID2D1EllipseGeometry
- [D2D1] ID2D1PathGeometry
- [D2D1] ID2D1RectangleGeometry
- [D2D1] ID2D1RoundedRectangleGeometry
- [D2D1] ID2D1SimplifiedGeometrySink
- [WGI <--> D2D1] IGeometrySource2DInterop
-
Implement Composition AnimationController and all Composition features required for Composition-based Lottie animations (such as WinUI's AnimatedIcons)
-
Implement Composition Path Clipping
-
High DPI support for ISkiaSurface, CompositionSurfaceBrush, and CompositionVisualSurface
-
[Bugfix] Fix RedirectVisual, CompositionNineGridBrush, and CompositionMaskBrush not rendering
-
[Bugfix] Fix deadlock when animating CompositionObjects' sub-properties
PR Checklist
Please check if your PR fulfills the following requirements:
- [ ] Docs have been added/updated which fit documentation template (for bug fixes / features)
- [x] Unit Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
- [x] Validated PR
Screenshots Compare Test Run
results. - [x] Contains NO breaking changes
- [ ] Associated with an issue (GitHub or internal) and uses the automatic close keywords.
- [x] Commits must be following the Conventional Commits specification.
Other information
Win2D and D2D1 Geometry and Paths APIs are currently internal and not exposed to users