This project is read-only.
1
Vote

m Command not working

description

A second m (lowercase m) command is not executed correctly when the last path element is closed with a z command. The z command has no valid start and end point, thea are always zero.

Solution:
Modify construktor of SvgClosePathSegment (Visual Basic Code):
   Public Sub New(ByVal Start As PointF, ByVal [End] As PointF)
      MyBase.New(Start, [End])
   End Sub
In method Parse of SvgPathBuilder:
1) Add a local variable
    Dim mStartOfActElement As PointF
2) Fill this variable when executing an M or m command
          Case "M"c, "m"c
              mSegments.Add(New SvgMoveToSegment(ToAbsolute(mCoords.Item(0), mCoords.Item(1), mSegments, mIsRelative)))
              mStartOfActElement = mSegments.Last.End
              ...
3) Use it when executing the z command
           Case "Z"c, "z"c 
              mSegments.Add(New SvgClosePathSegment(mSegments.Last.End, mStartOfActElement))
              ...

comments