@@ -8,31 +8,40 @@ namespace SixLabors.ImageSharp.Drawing.Processing
88 /// <summary>
99 /// Interface representing the pattern and size of the stroke to apply with a Pen.
1010 /// </summary>
11- public interface IPen
11+ public interface IPen : IEquatable < IPen >
1212 {
1313 /// <summary>
1414 /// Gets the stroke fill.
1515 /// </summary>
1616 IBrush StrokeFill { get ; }
1717
18- /// <summary>
19- /// Gets the width to apply to the stroke
20- /// </summary>
21- float StrokeWidth { get ; }
18+ ///// <summary>
19+ ///// Gets the width to apply to the stroke
20+ ///// </summary>
21+ // float StrokeWidth { get; }
2222
23- /// <summary>
24- /// Gets the stoke pattern.
25- /// </summary>
26- ReadOnlySpan < float > StrokePattern { get ; }
23+ ///// <summary>
24+ ///// Gets the stoke pattern.
25+ ///// </summary>
26+ // ReadOnlySpan<float> StrokePattern { get; }
2727
28- /// <summary>
29- /// Gets or sets the stroke joint style
30- /// </summary>
31- public JointStyle JointStyle { get ; set ; }
28+ ///// <summary>
29+ ///// Gets or sets the stroke joint style
30+ ///// </summary>
31+ //public JointStyle JointStyle { get; set; }
32+
33+ ///// <summary>
34+ ///// Gets or sets the stroke endcap style
35+ ///// </summary>
36+ //public EndCapStyle EndCapStyle { get; set; }
3237
3338 /// <summary>
34- /// Gets or sets the stroke endcap style
39+ /// Applies the styleing from the pen to a path and generate a new path with the final vector.
3540 /// </summary>
36- public EndCapStyle EndCapStyle { get ; set ; }
41+ /// <param name="path">the source path</param>
42+ /// <param name="defaultWidth">the default width to apply if the pen does not have one.</param>
43+ /// <returns>the path withthe pen styleing applied</returns>
44+ public IPath GeneratePath ( IPath path , float ? defaultWidth = null ) ;
45+
3746 }
3847}
0 commit comments