uno icon indicating copy to clipboard operation
uno copied to clipboard

Implement Composition Shapes/Paths, Easing Functions, Geometry Animations, and more

Open ahmed605 opened this issue 5 months ago • 11 comments

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:

Other information

Win2D and D2D1 Geometry and Paths APIs are currently internal and not exposed to users

ahmed605 avatar Sep 21 '24 19:09 ahmed605