parse
This is a convenience function that constructs a GskPath
from a serialized form.
The string is expected to be in (a superset of) SVG path syntax, as e.g. produced by method@Gsk.Path.to_string.
A high-level summary of the syntax:
M x y
Move to(x, y)
L x y
Add a line from the current point to(x, y)
Q x1 y1 x2 y2
Add a quadratic Bézier from the current point to(x2, y2)
, with control point(x1, y1)
C x1 y1 x2 y2 x3 y3
Add a cubic Bézier from the current point to(x3, y3)
, with control points(x1, y1)
and(x2, y2)
Z
Close the contour by drawing a line back to the start pointH x
Add a horizontal line from the current point to the given x valueV y
Add a vertical line from the current point to the given y valueT x2 y2
Add a quadratic Bézier, using the reflection of the previous segments' control point as control pointS x2 y2 x3 y3
Add a cubic Bézier, using the reflection of the previous segments' second control point as first control pointA rx ry r l s x y
Add an elliptical arc from the current point to(x, y)
with radii rx and ry. See the SVG documentation for how the other parameters influence the arc.O x1 y1 x2 y2 w
Add a rational quadratic Bézier from the current point to(x2, y2)
with control point(x1, y1)
and weightw
.
All the commands have lowercase variants that interpret coordinates relative to the current point.
The O
command is an extension that is not supported in SVG.
Return
a new GskPath
, or NULL
if @string could not be parsed
Since
4.14
Parameters
a string