结构体

GskPathBuilder

since: 4.14

描述 [src]

struct GskPathBuilder {
  /* No available fields */
}

构建 GskPath 对象的辅助对象。

路径构建方式如下

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);

将轮廓添加到路径可以通过两种方式完成。最简单的方法是使用 gsk_path_builder_add_* 系列函数,这些函数将预定义的轮廓添加到当前路径,例如常见的形状如 gsk_path_builder_add_circle() 或从其他路径添加,如 gsk_path_builder_add_path()

gsk_path_builder_add_* 方法始终添加完整的轮廓,不使用也不修改当前点。

另一种选项是使用 gsk_path_builder_*_to 系列函数手动定义每条线和曲线。首先调用 gsk_path_builder_move_to() 来设置起点,然后使用任意绘图函数的多次调用来沿着平面移动笔。完成之后,可以调用 gsk_path_builder_close() 来通过连接回到起点的线来关闭路径。

这与 Cairo 中的路径绘制方式类似。

请注意,GskPathBuilder 会尽可能减少添加的 Bézier 曲线的阶数,以简化渲染。

since: 4.14

构造函数

gsk_path_builder_new

创建一个新的 GskPathBuilder 对象。

since: 4.14

实例方法

gsk_path_builder_add_cairo_path

将 Cairo 路径添加到构建器。

since: 4.14

gsk_path_builder_add_circle

将圆形作为新的轮廓添加。

since: 4.14

gsk_path_builder_add_layout

layout 中的字形轮廓添加到构建器。

since: 4.14

gsk_path_builder_add_path

path 的所有内容追加到构建器。

since: 4.14

gsk_path_builder_add_rect

将矩形作为新的轮廓添加。

since: 4.14

gsk_path_builder_add_reverse_path

path 的所有内容以相反的顺序追加到构建器。

since: 4.14

gsk_path_builder_add_rounded_rect

将圆角矩形作为新的轮廓添加。

since: 4.14

gsk_path_builder_add_segment

将路径的一段添加到构建器。

since: 4.14

gsk_path_builder_arc_to

从当前点添加到 x2y2 之间的椭圆弧,x1y1 用于确定切线方向。

since: 4.14

gsk_path_builder_close

通过一条线回到起点来结束当前轮廓。

since: 4.14

gsk_path_builder_conic_to

从当前点到 x2y2 添加一个非均匀有理B样条曲线(conic curve),以给定的 weight 和控制点 x1y1 为参数。

since: 4.14

gsk_path_builder_cubic_to

从当前点添加一个三次贝塞尔曲线(cubic Bézier curve)到 x3y3,控制点为 x1y1x2y2

since: 4.14

gsk_path_builder_free_to_path

从构建器的当前状态创建一个新的路径,并取消对构建器的引用。

since: 4.14

gsk_path_builder_get_current_point

获取当前点。

since: 4.14

gsk_path_builder_html_arc_to

根据 HTML Canvas 规范实现 arc-to。

since: 4.14

gsk_path_builder_line_to

从当前点到 xy 绘制一条线并使其成为新的当前点。

since: 4.14

gsk_path_builder_move_to

将画笔置于 xy 处开始新的轮廓。

since: 4.14

gsk_path_builder_quad_to

从当前点添加一个二次贝塞尔曲线(quadratic Bézier curve)到 x2y2,控制点为 x1y1

since: 4.14

gsk_path_builder_ref

在给定的构建器上获取引用。

since: 4.14

gsk_path_builder_rel_arc_to

从当前点添加到 x2y2 之间的椭圆弧,x1y1 用于确定切线方向。

since: 4.14

gsk_path_builder_rel_conic_to

从当前点到 x2y2 添加一个非均匀有理B样条曲线(conic curve),以给定的 weight 和控制点 x1y1 为参数。

since: 4.14

gsk_path_builder_rel_cubic_to

从当前点添加一个三次贝塞尔曲线(cubic Bézier curve)到 x3y3,控制点为 x1y1x2y2

since: 4.14

gsk_path_builder_rel_html_arc_to

根据 HTML Canvas 规范实现 arc-to。

since: 4.14

gsk_path_builder_rel_line_to

从当前点绘制一条线到偏移 xy 的点,并使其成为新的当前点。

since: 4.14

gsk_path_builder_rel_move_to

将画笔置于相对于当前点的 xy 处开始新的轮廓。

since: 4.14

gsk_path_builder_rel_quad_to

从当前点添加一个二次贝塞尔曲线(quadratic Bézier curve)到 x2y2,控制点为 x1y1

since: 4.14

gsk_path_builder_rel_svg_arc_to

根据 SVG 规范实现 arc-to。

since: 4.14

gsk_path_builder_svg_arc_to

根据 SVG 规范实现 arc-to。

since: 4.14

gsk_path_builder_to_path

从给定的构建器中创建一个新的路径。

since: 4.14

gsk_path_builder_unref

释放给定构建器的引用。

since: 4.14