public static void Write(this StreamGeometryContext ctx, Geometry geometry) { switch (geometry) { case GeometryGroup geometryGroup: ctx.Write(geometryGroup); break; case PathGeometry pathGeometry: ctx.Write(pathGeometry); break; case LineGeometry lineGeometry: ctx.Write(lineGeometry); break; case RectangleGeometry rectangleGeometry: ctx.Write(rectangleGeometry); break; case EllipseGeometry ellipseGeometry: ctx.Write(ellipseGeometry); break; default: break; } }
public static StreamGeometry ToStreamGeometry(this Geometry geometry) { var streamGeometry = geometry as StreamGeometry; if (streamGeometry == null) { streamGeometry = new StreamGeometry(); switch (geometry) { case GeometryGroup geometryGroup: streamGeometry.FillRule = geometryGroup.FillRule; break; case PathGeometry pathGeometry: streamGeometry.FillRule = pathGeometry.FillRule; break; default: break; } using (StreamGeometryContext ctx = streamGeometry.Open()) { ctx.Write(geometry); }; } return(streamGeometry); }
public static void Write(this StreamGeometryContext ctx, Geometry geometry) { switch (geometry) { case GeometryGroup geometryGroup: ctx.Write(geometryGroup); break; case PathGeometry pathGeometry: ctx.Write(pathGeometry); break; default: break; } }