Sets our main struct and passes it to the parent class.
Creates a new GtkSnapshot.
Appends a stroked border rectangle inside the given @outline.
Creates a new GskCairoNode and appends it to the current render node of @snapshot, without changing the current node.
Creates a new render node drawing the @color into the given @bounds and appends it to the current render node of @snapshot.
Appends a conic gradient node with the given stops to @snapshot.
Appends an inset shadow into the box given by @outline.
Appends a linear gradient node with the given stops to @snapshot.
Appends @node to the current render node of @snapshot, without changing the current node.
Appends an outset shadow node around the box given by @outline.
Appends a radial gradient node with the given stops to @snapshot.
Appends a repeating linear gradient node with the given stops to @snapshot.
Appends a repeating radial gradient node with the given stops to @snapshot.
Creates a new render node drawing the @texture into the given @bounds and appends it to the current render node of @snapshot.
Returns the node that was constructed by @snapshot and frees @snapshot.
Returns a paintable for the node that was constructed by @snapshot and frees @snapshot.
Get the main Gtk struct
the main Gtk struct as a void*
Removes the top element from the stack of render nodes and adds it to the nearest GskGLShaderNode below it.
Applies a perspective projection transform.
Removes the top element from the stack of render nodes, and appends it to the node underneath it.
Blends together two images with the given blend mode.
Blurs an image.
Clips an image to a rectangle.
Modifies the colors of an image by applying an affine transformation in RGB space.
Snapshots a cross-fade operation between two images with the given @progress.
Push a GskGLShaderNode.
Modifies the opacity of an image.
Creates a node that repeats the child node.
Clips an image to a rounded rectangle.
Applies a shadow to an image.
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.
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.
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.
Draws a text caret using @snapshot at the specified index of @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.
Restores @snapshot to the state saved by a preceding call to gtk_snapshot_save() and removes that state from the stack of saved states.
Rotates @@snapshot's coordinate system by @angle degrees in 2D space - or in 3D speak, rotates around the Z axis.
Rotates @snapshot's coordinate system by @angle degrees around @axis.
Makes a copy of the current state of @snapshot and saves it on an internal stack.
Scales @snapshot's coordinate system in 2-dimensional space by the given factors.
Scales @snapshot's coordinate system by the given factors.
Returns the render node that was constructed by @snapshot.
Returns a paintable encapsulating the render node that was constructed by @snapshot.
Transforms @snapshot's coordinate system with the given @transform.
Transforms @snapshot's coordinate system with the given @matrix.
Translates @snapshot's coordinate system by @point in 2-dimensional space.
Translates @snapshot's coordinate system by @point.
the main Gtk struct
GtkSnapshot assists in creating GskRenderNodes for widgets.
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_… functions operate on. Use the gtk_snapshot_push_… functions and gtk_snapshot_pop() to change the current node.
The typical way to obtain a GtkSnapshot object is as an argument to the GtkWidgetClass.snapshot() vfunc. If you need to create your own GtkSnapshot, use [ctor@Gtk.Snapshot.new].