From eef1704fda2e15a6baca6cdc0846e807466bcde2 Mon Sep 17 00:00:00 2001 From: susloparov Date: Tue, 8 Dec 2015 03:13:26 +0600 Subject: [PATCH] Added DashLineCap, StartLineCap, EndLineCap to the Shape. Fixed properties assignment order in Pen constructor. --- src/Perspex.Controls/Shapes/Shape.cs | 9 ++++++++- src/Perspex.SceneGraph/Media/Pen.cs | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Perspex.Controls/Shapes/Shape.cs b/src/Perspex.Controls/Shapes/Shape.cs index 58dc24a738..fcd1fc20fe 100644 --- a/src/Perspex.Controls/Shapes/Shape.cs +++ b/src/Perspex.Controls/Shapes/Shape.cs @@ -90,13 +90,20 @@ namespace Perspex.Controls.Shapes set { SetValue(StrokeThicknessProperty, value); } } + public PenLineCap DashCap { get; set; } = PenLineCap.Flat; + + public PenLineCap StartLineCap { get; set; } = PenLineCap.Flat; + + public PenLineCap EndLineCap { get; set; } = PenLineCap.Flat; + public override void Render(DrawingContext context) { var geometry = RenderedGeometry; if (geometry != null) { - var pen = new Pen(Stroke, StrokeThickness, new DashStyle(StrokeDashArray)); + var pen = new Pen(Stroke, StrokeThickness, new DashStyle(StrokeDashArray), + DashCap, StartLineCap, EndLineCap); context.DrawGeometry(Fill, pen, geometry); } } diff --git a/src/Perspex.SceneGraph/Media/Pen.cs b/src/Perspex.SceneGraph/Media/Pen.cs index cc14ae29d6..489860a87a 100644 --- a/src/Perspex.SceneGraph/Media/Pen.cs +++ b/src/Perspex.SceneGraph/Media/Pen.cs @@ -31,12 +31,12 @@ namespace Perspex.Media { Brush = brush; Thickness = thickness; + DashCap = dashCap; StartLineCap = startLineCap; EndLineCap = endLineCap; LineJoin = lineJoin; MiterLimit = miterLimit; DashStyle = dashStyle; - DashCap = dashCap; } ///