Exemplo n.º 1
0
        public override void DrawLine(Pen pen, Point point0, Point point1)
        {
            VerifyNotClosed();

            if (innerContext != null)
            {
                innerContext.DrawLine(pen, point0, point1);
                return;
            }

            IDrawingGeometryRenderElement child = GetChild(factory.CreateDrawingGeometryRenderElement);

            LineGeometry geometry = child.Geometry as LineGeometry;

            if (geometry == null)
            {
                geometry = new LineGeometry();
            }

            geometry.StartPoint = point0;
            geometry.EndPoint   = point1;

            child.Stroke          = pen?.Brush;
            child.StrokeThickness = pen?.Thickness ?? 0;
            child.Geometry        = geometry;
        }
Exemplo n.º 2
0
        public override void DrawRoundedRectangle(Brush brush, Pen pen, Rect rectangle, double radiusX, double radiusY)
        {
            VerifyNotClosed();

            if (innerContext != null)
            {
                innerContext.DrawRoundedRectangle(brush, pen, rectangle, radiusX, radiusY);
                return;
            }

            IDrawingGeometryRenderElement child = GetChild(factory.CreateDrawingGeometryRenderElement);

            RectangleGeometry geometry = child.Geometry as RectangleGeometry;

            if (geometry == null)
            {
                geometry = new RectangleGeometry();
            }

            geometry.Rect    = rectangle;
            geometry.RadiusX = radiusX;
            geometry.RadiusY = radiusY;

            child.Fill            = brush;
            child.Stroke          = pen?.Brush;
            child.StrokeThickness = pen?.Thickness ?? 0;
            child.Geometry        = geometry;
        }
Exemplo n.º 3
0
        public override void DrawEllipse(Brush brush, Pen pen, Point center, double radiusX, double radiusY)
        {
            VerifyNotClosed();

            if (innerContext != null)
            {
                innerContext.DrawEllipse(brush, pen, center, radiusX, radiusY);
                return;
            }

            IDrawingGeometryRenderElement child = GetChild(factory.CreateDrawingGeometryRenderElement);

            EllipseGeometry geometry = child.Geometry as EllipseGeometry;

            if (geometry == null)
            {
                geometry = new EllipseGeometry();
            }

            geometry.Center  = center;
            geometry.RadiusX = radiusX;
            geometry.RadiusY = radiusY;

            child.Fill            = brush;
            child.Stroke          = pen?.Brush;
            child.StrokeThickness = pen?.Thickness ?? 0;
            child.Geometry        = geometry;
        }
Exemplo n.º 4
0
        public override void DrawGeometry(Brush brush, Pen pen, Geometry geometry)
        {
            VerifyNotClosed();

            if (innerContext != null)
            {
                innerContext.DrawGeometry(brush, pen, geometry);
                return;
            }

            IDrawingGeometryRenderElement child = GetChild(factory.CreateDrawingGeometryRenderElement);

            child.Fill            = brush;
            child.Stroke          = pen?.Brush;
            child.StrokeThickness = pen?.Thickness ?? 0;
            child.Geometry        = geometry;
        }