protected virtual void dispose(bool disposing) { if (!disposed) { disposed = true; if (disposing) { if (DeviceContext != null) { Direct2dFactory.Dispose(); DirectWriteFactory.Dispose(); DeviceContext.Device.Dispose(); DeviceContext = null; } } } }
public DrawEllipse() : base() { StrokeStyleProperties style = new StrokeStyleProperties(dashCap: CapStyle.Triangle, miterLimit: 10.0f, dashStyle: DashStyle.DashDotDot); _dashDotDotStyle = Direct2dFactory.CreateStrokeStyle(style); }
public PathGeometries() : base() { // Left mountain _leftMountainGeometry = Direct2dFactory.CreatePathGeometry(); var sink = _leftMountainGeometry.Open(); sink.SetFillMode(FillMode.Winding); sink.BeginFigure(new PointF(346, 255), FigureBegin.Filled); Span <PointF> lines = stackalloc PointF[] { new PointF(267, 177), new PointF(236, 192), new PointF(212, 160), new PointF(156, 255), new PointF(346, 255) }; sink.AddLines(lines); sink.EndFigure(FigureEnd.Closed); sink.Close(); // Right mountain _rightMountainGeometry = Direct2dFactory.CreatePathGeometry(); sink = _rightMountainGeometry.Open(); sink.SetFillMode(FillMode.Winding); sink.BeginFigure(new PointF(575, 263), FigureBegin.Filled); lines = stackalloc PointF[] { new PointF(481, 146), new PointF(449, 181), new PointF(433, 159), new PointF(401, 214), new PointF(381, 199), new PointF(323, 263), new PointF(575, 263) }; sink.AddLines(lines); sink.EndFigure(FigureEnd.Closed); sink.Close(); // Sun _sunGeometry = Direct2dFactory.CreatePathGeometry(); sink = _sunGeometry.Open(); sink.SetFillMode(FillMode.Winding); sink.BeginFigure(new PointF(270, 255), FigureBegin.Filled); sink.AddArc(new ArcSegment(new PointF(440, 255), new SizeF(85, 85))); sink.EndFigure(FigureEnd.Closed); sink.BeginFigure(new PointF(299, 182), FigureBegin.Hollow); sink.AddBezier((299, 182), (294, 176), (285, 178)); sink.AddBezier((276, 179), (272, 173), (272, 173)); sink.EndFigure(FigureEnd.Open); sink.BeginFigure(new PointF(354, 156), FigureBegin.Hollow); sink.AddBezier((354, 156), (358, 149), (354, 142)); sink.AddBezier((349, 134), (354, 127), (354, 127)); sink.EndFigure(FigureEnd.Open); sink.BeginFigure(new PointF(322, 164), FigureBegin.Hollow); sink.AddBezier((322, 164), (322, 156), (314, 152)); sink.AddBezier((306, 149), (305, 141), (305, 141)); sink.EndFigure(FigureEnd.Open); sink.BeginFigure(new PointF(385, 164), FigureBegin.Hollow); sink.AddBezier((385, 164), (392, 161), (394, 152)); sink.AddBezier((395, 144), (402, 141), (402, 142)); sink.EndFigure(FigureEnd.Open); sink.BeginFigure(new PointF(408, 182), FigureBegin.Hollow); sink.AddBezier((408, 182), (416, 184), (422, 178)); sink.AddBezier((428, 171), (435, 173), (435, 173)); sink.EndFigure(FigureEnd.Open); sink.Close(); // River _riverGeometry = Direct2dFactory.CreatePathGeometry(); sink = _riverGeometry.Open(); sink.SetFillMode(FillMode.Winding); sink.BeginFigure(new PointF(183, 392), FigureBegin.Filled); sink.AddBezier((238, 284), (472, 345), (356, 303)); sink.AddBezier((237, 261), (333, 256), (333, 256)); sink.AddBezier((335, 257), (241, 261), (411, 306)); sink.AddBezier((574, 350), (288, 324), (296, 392)); sink.EndFigure(FigureEnd.Open); sink.Close(); }