| File: Platform\ShapeExtensions.cs | Web Access |
| Project: src\src\Controls\src\Core\Controls.Core.csproj (Microsoft.Maui.Controls) |
using Microsoft.Maui.Controls.Shapes; using Microsoft.Maui.Graphics; namespace Microsoft.Maui.Controls.Platform { internal static class ShapeExtensions { internal static WindingMode GetPathWindingMode(this IDrawable drawable, IShapeView shapeView) { if (drawable is not ShapeDrawable || shapeView is null || shapeView.Shape is not Path path) return WindingMode.NonZero; var data = path.Data; FillRule fillRule = FillRule.EvenOdd; if (data is GeometryGroup geometryGroup) fillRule = geometryGroup.FillRule; if (data is PathGeometry pathGeometry) fillRule = pathGeometry.FillRule; return fillRule == FillRule.EvenOdd ? WindingMode.EvenOdd : WindingMode.NonZero; } } }