This class is used to iterate the subpaths in a
GraphicsPath object.
It can be constructed from a GraphicsPath object,
and you can then step through the markers, subpaths, or connected
line segments of the same type using the NextMarker(), NextSubpath(), and
NextPathType() methods.
The Enumerate() function copies the path data
into the specified arrays, and the CopyData()
method allows you to copy just the path segments in a particular
range (as retrieved from the enumeration methods mentioned above).
public sealed class GraphicsPathIterator : MarshalByRefObject : IDisposable {
// Public Constructors
public GraphicsPathIterator(GraphicsPath path);
// Public Instance Properties
public int Count{get; }
public int SubpathCount{get; }
// Public Instance Methods
public int CopyData(ref System.Drawing.PointF[ ] points, ref byte[ ] types, int startIndex, int endIndex);
public void Dispose(); // implements IDisposable
public int Enumerate(ref System.Drawing.PointF[ ] points, ref byte[ ] types);
public bool HasCurve();
public int NextMarker(GraphicsPath path);
public int NextMarker(out int startIndex, out int endIndex);
public int NextPathType(out byte pathType, out int startIndex, out int endIndex);
public int NextSubpath(GraphicsPath path, out bool isClosed);
public int NextSubpath(out int startIndex, out int endIndex, out bool isClosed);
public void Rewind();
// Protected Instance Methods
protected override void Finalize(); // overrides object
}