Namespace

Gsk – 4.0

The GTK toolkit

Version4.17.0
AuthorsGTK Development Team
LicenseLGPL-2.1-or-later
Websitehttps://www.gtk.org
Sourcehttps://gitlab.gnome.org/GNOME/gtk/

Build

C headersgsk/gsk.h
pkg-config filesgtk4

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

Classes

BlendNode

A render node applying a blending function between its two child nodes.

BlurNode

A render node applying a blur effect to its single child.

BorderNode

A render node for a border.

CairoNode

A render node for a Cairo surface.

CairoRenderer

A GSK renderer that is using cairo.

ClipNode

A render node applying a rectangular clip to its single child node.

ColorMatrixNode

A render node controlling the color matrix of its single child node.

ColorNode

A render node for a solid color.

ConicGradientNode

A render node for a conic gradient.

ContainerNode

A render node that can contain other render nodes.

CrossFadeNode

A render node cross fading between two child nodes.

DebugNode

A render node that emits a debugging message when drawing its child node.

FillNode

A render node filling the area given by GskPath and GskFillRule with the child node.

since: 4.14

GLRenderer

A GL based renderer.

since: 4.2

GLShader

A GskGLShader is a snippet of GLSL that is meant to run in the fragment shader of the rendering pipeline.

GLShaderNode

A render node using a GL shader when drawing its children nodes.

InsetShadowNode

A render node for an inset shadow.

LinearGradientNode

A render node for a linear gradient.

MaskNode

A render node masking one child node with another.

since: 4.10

NglRenderer

A GL based renderer.

since: 4.2

OpacityNode

A render node controlling the opacity of its single child node.

OutsetShadowNode

A render node for an outset shadow.

RadialGradientNode

A render node for a radial gradient.

Renderer

GskRenderer is a class that renders a scene graph defined via a tree of GskRenderNode instances.

RenderNode

GskRenderNode is the basic block in a scene graph to be rendered using GskRenderer.

RepeatingLinearGradientNode

A render node for a repeating linear gradient.

RepeatingRadialGradientNode

A render node for a repeating radial gradient.

RepeatNode

A render node repeating its single child node.

RoundedClipNode

A render node applying a rounded rectangle clip to its single child.

ShadowNode

A render node drawing one or more shadows behind its single child node.

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.

TextureNode

A render node for a GdkTexture.

TextureScaleNode

A render node for a GdkTexture.

since: 4.10

TransformNode

A render node applying a GskTransform to its single child node.

VulkanRenderer

A GSK renderer that is using Vulkan.

Structs

ColorStop

A color stop in a gradient node.

ParseLocation

A location in a parse buffer.

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 GskPaths 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.

ShaderArgsBuilder

An object to build the uniforms data for a GskGLShader.

Shadow

The shadow parameters in a shadow node.

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.

Enumerations

BlendMode

The blend modes available for render nodes.

Corner

The corner indices used by GskRoundedRect.

FillRule

GskFillRule is used to select how paths are filled.

since: 4.14

GLUniformType

This defines the types of the uniforms that GskGLShaders declare.

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.

ScalingFilter

The filters used when scaling texture data.

TransformCategory

The categories of matrices relevant for GSK and GTK.

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.

Callbacks

ParseErrorFunc

Type of callback that is called when an error occurs during node deserialization.

PathForeachFunc

Prototype of the callback to iterate through the operations of a path.

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

ROUNDED_RECT_INIT

Initializes a GskRoundedRect when declaring it. All corner sizes will be initialized to 0.

VALUE_HOLDS_RENDER_NODE

Evaluates to TRUE if value was initialized with GSK_TYPE_RENDER_NODE.