PathBuilder
GskPathBuilder
is an auxiliary object for constructing GskPath
objects.
A path is constructed like this:
|[ GskPath * construct_path (void) { GskPathBuilder *builder;
builder = gsk_path_builder_new ();
// add contours to the path here
return gsk_path_builder_free_to_path (builder); ]|
Adding contours to the path can be done in two ways. The easiest option is to use the gsk_path_builder_add_*
group of functions that add predefined contours to the current path, either common shapes like method@Gsk.PathBuilder.add_circle or by adding from other paths like method@Gsk.PathBuilder.add_path.
The gsk_path_builder_add_*
methods always add complete contours, and do not use or modify the current point.
The other option is to define each line and curve manually with the gsk_path_builder_*_to
group of functions. You start with a call to method@Gsk.PathBuilder.move_to to set the starting point and then use multiple calls to any of the drawing functions to move the pen along the plane. Once you are done, you can call method@Gsk.PathBuilder.close to close the path by connecting it back with a line to the starting point.
This is similar to how paths are drawn in Cairo.
Note that GskPathBuilder
will reduce the degree of added Bézier curves as much as possible, to simplify rendering.
Skipped during bindings generation
parameter
path
: cairo.Path
Since
4.14
Constructors
Functions
Appends all of @path to the builder, in reverse order.
Adds @rect as a new contour to the path built in @self.
Adds to @self the segment of @path from @start to @end.
Adds a conic curve from the current point to @x2, @y2 with the given @weight and @x1, @y1 as the control point.
Adds a cubic Bézier curve from the current point to @x3, @y3 with @x1, @y1 and @x2, @y2 as the control points.
Creates a new GskPath
from the current state of the given builder, and unrefs the @builder instance.
Gets the current point.
Adds a quadratic Bézier curve from the current point to @x2, @y2 with @x1, @y1 as the control point.
Acquires a reference on the given builder.
Adds a conic curve from the current point to @x2, @y2 with the given @weight and @x1, @y1 as the control point.
Adds a cubic Bézier curve from the current point to @x3, @y3 with @x1, @y1 and @x2, @y2 as the control points.
Implements arc-to according to the HTML Canvas spec.
Adds a quadratic Bézier curve from the current point to @x2, @y2 with @x1, @y1 the control point.
Implements arc-to according to the SVG spec.