Gnome::Gsk4::T-path
Class initialization
new
Initialization of a type class is simple and only needed when the standalone functions are used.
method new ( )
Bitfields
GskPathForeachFlags
Flags that can be passed to .foreach()
to influence what kinds of operations the path is decomposed into.
By default, .foreach()
will only emit a path with all operations flattened to straight lines to allow for maximum compatibility. The only operations emitted will be GSK_PATH_MOVE, GSK_PATH_LINE and GSK_PATH_CLOSE.
GSK_PATH_FOREACH_ALLOW_ONLY_LINES
; The default behavior, only allow lines.GSK_PATH_FOREACH_ALLOW_QUAD
; Allow emission of GSK_PATH_QUAD operationsGSK_PATH_FOREACH_ALLOW_CUBIC
; Allow emission of GSK_PATH_CUBIC operations.GSK_PATH_FOREACH_ALLOW_CONIC
; Allow emission of GSK_PATH_CONIC operations.
Callback Functions
PathForeachFunc
Signature
:( GEnum $op, N-Object $pts, Int() $n-pts, Num() $weight, gpointer $user-data )
op; The operation
pts; The points of the operation
n-pts; The number of points
weight; The weight for conic curves, or unused if not a conic curve
user-data; The user data provided with the function
Standalone Functions
path-parse
This is a convenience function that constructs a Gnome::Gsk4::N-Path from a serialized form.
The string is expected to be in (a superset of) [SVG path syntax](https://www.w3.org/TR/SVG11/paths.html#PathData), as e.g. produced by .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.
method path-parse ( Str $string --> N-Object )
$string; a string.
Return value; a new Gnome::Gsk4::N-Path, or undefined if $string
could not be parsed.