Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
            }
        }