### Namespace

# Gsk – 4.0

The GTK toolkit

Version | 4.14.5
Authors | GTK Development Team
License | LGPL-2.1-or-later
Website | https://www.gtk.org
Source | https://gitlab.gnome.org/GNOME/gtk/

#### Build

C headers | `gsk/gsk.h`
pkg-config files | `gtk4`

#### Dependencies

Gdk—4.0 | The GTK windowing system abstraction
| Browse documentation
Graphene—1.0 | A thin layer of mathematical types for 3D libraries
| Browse documentation

#### Additional documentation

- Paths
- Classes Hierarchy

#### Classes

BlendNode | A render node applying a blending function between its two child nodes. since: 4.0
BlurNode | A render node applying a blur effect to its single child. since: 4.0
BorderNode | A render node for a border. since: 4.0
BroadwayRenderer | since: 4.0
CairoNode | A render node for a Cairo surface. since: 4.0
CairoRenderer | A GSK renderer that is using cairo. since: 4.0
ClipNode | A render node applying a rectangular clip to its single child node. since: 4.0
ColorMatrixNode | A render node controlling the color matrix of its single child node. since: 4.0
ColorNode | A render node for a solid color. since: 4.0
ConicGradientNode | A render node for a conic gradient. since: 4.0
ContainerNode | A render node that can contain other render nodes. since: 4.0
CrossFadeNode | A render node cross fading between two child nodes. since: 4.0
DebugNode | A render node that emits a debugging message when drawing its child node. since: 4.0
FillNode | A render node filling the area given by `GskPath` and `GskFillRule` with the child node. since: 4.14
GLRenderer | since: 4.0
GLShader | A `GskGLShader` is a snippet of GLSL that is meant to run in the fragment shader of the rendering pipeline. since: 4.0
GLShaderNode | A render node using a GL shader when drawing its children nodes. since: 4.0
InsetShadowNode | A render node for an inset shadow. since: 4.0
LinearGradientNode | A render node for a linear gradient. since: 4.0
MaskNode | A render node masking one child node with another. since: 4.10
NglRenderer | since: 4.0
OpacityNode | A render node controlling the opacity of its single child node. since: 4.0
OutsetShadowNode | A render node for an outset shadow. since: 4.0
RadialGradientNode | A render node for a radial gradient. since: 4.0
Renderer | `GskRenderer` is a class that renders a scene graph defined via a tree of `GskRenderNode` instances. since: 4.0
RenderNode | `GskRenderNode` is the basic block in a scene graph to be rendered using `GskRenderer`. since: 4.0
RepeatingLinearGradientNode | A render node for a repeating linear gradient. since: 4.0
RepeatingRadialGradientNode | A render node for a repeating radial gradient. since: 4.0
RepeatNode | A render node repeating its single child node. since: 4.0
RoundedClipNode | A render node applying a rounded rectangle clip to its single child. since: 4.0
ShadowNode | A render node drawing one or more shadows behind its single child node. since: 4.0
StrokeNode | A render node that will fill the area determined by stroking the the given `GskPath` using the `GskStroke` attributes. since: 4.14
SubsurfaceNode | A render node that potentially diverts a part of the scene graph to a subsurface. since: 4.14
TextNode | A render node drawing a set of glyphs. since: 4.0
TextureNode | A render node for a `GdkTexture`. since: 4.0
TextureScaleNode | A render node for a `GdkTexture`. since: 4.10
TransformNode | A render node applying a `GskTransform` to its single child node. since: 4.0
VulkanRenderer | A GSK renderer that is using Vulkan. since: 4.0

#### Structs

ColorStop | A color stop in a gradient node. since: 4.0
ParseLocation | A location in a parse buffer. since: 4.0
Path | A `GskPath` describes lines and curves that are more complex than simple rectangles. since: 4.14
PathBuilder | `GskPathBuilder` is an auxiliary object for constructing `GskPath` objects. since: 4.14
PathMeasure | `GskPathMeasure` is an object that allows measurements on `GskPath`s such as determining the length of the path. since: 4.14
PathPoint | `GskPathPoint` is an opaque type representing a point on a path. since: 4.14
RoundedRect | A rectangular region with rounded corners. since: 4.0
ShaderArgsBuilder | An object to build the uniforms data for a `GskGLShader`. since: 4.0
Shadow | The shadow parameters in a shadow node. since: 4.0
Stroke | A `GskStroke` struct collects the parameters that influence the operation of stroking a path. since: 4.14
Transform | `GskTransform` is an object to describe transform matrices. since: 4.0

#### Enumerations

BlendMode | The blend modes available for render nodes. since: 4.0
Corner | The corner indices used by `GskRoundedRect`. since: 4.0
FillRule | `GskFillRule` is used to select how paths are filled. since: 4.14
GLUniformType | This defines the types of the uniforms that `GskGLShaders` declare. since: 4.0
LineCap | Specifies how to render the start and end points of contours or dashes when stroking. since: 4.14
LineJoin | Specifies how to render the junction of two lines when stroking. since: 4.14
MaskMode | The mask modes available for mask nodes. since: 4.10
PathDirection | The values of the `GskPathDirection` enum are used to pick one of the four tangents at a given point on the path. since: 4.14
PathOperation | Path operations are used to describe the segments of a `GskPath`. since: 4.14
RenderNodeType | The type of a node determines what the node is rendering. since: 4.0
ScalingFilter | The filters used when scaling texture data. since: 4.0
TransformCategory | The categories of matrices relevant for GSK and GTK. since: 4.0

#### Bitfields

PathForeachFlags | Flags that can be passed to `gsk_path_foreach()` to influence what kinds of operations the path is decomposed into. since: 4.14

#### Error Domains

SerializationError | Errors that can happen during (de)serialization. since: 4.0

#### Callbacks

ParseErrorFunc | Type of callback that is called when an error occurs during node deserialization. since: 4.0
PathForeachFunc | Prototype of the callback to iterate through the operations of a path. since: 4.0

#### Functions

value_dup_render_node | Retrieves the `GskRenderNode` stored inside the given `value`, and acquires a reference to it. since: 4.6
value_get_render_node | Retrieves the `GskRenderNode` stored inside the given `value`. since: 4.6
value_set_render_node | Stores the given `GskRenderNode` inside `value`. since: 4.6
value_take_render_node | Stores the given `GskRenderNode` inside `value`. since: 4.6

#### Function Macros

INCLUDE_WARNING | since: 4.0
ROUNDED_RECT_INIT | Initializes a `GskRoundedRect` when declaring it. All corner sizes will be initialized to 0. since: 4.0
VALUE_HOLDS_RENDER_NODE | Evaluates to `TRUE` if `value` was initialized with `GSK_TYPE_RENDER_NODE`. since: 4.0