// ----------------------------------------------------------------------- // // Copyright 2014 MIT Licence. See licence.md for more information. // // ----------------------------------------------------------------------- namespace Perspex.Direct2D1.Media { using System; using Perspex.Media; using Perspex.Platform; using SharpDX.Direct2D1; using Splat; public class StreamGeometryImpl : GeometryImpl, IStreamGeometryImpl { private PathGeometry geometry; public StreamGeometryImpl() { Factory factory = Locator.Current.GetService(); this.geometry = new PathGeometry(factory); this.Geometry = this.geometry; } public override Rect Bounds { get { return geometry.GetBounds().ToPerspex(); } } public override Rect GetRenderBounds(double strokeThickness) { return geometry.GetWidenedBounds((float)strokeThickness).ToPerspex(); } public IStreamGeometryContextImpl Open() { return new StreamGeometryContextImpl(geometry.Open()); } } }