Struct
GskPathBuilder
unstable since: 4.14
Description [src]
struct GskPathBuilder {
/* No available fields */
}
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 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_add_layout
Adds the outlines for the glyphs in layout
to the builder.
unstable since: 4.14
gsk_path_builder_add_rect
Adds rect
as a new contour to the path built by the builder.
unstable since: 4.14
gsk_path_builder_add_reverse_path
Appends all of path
to the builder, in reverse order.
unstable since: 4.14
gsk_path_builder_add_rounded_rect
Adds rect
as a new contour to the path built in self
.
unstable since: 4.14
gsk_path_builder_add_segment
Adds to self
the segment of path
from start
to end
.
unstable since: 4.14
gsk_path_builder_arc_to
Adds an elliptical arc from the current point to x3
, y3
with x1
, y1
determining the tangent directions.
unstable since: 4.14
gsk_path_builder_close
Ends the current contour with a line back to the start point.
unstable 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.
unstable 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.
unstable since: 4.14
gsk_path_builder_free_to_path
Creates a new GskPath
from the current state of the
given builder, and unrefs the builder
instance.
unstable since: 4.14
gsk_path_builder_html_arc_to
Implements arc-to according to the HTML Canvas spec.
unstable 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.
unstable 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.
unstable since: 4.14
gsk_path_builder_rel_arc_to
Adds an elliptical arc from the current point to x3
, y3
with x1
, y1
determining the tangent directions.
unstable 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.
unstable 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.
unstable since: 4.14
gsk_path_builder_rel_html_arc_to
Implements arc-to according to the HTML Canvas spec.
unstable 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.
unstable 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.
unstable 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.
unstable since: 4.14