// THIS FILE IS PART OF SVG PROJECT // THE SVG PROJECT IS AN OPENSOURCE LIBRARY LICENSED UNDER THE MS-PL License. // COPYRIGHT (C) svg-net. ALL RIGHTS RESERVED. // GITHUB: https://github.com/svg-net/SVG namespace AntdUI.Svg.Pathing { public sealed class SvgClosePathSegment : SvgPathSegment { public override void AddToPath(System.Drawing.Drawing2D.GraphicsPath graphicsPath) { var pathData = graphicsPath.PathData; if (pathData.Points.Length > 0) { // Important for custom line caps. Force the path the close with an explicit line, not just an implicit close of the figure. if (!pathData.Points[0].Equals(pathData.Points[pathData.Points.Length - 1])) { int i = pathData.Points.Length - 1; while (i >= 0 && pathData.Types[i] > 0) i--; if (i < 0) i = 0; graphicsPath.AddLine(pathData.Points[pathData.Points.Length - 1], pathData.Points[i]); } graphicsPath.CloseFigure(); } } public override string ToString() { return "z"; } } }