Gnome::Gsk4::T-enums
Enumerations
GskBlendMode
The blend modes available for render nodes.
The implementation of each blend mode is deferred to the rendering pipeline.
See <https://www.w3.org/TR/compositing-1/#blending> for more information on blending and blend modes.
GSK_BLEND_MODE_DEFAULT
; The default blend mode, which specifies no blendingGSK_BLEND_MODE_MULTIPLY
; The source color is multiplied by the destination and replaces the destinationGSK_BLEND_MODE_SCREEN
; Multiplies the complements of the destination and source color values, then complements the result.GSK_BLEND_MODE_OVERLAY
; Multiplies or screens the colors, depending on the destination color value. This is the inverse of hard-listGSK_BLEND_MODE_DARKEN
; Selects the darker of the destination and source colorsGSK_BLEND_MODE_LIGHTEN
; Selects the lighter of the destination and source colorsGSK_BLEND_MODE_COLOR_DODGE
; Brightens the destination color to reflect the source colorGSK_BLEND_MODE_COLOR_BURN
; Darkens the destination color to reflect the source colorGSK_BLEND_MODE_HARD_LIGHT
; Multiplies or screens the colors, depending on the source color valueGSK_BLEND_MODE_SOFT_LIGHT
; Darkens or lightens the colors, depending on the source color valueGSK_BLEND_MODE_DIFFERENCE
; Subtracts the darker of the two constituent colors from the lighter colorGSK_BLEND_MODE_EXCLUSION
; Produces an effect similar to that of the difference mode but lower in contrastGSK_BLEND_MODE_COLOR
; Creates a color with the hue and saturation of the source color and the luminosity of the destination colorGSK_BLEND_MODE_HUE
; Creates a color with the hue of the source color and the saturation and luminosity of the destination colorGSK_BLEND_MODE_SATURATION
; Creates a color with the saturation of the source color and the hue and luminosity of the destination colorGSK_BLEND_MODE_LUMINOSITY
; Creates a color with the luminosity of the source color and the hue and saturation of the destination color
GskCorner
The corner indices used by Gnome::Gsk4::N-RoundedRect.
GSK_CORNER_TOP_LEFT
; The top left cornerGSK_CORNER_TOP_RIGHT
; The top right cornerGSK_CORNER_BOTTOM_RIGHT
; The bottom right cornerGSK_CORNER_BOTTOM_LEFT
; The bottom left corner
GskFillRule
enumeration GskFillRule defined in Gnome::Gsk4::T-enums
is used to select how paths are filled.
Whether or not a point is included in the fill is determined by taking a ray from that point to infinity and looking at intersections with the path. The ray can be in any direction, as long as it doesn't pass through the end point of a segment or have a tricky intersection such as intersecting tangent to the path.
(Note that filling is not actually implemented in this way. This is just a description of the rule that is applied.)
New entries may be added in future versions.
GSK_FILL_RULE_WINDING
; If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled.GSK_FILL_RULE_EVEN_ODD
; Counts the total number of intersections, without regard to the orientation of the contour. If the total number of intersections is odd, the point will be filled.
GskGLUniformType
This defines the types of the uniforms that GskGLShaders declare.
It defines both what the type is called in the GLSL shader code, and what the corresponding C type is on the Gtk side.
GSK_GL_UNIFORM_TYPE_NONE
; No type, used for uninitialized or unspecified values.GSK_GL_UNIFORM_TYPE_FLOAT
; A float uniformGSK_GL_UNIFORM_TYPE_INT
; A GLSL int / gint32 uniformGSK_GL_UNIFORM_TYPE_UINT
; A GLSL uint / guint32 uniformGSK_GL_UNIFORM_TYPE_BOOL
; A GLSL bool / gboolean uniformGSK_GL_UNIFORM_TYPE_VEC2
; A GLSL vec2 / graphene_vec2_t uniformGSK_GL_UNIFORM_TYPE_VEC3
; A GLSL vec3 / graphene_vec3_t uniformGSK_GL_UNIFORM_TYPE_VEC4
; A GLSL vec4 / graphene_vec4_t uniform
GskLineCap
Specifies how to render the start and end points of contours or dashes when stroking.
The default line cap style is GSK_LINE_CAP_BUTT.
New entries may be added in future versions.
<figure> <picture> <source srcset="caps-dark.png" media="(prefers-color-scheme: dark)"> <img alt="Line Cap Styles" src="caps-light.png"> </picture> <figcaption>GSK_LINE_CAP_BUTT, GSK_LINE_CAP_ROUND, GSK_LINE_CAP_SQUARE </figcaption> </figure>
GSK_LINE_CAP_BUTT
; Start and stop the line exactly at the start and end pointGSK_LINE_CAP_ROUND
; Use a round ending, the center of the circle is the start or end pointGSK_LINE_CAP_SQUARE
; use squared ending, the center of the square is the start or end point
GskLineJoin
Specifies how to render the junction of two lines when stroking.
The default line join style is GSK_LINE_JOIN_MITER.
New entries may be added in future versions.
<figure> <picture> <source srcset="join-dark.png" media="(prefers-color-scheme: dark)"> <img alt="Line Join Styles" src="join-light.png"> </picture> <figcaption>GSK_LINE_JOINT_MITER, GSK_LINE_JOINT_ROUND, GSK_LINE_JOIN_BEVE/figcaption </figure>
GSK_LINE_JOIN_MITER
; Use a sharp angled cornerGSK_LINE_JOIN_ROUND
; Use a round join, the center of the circle is the join pointGSK_LINE_JOIN_BEVEL
; use a cut-off join, the join is cut off at half the line width from the joint point
GskMaskMode
The mask modes available for mask nodes.
GSK_MASK_MODE_ALPHA
; Use the alpha channel of the maskGSK_MASK_MODE_INVERTED_ALPHA
; Use the inverted alpha channel of the maskGSK_MASK_MODE_LUMINANCE
; Use the luminance of the mask, multiplied by mask alphaGSK_MASK_MODE_INVERTED_LUMINANCE
; Use the inverted luminance of the mask, multiplied by mask alpha
GskPathDirection
The values of the enumeration GskPathDirection defined in Gnome::Gsk4::T-enums
enum are used to pick one of the four tangents at a given point on the path.
Note that the directions for $GSK-PATH-FROM-START
/ $GSK-PATH-TO-END
and $GSK-PATH-TO-START
/ $GSK-PATH-FROM-END
will coincide for smooth points. Only sharp turns will exhibit four different directions.
<picture> <source srcset="directions-dark.png" media="(prefers-color-scheme: dark)"> <img alt="Path Tangents" src="directions-light.png"> </picture>
GSK_PATH_FROM_START
; The tangent in path direction of the incoming side of the pathGSK_PATH_TO_START
; The tangent against path direction of the incoming side of the pathGSK_PATH_TO_END
; The tangent in path direction of the outgoing side of the pathGSK_PATH_FROM_END
; The tangent against path direction of the outgoing side of the path
GskPathOperation
Path operations are used to describe the segments of a Gnome::Gsk4::N-Path.
More values may be added in the future.
GSK_PATH_MOVE
; A move-to operation, with 1 point describing the target point.GSK_PATH_CLOSE
; A close operation ending the current contour with a line back to the starting point. Two points describe the start and end of the line.GSK_PATH_LINE
; A line-to operation, with 2 points describing the start and end point of a straight line.GSK_PATH_QUAD
; A curve-to operation describing a quadratic Bézier curve with 3 points describing the start point, the control point and the end point of the curve.GSK_PATH_CUBIC
; A curve-to operation describing a cubic Bézier curve with 4 points describing the start point, the two control points and the end point of the curve.GSK_PATH_CONIC
; A rational quadratic Bézier curve with 3 points describing the start point, control point and end point of the curve. A weight for the curve will be passed, too.
GskRenderNodeType
The type of a node determines what the node is rendering.
GSK_NOT_A_RENDER_NODE
; Error type. No node will ever have this type.GSK_CONTAINER_NODE
; A node containing a stack of childrenGSK_CAIRO_NODE
; A node drawing a Gnome::Cairo::N-ContextGSK_COLOR_NODE
; A node drawing a single color rectangleGSK_LINEAR_GRADIENT_NODE
; A node drawing a linear gradientGSK_REPEATING_LINEAR_GRADIENT_NODE
; A node drawing a repeating linear gradientGSK_RADIAL_GRADIENT_NODE
; A node drawing a radial gradientGSK_REPEATING_RADIAL_GRADIENT_NODE
; A node drawing a repeating radial gradientGSK_CONIC_GRADIENT_NODE
; A node drawing a conic gradientGSK_BORDER_NODE
; A node stroking a border around an areaGSK_TEXTURE_NODE
; A node drawing a Gnome::Gdk4::TextureGSK_INSET_SHADOW_NODE
; A node drawing an inset shadowGSK_OUTSET_SHADOW_NODE
; A node drawing an outset shadowGSK_TRANSFORM_NODE
; A node that renders its child after applying a matrix transformGSK_OPACITY_NODE
; A node that changes the opacity of its childGSK_COLOR_MATRIX_NODE
; A node that applies a color matrix to every pixelGSK_REPEAT_NODE
; A node that repeats the child's contentsGSK_CLIP_NODE
; A node that clips its child to a rectangular areaGSK_ROUNDED_CLIP_NODE
; A node that clips its child to a rounded rectangleGSK_SHADOW_NODE
; A node that draws a shadow below its childGSK_BLEND_NODE
; A node that blends two children togetherGSK_CROSS_FADE_NODE
; A node that cross-fades between two childrenGSK_TEXT_NODE
; A node containing a glyph stringGSK_BLUR_NODE
; A node that applies a blurGSK_DEBUG_NODE
; Debug information that does not affect the renderingGSK_GL_SHADER_NODE
; A node that uses OpenGL fragment shaders to renderGSK_TEXTURE_SCALE_NODE
; A node drawing a Gnome::Gdk4::Texture scaled and filtered.GSK_MASK_NODE
; A node that masks one child with another.GSK_FILL_NODE
; A node that fills a path.GSK_STROKE_NODE
; A node that strokes a path.GSK_SUBSURFACE_NODE
; A node that possibly redirects part of the scene graph to a subsurface.
GskScalingFilter
The filters used when scaling texture data.
The actual implementation of each filter is deferred to the rendering pipeline.
GSK_SCALING_FILTER_LINEAR
; linear interpolation filterGSK_SCALING_FILTER_NEAREST
; nearest neighbor interpolation filterGSK_SCALING_FILTER_TRILINEAR
; linear interpolation along each axis, plus mipmap generation, with linear interpolation along the mipmap levels
GskSerializationError
Errors that can happen during (de)serialization.
GSK_SERIALIZATION_UNSUPPORTED_FORMAT
; The format can not be identifiedGSK_SERIALIZATION_UNSUPPORTED_VERSION
; The version of the data is not understoodGSK_SERIALIZATION_INVALID_DATA
; The given data may not exist in a proper serialization
GskTransformCategory
The categories of matrices relevant for GSK and GTK.
Note that any category includes matrices of all later categories. So if you want to for example check if a matrix is a 2D matrix, category >= GSK_TRANSFORM_CATEGORY_2D` is the way to do this.
Also keep in mind that rounding errors may cause matrices to not conform to their categories. Otherwise, matrix operations done via multiplication will not worsen categories. So for the matrix multiplication C = A * B`, category(C) = MIN (category(A), category(B))`.
GSK_TRANSFORM_CATEGORY_UNKNOWN
; The category of the matrix has not been determined.GSK_TRANSFORM_CATEGORY_ANY
; Analyzing the matrix concluded that it does not fit in any other category.GSK_TRANSFORM_CATEGORY_3D
; The matrix is a 3D matrix. This means that the w column (the last column) has the values (0, 0, 0, 1).GSK_TRANSFORM_CATEGORY_2D
; The matrix is a 2D matrix. This is equivalent to graphene_matrix_is_2d() returningTrue
. In particular, this means that Cairo can deal with the matrix.GSK_TRANSFORM_CATEGORY_2D_AFFINE
; The matrix is a combination of 2D scale and 2D translation operations. In particular, this means that any rectangle can be transformed exactly using this matrix.GSK_TRANSFORM_CATEGORY_2D_TRANSLATE
; The matrix is a 2D translation.GSK_TRANSFORM_CATEGORY_IDENTITY
; The matrix is the identity matrix.