Top | ![]() |
![]() |
![]() |
![]() |
GskRenderer * | gtk_snapshot_get_renderer () |
void | gtk_snapshot_push () |
void | gtk_snapshot_push_node () |
cairo_t * | gtk_snapshot_push_cairo_node () |
void | gtk_snapshot_pop () |
void | gtk_snapshot_set_transform () |
void | gtk_snapshot_transform () |
void | gtk_snapshot_translate_2d () |
void | gtk_snapshot_append_node () |
GskRenderNode * | gtk_snapshot_append () |
cairo_t * | gtk_snapshot_append_cairo_node () |
gboolean | gtk_snapshot_clips_rect () |
void | gtk_snapshot_render_background () |
void | gtk_snapshot_render_frame () |
void | gtk_snapshot_render_focus () |
void | gtk_snapshot_render_layout () |
void | gtk_snapshot_render_insertion_cursor () |
void | gtk_snapshot_render_icon () |
GtkSnapshot is an auxiliary object that assists in creating GskRenderNodes in the “snapshot” vfunc. It functions in a similar way to a cairo context, and maintains a stack of render nodes and their associated transformations.
The node at the top of the stack is the the one that gtk_snapshot_append_node()
operates on. Use the gtk_snapshot_push_()
and gtk_snapshot_pop()
functions to
change the current node.
The only way to obtain a GtkSnapshot object is as an argument to the “snapshot” vfunc.
GskRenderer *
gtk_snapshot_get_renderer (const GtkSnapshot *snapshot
);
Obtains the GskRenderer that this snapshot will be rendered with.
Since: 3.90
void gtk_snapshot_push (GtkSnapshot *snapshot
,const graphene_rect_t *bounds
,const char *name
,...
);
Creates a new render node, appends it to the current render
node of snapshot
, and makes it the new current render node.
snapshot |
||
bounds |
the bounds for the new node |
|
name |
a |
|
... |
arguments to insert into the format string |
Since: 3.90
void gtk_snapshot_push_node (GtkSnapshot *snapshot
,GskRenderNode *node
);
Appends node
to the current render node of snapshot
,
and makes node
the new current render node.
Since: 3.90
cairo_t * gtk_snapshot_push_cairo_node (GtkSnapshot *snapshot
,const graphene_rect_t *bounds
,const char *name
,...
);
Creates a new render node, appends it to the current render
node of snapshot
, and makes it the new current render node.
snapshot |
||
bounds |
the bounds for the new node |
|
name |
a |
|
... |
arguments to insert into the format string |
Since: 3.90
void
gtk_snapshot_pop (GtkSnapshot *snapshot
);
Removes the top element from the stack of render nodes, making the node underneath the current node again.
Since: 3.90
void gtk_snapshot_set_transform (GtkSnapshot *snapshot
,const graphene_matrix_t *transform
);
Replaces the current transformation with the given transform
.
Since: 3.90
void gtk_snapshot_transform (GtkSnapshot *snapshot
,const graphene_matrix_t *transform
);
Appends transform
to the current transformation.
Since: 3.90
void gtk_snapshot_translate_2d (GtkSnapshot *snapshot
,int x
,int y
);
Appends a translation by (x
, y
) to the current transformation.
Since: 3.90
void gtk_snapshot_append_node (GtkSnapshot *snapshot
,GskRenderNode *node
);
Appends node
to the current render node of snapshot
,
without changing the current node. If snapshot
does
not have a current node yet, node
will become the
initial node.
GskRenderNode * gtk_snapshot_append (GtkSnapshot *snapshot
,const graphene_rect_t *bounds
,const char *name
,...
);
Creates a new render node and appends it to the current render
node of snapshot
, without changing the current node.
snapshot |
||
bounds |
the bounds for the new node |
|
name |
a |
|
... |
arguments to insert into the format string |
Since: 3.90
cairo_t * gtk_snapshot_append_cairo_node (GtkSnapshot *snapshot
,const graphene_rect_t *bounds
,const char *name
,...
);
Creates a new render node and appends it to the current render
node of snapshot
, without changing the current node.
snapshot |
||
bounds |
the bounds for the new node |
|
name |
a |
|
... |
arguments to insert into the format string |
Since: 3.90
gboolean gtk_snapshot_clips_rect (GtkSnapshot *snapshot
,const graphene_rect_t *bounds
);
Tests whether the rectangle is entirely outside the clip region of snapshot
.
Since: 3.90
void gtk_snapshot_render_background (GtkSnapshot *snapshot
,GtkStyleContext *context
,gdouble x
,gdouble y
,gdouble width
,gdouble height
);
Creates a render node for the CSS background according to context
,
and appends it to the current node of snapshot
, without changing
the current node.
snapshot |
||
context |
the GtkStyleContext to use |
|
x |
X origin of the rectangle |
|
y |
Y origin of the rectangle |
|
width |
rectangle width |
|
height |
rectangle height |
Since: 3.90
void gtk_snapshot_render_frame (GtkSnapshot *snapshot
,GtkStyleContext *context
,gdouble x
,gdouble y
,gdouble width
,gdouble height
);
Creates a render node for the CSS border according to context
,
and appends it to the current node of snapshot
, without changing
the current node.
snapshot |
||
context |
the GtkStyleContext to use |
|
x |
X origin of the rectangle |
|
y |
Y origin of the rectangle |
|
width |
rectangle width |
|
height |
rectangle height |
Since: 3.90
void gtk_snapshot_render_focus (GtkSnapshot *snapshot
,GtkStyleContext *context
,gdouble x
,gdouble y
,gdouble width
,gdouble height
);
Creates a render node for the focus outline according to context
,
and appends it to the current node of snapshot
, without changing
the current node.
snapshot |
||
context |
the GtkStyleContext to use |
|
x |
X origin of the rectangle |
|
y |
Y origin of the rectangle |
|
width |
rectangle width |
|
height |
rectangle height |
Since: 3.90
void gtk_snapshot_render_layout (GtkSnapshot *snapshot
,GtkStyleContext *context
,gdouble x
,gdouble y
,PangoLayout *layout
);
Creates a render node for rendering layout
according to the style
information in context
, and appends it to the current node of snapshot
,
without changing the current node.
snapshot |
||
context |
the GtkStyleContext to use |
|
x |
X origin of the rectangle |
|
y |
Y origin of the rectangle |
|
layout |
the PangoLayout to render |
Since: 3.90
void gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot
,GtkStyleContext *context
,gdouble x
,gdouble y
,PangoLayout *layout
,int index
,PangoDirection direction
);
Draws a text caret on cr
at the specified index of layout
.
snapshot |
snapshot to render to |
|
context |
||
x |
X origin |
|
y |
Y origin |
|
layout |
the PangoLayout of the text |
|
index |
the index in the PangoLayout |
|
direction |
the PangoDirection of the text |
Since: 3.90
void gtk_snapshot_render_icon (GtkSnapshot *snapshot
,GtkStyleContext *context
,GdkPixbuf *pixbuf
,gdouble x
,gdouble y
);
Creates a render node for rendering pixbuf
according to the style
information in context
, and appends it to the current node of snapshot
,
without changing the current node.
snapshot |
||
context |
the GtkStyleContext to use |
|
pixbuf |
the GdkPixbuf to render |
|
x |
X origin of the rectangle |
|
y |
Y origin of the rectangle |
Since: 3.90