Table of Contents

Interface ISvgPathData

Namespace
PaintDotNet.Direct2D1
Assembly
PaintDotNet.Windows.dll

Interface describing SVG path data. Path data can be set as the 'd' attribute on a 'path' element. The path data set is factored into two arrays. The segment data array stores all numbers and the commands array stores the set of commands. Unlike the string data set in the d attribute, each command in this representation uses a fixed number of elements in the segment data array. Therefore, the path 'M 0,0 100,0 0,100 Z' is represented as: 'M0,0 L100,0 L0,100 Z'. This is split into two arrays, with the segment data containing '0,0 100,0 0,100', and the commands containing 'M L L Z'.
ID2D1SvgPathData

public interface ISvgPathData : ISvgAttribute, IDirect2DResource, IObjectRef, IIsDisposed, IDisposable, IFactoryProperty, IInternalImpl, ICloneable
Inherited Members
Extension Methods

Properties

CommandsCount

Gets the size of the commands array.

SegmentDataCount

Gets the size of the segment data array.

Methods

Clone()

Creates a clone of this attribute value. On creation, the cloned attribute is not set on any element.

CreatePathGeometry(FillMode)

Creates a path geometry object representing the path data.

GetCommands(Span<SvgPathCommand>, int)

Gets commands from the commands array.

GetSegmentData(Span<float>, int)

Gets data from the segment data array.

RemoveCommandsAtEnd(int)

Removes commands from the end of the commands array.

RemoveSegmentDataAtEnd(int)

Removes data from the end of the segment data array.

UpdateCommands(ReadOnlySpan<SvgPathCommand>, int)

Updates the commands array. Existing commands not updated by this method are preserved. The array is resized larger if necessary to accommodate the new commands.

UpdateSegmentData(ReadOnlySpan<float>, int)

Updates the segment data array. Existing segment data not updated by this method are preserved. The array is resized larger if necessary to accommodate the new segment data.