Struct
GskPathBuilder
since: 4.14
Description [src]
struct GskPathBuilder {
/* No available fields */
}
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 gsk_path_builder_add_circle()
or by adding from other paths like gsk_path_builder_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 gsk_path_builder_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
gsk_path_builder_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.
Available since: 4.14
Instance methods
gsk_path_builder_arc_to
Adds an elliptical arc from the current point to x2
, y2
with x1
, y1
determining the tangent directions.
since: 4.14
gsk_path_builder_conic_to
Adds a conic curve
from the current point to x2
, y2
with the given weight
and x1
, y1
as the
control point.
since: 4.14
gsk_path_builder_cubic_to
Adds a cubic Bézier curve
from the current point to x3
, y3
with x1
, y1
and x2
, y2
as the control points.
since: 4.14
gsk_path_builder_free_to_path
Creates a new path from the current state of the builder, and unrefs the builder.
since: 4.14
gsk_path_builder_line_to
Draws a line from the current point to x
, y
and makes it
the new current point.
since: 4.14
gsk_path_builder_quad_to
Adds a quadratic Bézier curve
from the current point to x2
, y2
with x1
, y1
as the control point.
since: 4.14
gsk_path_builder_rel_arc_to
Adds an elliptical arc from the current point to x2
, y2
with x1
, y1
determining the tangent directions.
since: 4.14
gsk_path_builder_rel_conic_to
Adds a conic curve
from the current point to x2
, y2
with the given weight
and x1
, y1
as the
control point.
since: 4.14
gsk_path_builder_rel_cubic_to
Adds a cubic Bézier curve
from the current point to x3
, y3
with x1
, y1
and x2
, y2
as the control points.
since: 4.14
gsk_path_builder_rel_line_to
Draws a line from the current point to a point offset from it
by x
, y
and makes it the new current point.
since: 4.14
gsk_path_builder_rel_move_to
Starts a new contour by placing the pen at x
, y
relative to the current point.
since: 4.14
gsk_path_builder_rel_quad_to
Adds a quadratic Bézier curve
from the current point to x2
, y2
with x1
, y1
the control point.
since: 4.14