Function

GskPathparse

since: 4.14

Declaration [src]

GskPath*
gsk_path_parse (
  const char* string
)

Description [src]

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 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.

Available since: 4.14

Parameters

string

Type: const char*

A string.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.

Return value

Type: GskPath

A new GskPath, or NULL if string could not be parsed.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.