From 59740cdec85f4c5564e8861447bd4121c1aa79e2 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 11 Sep 2015 21:00:28 +0300 Subject: [PATCH] Html: added DashStyle support --- .../Adapters/PenAdapter.cs | 42 +++++++------------ 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/src/Perspex.HtmlRenderer/Adapters/PenAdapter.cs b/src/Perspex.HtmlRenderer/Adapters/PenAdapter.cs index 1531f058ce..fa0960cf3f 100644 --- a/src/Perspex.HtmlRenderer/Adapters/PenAdapter.cs +++ b/src/Perspex.HtmlRenderer/Adapters/PenAdapter.cs @@ -10,6 +10,7 @@ // - Sun Tsu, // "The Art of War" +using System.Collections.Generic; using Perspex.Media; using TheArtOfDev.HtmlRenderer.Adapters; using TheArtOfDev.HtmlRenderer.Adapters.Entities; @@ -31,6 +32,8 @@ namespace TheArtOfDev.HtmlRenderer.Perspex.Adapters /// private double _width; + private DashStyle _dashStyle; + /// /// the dash style of the pen /// @@ -52,41 +55,24 @@ namespace TheArtOfDev.HtmlRenderer.Perspex.Adapters public override RDashStyle DashStyle { - set - { - //TODO: Implement DashStyles - /* - switch (value) - { - case RDashStyle.Solid: - _dashStyle = DashStyles.Solid; - break; - case RDashStyle.Dash: - _dashStyle = DashStyles.Dash; - break; - case RDashStyle.Dot: - _dashStyle = DashStyles.Dot; - break; - case RDashStyle.DashDot: - _dashStyle = DashStyles.DashDot; - break; - case RDashStyle.DashDotDot: - _dashStyle = DashStyles.DashDotDot; - break; - default: - _dashStyle = DashStyles.Solid; - break; - }*/ - } + set { DashStyles.TryGetValue(value, out _dashStyle); } } + private static readonly Dictionary DashStyles = new Dictionary + { + {RDashStyle.Solid,null }, + {RDashStyle.Dash, global::Perspex.Media.DashStyle.Dash }, + {RDashStyle.DashDot, global::Perspex.Media.DashStyle.DashDot }, + {RDashStyle.DashDotDot, global::Perspex.Media.DashStyle.DashDotDot }, + {RDashStyle.Dot, global::Perspex.Media.DashStyle.Dot } + }; + /// /// Create the actual Perspex pen instance. /// public Pen CreatePen() { - var pen = new Pen(_brush, _width); - //pen.DashStyle = _dashStyle; + var pen = new Pen(_brush, _width, _dashStyle); return pen; } }