123456789101112131415161718192021222324252627282930313233343536373839 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- #pragma warning disable
- namespace 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";
- }
- }
- }
- #pragma warning restore
|