parse

fun parse(string: String): Path?

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 point

  • H x Add a horizontal line from the current point to the given x value

  • V y Add a vertical line from the current point to the given y value

  • T x2 y2 Add a quadratic Bézier, using the reflection of the previous segments' control point as control point

  • S x2 y2 x3 y3 Add a cubic Bézier, using the reflection of the previous segments' second control point as first control point

  • A 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 weight w.

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

string

a string