GskRenderNode

描述 [源代码]

abstract class Gsk.RenderNode : GObject.TypeInstance
{
  /* No available fields */
}

GskRenderNode 是场景图中的基本模块,可通过 GskRenderer 进行渲染。

除了顶层节点,每个节点有一个父节点,每个节点可能有多个子节点。

每个节点都有一个关联的绘图表面,此表面的大小在创建时通过矩形进行设置。

渲染节点被设计为临时的;一旦将其与 GskRenderer 相关联,便可以安全地释放它们上的所有引用。所有 GskRenderNode 都是不可变的,你只能在结构期间指定其属性。

函数

gsk_render_node_deserialize

加载之前通过 gsk_render_node_serialize() 创建的数据。

实例方法

gsk_render_node_draw

在 cairo 上下文中绘制渲染节点的内容。

gsk_render_node_get_bounds

获取 node 的边界。

gsk_render_node_get_node_type

返回渲染节点的类型。

gsk_render_node_get_opaque_rect

获取节点内的一个不透明矩形,GTK 可以将其确定为完全不透明。

自版本:4.16 起

gsk_render_node_ref

获取给定 GskRenderNode 的引用。

gsk_render_node_serialize

序列化 node 以供以后通过 gsk_render_node_deserialize() 反序列化。除了 GTK 的相同版本将能够反序列化对 gsk_render_node_serialize() 的调用的结果以及 gsk_render_node_deserialize() 将正确拒绝无法打开且是由 GTK 的以前版本创建的文件以外,不对所用格式做出任何保证。

gsk_render_node_unref

释放给定 GskRenderNode 的引用。

gsk_render_node_write_to_file

此函数等同于调用 gsk_render_node_serialize() 后跟 g_file_set_contents()