Skip to main content
PathData is an indexed collection of PathCommand objects. Both Path and PathData behave like arrays of commands and support iteration via ipairs.

Methods

__len

Each entry is a PathCommand describing one segment or action in the path.
for i, command in ipairs(pathData) do
  print(i, command.type)
end
Returns the number of commands in the path.
local count = #pathData
print(count)

contours

Returns a ContourMeasure for the first contour in the path. A contour is a sequence of path segments starting at a moveTo and ending before the next moveTo (or end of path). Use the next property on the returned ContourMeasure to iterate through subsequent contours. Returns nil if the path has no contours.
local contour = pathData:contours()
while contour do
  print(contour.length)
  contour = contour.next
end

measure

Returns a PathMeasure that measures the entire path across all contours. This provides the total length and allows operations on the path as a whole.
local measure = pathData:measure()
print(measure.length)