Quelle gskenums.h
Sprache: C
/* GSK - The GTK Scene Kit
* Copyright 2016 Endless
*
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ; either
* version 2 of the License , or ( at your option ) any later version .
*
* This library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library . If not , see < http : //www.gnu.org/licenses/>.
*/
#pragma once
#if !defined (__GSK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gsk/gsk.h> can be included directly."
#endif
#include <glib.h>
#include <gdk/version/gdkversionmacros.h>
G_BEGIN_DECLS
/**
* GskRenderNodeType :
* @ GSK_NOT_A_RENDER_NODE : Error type . No node will ever have this type .
* @ GSK_CONTAINER_NODE : A node containing a stack of children
* @ GSK_CAIRO_NODE : A node drawing a ` cairo_surface_t `
* @ GSK_COLOR_NODE : A node drawing a single color rectangle
* @ GSK_LINEAR_GRADIENT_NODE : A node drawing a linear gradient
* @ GSK_REPEATING_LINEAR_GRADIENT_NODE : A node drawing a repeating linear gradient
* @ GSK_RADIAL_GRADIENT_NODE : A node drawing a radial gradient
* @ GSK_REPEATING_RADIAL_GRADIENT_NODE : A node drawing a repeating radial gradient
* @ GSK_CONIC_GRADIENT_NODE : A node drawing a conic gradient
* @ GSK_BORDER_NODE : A node stroking a border around an area
* @ GSK_TEXTURE_NODE : A node drawing a ` GdkTexture `
* @ GSK_INSET_SHADOW_NODE : A node drawing an inset shadow
* @ GSK_OUTSET_SHADOW_NODE : A node drawing an outset shadow
* @ GSK_TRANSFORM_NODE : A node that renders its child after applying a matrix transform
* @ GSK_OPACITY_NODE : A node that changes the opacity of its child
* @ GSK_COLOR_MATRIX_NODE : A node that applies a color matrix to every pixel
* @ GSK_REPEAT_NODE : A node that repeats the child ' s contents
* @ GSK_CLIP_NODE : A node that clips its child to a rectangular area
* @ GSK_ROUNDED_CLIP_NODE : A node that clips its child to a rounded rectangle
* @ GSK_SHADOW_NODE : A node that draws a shadow below its child
* @ GSK_BLEND_NODE : A node that blends two children together
* @ GSK_CROSS_FADE_NODE : A node that cross - fades between two children
* @ GSK_TEXT_NODE : A node containing a glyph string
* @ GSK_BLUR_NODE : A node that applies a blur
* @ GSK_DEBUG_NODE : Debug information that does not affect the rendering
* @ GSK_GL_SHADER_NODE : A node that uses OpenGL fragment shaders to render
*
* The type of a node determines what the node is rendering .
*/
/**
* GSK_TEXTURE_SCALE_NODE :
*
* A node drawing a ` GdkTexture ` scaled and filtered .
*
* Since : 4 . 10
*/
/**
* GSK_MASK_NODE :
*
* A node that masks one child with another .
*
* Since : 4 . 10
*/
/**
* GSK_STROKE_NODE :
*
* A node that strokes a path .
*
* Since : 4 . 14
*/
/**
* GSK_FILL_NODE :
*
* A node that fills a path .
*
* Since : 4 . 14
*/
/**
* GSK_SUBSURFACE_NODE :
*
* A node that possibly redirects part of the scene graph to a subsurface .
*
* Since : 4 . 14
*/
/**
* GSK_COMPONENT_TRANSFER_NODE :
*
* A node that applies some function to each color component .
*
* Since : 4 . 20
*/
/**
* GSK_COPY_NODE :
*
* A node that copies the rendering canvas to be pasted later .
*
* Since : 4 . 22
*/
/**
* GSK_PASTE_NODE :
*
* A node that pastes a previously copied canvas .
*
* Since : 4 . 22
*/
/**
* GSK_COMPOSITE_NODE :
*
* A node that combines a child with the background using Porter / Duff
* operations .
*
* Since : 4 . 22
*/
/**
* GSK_ISOLATION_NODE :
*
* A node that isolated content of its child from previous content .
*
* Since : 4 . 22
*/
/**
* GSK_DISPLACEMENT_NODE :
*
* A node that displaces content according to some mask .
*
* Since : 4 . 22
*/
/**
* GSK_ARITHMETIC_NODE :
*
* A node that combines two child nodes in an arithmetic way .
*
* Since : 4 . 22
*/
/**
* GSK_TURBULENCE_NODE :
*
* A node that generates a Perlin noise or fractal Brownian motion pattern .
*
* Since : 4 . 24
*/
typedef enum {
GSK_NOT_A_RENDER_NODE = 0 ,
GSK_CONTAINER_NODE,
GSK_CAIRO_NODE,
GSK_COLOR_NODE,
GSK_LINEAR_GRADIENT_NODE,
GSK_REPEATING_LINEAR_GRADIENT_NODE,
GSK_RADIAL_GRADIENT_NODE,
GSK_REPEATING_RADIAL_GRADIENT_NODE,
GSK_CONIC_GRADIENT_NODE,
GSK_BORDER_NODE,
GSK_TEXTURE_NODE,
GSK_INSET_SHADOW_NODE,
GSK_OUTSET_SHADOW_NODE,
GSK_TRANSFORM_NODE,
GSK_OPACITY_NODE,
GSK_COLOR_MATRIX_NODE,
GSK_REPEAT_NODE,
GSK_CLIP_NODE,
GSK_ROUNDED_CLIP_NODE,
GSK_SHADOW_NODE,
GSK_BLEND_NODE,
GSK_CROSS_FADE_NODE,
GSK_TEXT_NODE,
GSK_BLUR_NODE,
GSK_DEBUG_NODE,
GSK_GL_SHADER_NODE,
GSK_TEXTURE_SCALE_NODE,
GSK_MASK_NODE,
GSK_FILL_NODE,
GSK_STROKE_NODE,
GSK_SUBSURFACE_NODE,
GSK_COMPONENT_TRANSFER_NODE,
GSK_COPY_NODE,
GSK_PASTE_NODE,
GSK_COMPOSITE_NODE,
GSK_ISOLATION_NODE,
GSK_DISPLACEMENT_NODE,
GSK_ARITHMETIC_NODE,
GSK_TURBULENCE_NODE,
} GskRenderNodeType;
/**
* GskScalingFilter :
* @ GSK_SCALING_FILTER_LINEAR : linear interpolation filter
* @ GSK_SCALING_FILTER_NEAREST : nearest neighbor interpolation filter
* @ GSK_SCALING_FILTER_TRILINEAR : linear interpolation along each axis ,
* plus mipmap generation , with linear interpolation along the mipmap
* levels
*
* The filters used when scaling texture data .
*
* The actual implementation of each filter is deferred to the
* rendering pipeline .
*/
typedef enum {
GSK_SCALING_FILTER_LINEAR,
GSK_SCALING_FILTER_NEAREST,
GSK_SCALING_FILTER_TRILINEAR
} GskScalingFilter;
/**
* GskBlendMode :
* @ GSK_BLEND_MODE_DEFAULT : The default blend mode , which specifies no blending
* @ GSK_BLEND_MODE_MULTIPLY : The source color is multiplied by the destination
* and replaces the destination
* @ GSK_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 - list
* @ GSK_BLEND_MODE_DARKEN : Selects the darker of the destination and source colors
* @ GSK_BLEND_MODE_LIGHTEN : Selects the lighter of the destination and source colors
* @ GSK_BLEND_MODE_COLOR_DODGE : Brightens the destination color to reflect the source color
* @ GSK_BLEND_MODE_COLOR_BURN : Darkens the destination color to reflect the source color
* @ GSK_BLEND_MODE_HARD_LIGHT : Multiplies or screens the colors , depending on the source color value
* @ GSK_BLEND_MODE_SOFT_LIGHT : Darkens or lightens the colors , depending on the source color value
* @ GSK_BLEND_MODE_DIFFERENCE : Subtracts the darker of the two constituent colors from the lighter color
* @ GSK_BLEND_MODE_EXCLUSION : Produces an effect similar to that of the difference mode but lower in contrast
* @ GSK_BLEND_MODE_COLOR : Creates a color with the hue and saturation of the source color and the luminosity of the destination color
* @ GSK_BLEND_MODE_HUE : Creates a color with the hue of the source color and the saturation and luminosity of the destination color
* @ GSK_BLEND_MODE_SATURATION : Creates a color with the saturation of the source color and the hue and luminosity of the destination color
* @ GSK_BLEND_MODE_LUMINOSITY : Creates a color with the luminosity of the source color and the hue and saturation of the destination color
*
* 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 .
*/
typedef enum {
GSK_BLEND_MODE_DEFAULT = 0 ,
GSK_BLEND_MODE_MULTIPLY,
GSK_BLEND_MODE_SCREEN,
GSK_BLEND_MODE_OVERLAY,
GSK_BLEND_MODE_DARKEN,
GSK_BLEND_MODE_LIGHTEN,
GSK_BLEND_MODE_COLOR_DODGE,
GSK_BLEND_MODE_COLOR_BURN,
GSK_BLEND_MODE_HARD_LIGHT,
GSK_BLEND_MODE_SOFT_LIGHT,
GSK_BLEND_MODE_DIFFERENCE,
GSK_BLEND_MODE_EXCLUSION,
GSK_BLEND_MODE_COLOR,
GSK_BLEND_MODE_HUE,
GSK_BLEND_MODE_SATURATION,
GSK_BLEND_MODE_LUMINOSITY
} GskBlendMode;
/**
* GskPorterDuff :
* GSK_PORTER_DUFF_SOURCE :
* GSK_PORTER_DUFF_DEST :
* GSK_PORTER_DUFF_SOURCE_OVER_DEST :
* GSK_PORTER_DUFF_DEST_OVER_SOURCE :
* GSK_PORTER_DUFF_SOURCE_IN_DEST :
* GSK_PORTER_DUFF_DEST_IN_SOURCE :
* GSK_PORTER_DUFF_SOURCE_OUT_DEST :
* GSK_PORTER_DUFF_DEST_OUT_SOURCE :
* GSK_PORTER_DUFF_SOURCE_ATOP_DEST :
* GSK_PORTER_DUFF_DEST_ATOP_SOURCE :
* GSK_PORTER_DUFF_XOR :
* GSK_PORTER_DUFF_CLEAR :
*
* The 12 compositing modes defined by the seminal paper
* by Thomas Porter and Tom Duff .
*
* They are used in SVG , PDF and in Cairo with ` cairo_operator_t ` .
*
* Since : 4 . 22
*/
typedef enum
{
GSK_PORTER_DUFF_SOURCE,
GSK_PORTER_DUFF_DEST,
GSK_PORTER_DUFF_SOURCE_OVER_DEST,
GSK_PORTER_DUFF_DEST_OVER_SOURCE,
GSK_PORTER_DUFF_SOURCE_IN_DEST,
GSK_PORTER_DUFF_DEST_IN_SOURCE,
GSK_PORTER_DUFF_SOURCE_OUT_DEST,
GSK_PORTER_DUFF_DEST_OUT_SOURCE,
GSK_PORTER_DUFF_SOURCE_ATOP_DEST,
GSK_PORTER_DUFF_DEST_ATOP_SOURCE,
GSK_PORTER_DUFF_XOR,
GSK_PORTER_DUFF_CLEAR
} GskPorterDuff;
/**
* GskCorner :
* @ GSK_CORNER_TOP_LEFT : The top left corner
* @ GSK_CORNER_TOP_RIGHT : The top right corner
* @ GSK_CORNER_BOTTOM_RIGHT : The bottom right corner
* @ GSK_CORNER_BOTTOM_LEFT : The bottom left corner
*
* The corner indices used by ` GskRoundedRect ` .
*/
typedef enum {
GSK_CORNER_TOP_LEFT,
GSK_CORNER_TOP_RIGHT,
GSK_CORNER_BOTTOM_RIGHT,
GSK_CORNER_BOTTOM_LEFT
} GskCorner;
/**
* GskSide :
* @ GSK_SIDE_TOP : The top side
* @ GSK_SIDE_RIGHT : The right side
* @ GSK_SIDE_BOTTOM : The bottom side
* @ GSK_SIDE_LEFT : The left side
*
* The sides of a rectangle as used by ` GskRectSnap ` or ` GskBorderNode ` .
*
* This is the order used by CSS shorthand arguments .
*
* Since : 4 . 24
*/
typedef enum {
GSK_SIDE_TOP GDK_AVAILABLE_ENUMERATOR_IN_4_24 = 0 ,
GSK_SIDE_RIGHT GDK_AVAILABLE_ENUMERATOR_IN_4_24 = 1 ,
GSK_SIDE_BOTTOM GDK_AVAILABLE_ENUMERATOR_IN_4_24 = 2 ,
GSK_SIDE_LEFT GDK_AVAILABLE_ENUMERATOR_IN_4_24 = 3
} GskSide;
/**
* GskFillRule :
* @ 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 .
*
* Specifies 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 .
*
* Since : 4 . 14
*/
typedef enum {
GSK_FILL_RULE_WINDING,
GSK_FILL_RULE_EVEN_ODD
} GskFillRule;
/**
* GskIsolation :
* @ GSK_ISOLATION_NONE : No isolation is defined .
* @ GSK_ISOLATION_BACKGROUND : If the background should be made available .
* If the background is not available , future operations will be rendered
* to a transparent background and added to the existing background later .
* @ GSK_ISOLATION_COPY_PASTE : If copies should be available to paste nodes .
* If copies are not available , paste nodes can only paste from copies that
* are made inside the isolated contents .
* @ GSK_ISOLATION_ALL : Isolate everything . This will include features that
* are added in the future .
*
* These flags describe the types of isolations possible with a
* [ class @ Gsk . IsolationNode ] .
*
* More isolation options may be added in the future .
*
* Since : 4 . 22
*/
typedef enum {
GSK_ISOLATION_NONE = 0 ,
GSK_ISOLATION_BACKGROUND = 1 << 0 ,
GSK_ISOLATION_COPY_PASTE = 1 << 1 ,
GSK_ISOLATION_ALL = -1
} GskIsolation;
/**
* GskLineCap :
* @ GSK_LINE_CAP_BUTT : Start and stop the line exactly at the start
* and end point
* @ GSK_LINE_CAP_ROUND : Use a round ending , the center of the circle
* is the start or end point
* @ GSK_LINE_CAP_SQUARE : use squared ending , the center of the square
* is the start or end point
*
* 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 >
*
* Since : 4 . 14
*/
typedef enum {
GSK_LINE_CAP_BUTT,
GSK_LINE_CAP_ROUND,
GSK_LINE_CAP_SQUARE
} GskLineCap;
/**
* GskLineJoin :
* @ GSK_LINE_JOIN_MITER : Use a sharp angled corner
* @ GSK_LINE_JOIN_ROUND : Use a round join , the center of the circle is
* the join point
* @ GSK_LINE_JOIN_BEVEL : use a cut - off join , the join is cut off at half
* the line width from the joint point
*
* 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_BEVEL < / figcaption >
* < / figure >
*
* Since : 4 . 14
*/
typedef enum {
GSK_LINE_JOIN_MITER,
GSK_LINE_JOIN_ROUND,
GSK_LINE_JOIN_BEVEL,
} GskLineJoin;
/**
* GskPathOperation :
* @ 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 .
*
* Describes the segments of a ` GskPath ` .
*
* More values may be added in the future .
*
* Since : 4 . 14
*/
typedef enum {
GSK_PATH_MOVE,
GSK_PATH_CLOSE,
GSK_PATH_LINE,
GSK_PATH_QUAD,
GSK_PATH_CUBIC,
GSK_PATH_CONIC,
} GskPathOperation;
/**
* GskPathDirection :
* @ GSK_PATH_FROM_START : The tangent in path direction of the incoming side
* of the path
* @ GSK_PATH_TO_START : The tangent against path direction of the incoming side
* of the path
* @ GSK_PATH_TO_END : The tangent in path direction of the outgoing side
* of the path
* @ GSK_PATH_FROM_END : The tangent against path direction of the outgoing
* side of the path
*
* 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 >
*
* Since : 4 . 14
*/
typedef enum {
GSK_PATH_FROM_START,
GSK_PATH_TO_START,
GSK_PATH_TO_END,
GSK_PATH_FROM_END,
} GskPathDirection;
/**
* GskSerializationError :
* @ GSK_SERIALIZATION_UNSUPPORTED_FORMAT : The format can not be identified
* @ GSK_SERIALIZATION_UNSUPPORTED_VERSION : The version of the data is not
* understood
* @ GSK_SERIALIZATION_INVALID_DATA : The given data may not exist in
* a proper serialization
*
* Errors that can happen during ( de ) serialization .
*/
typedef enum {
GSK_SERIALIZATION_UNSUPPORTED_FORMAT,
GSK_SERIALIZATION_UNSUPPORTED_VERSION,
GSK_SERIALIZATION_INVALID_DATA
} GskSerializationError;
/**
* GskTransformCategory :
* @ 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 3 D 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 2 D matrix . This is equivalent
* to graphene_matrix_is_2d ( ) returning % TRUE . In particular , this
* means that Cairo can deal with the matrix .
* @ GSK_TRANSFORM_CATEGORY_2D_AFFINE : The matrix is a combination of 2 D scale
* and 2 D 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 2 D translation .
* @ GSK_TRANSFORM_CATEGORY_IDENTITY : The matrix is the identity matrix .
*
* 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 2 D 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 ) ) ` .
*/
typedef enum
{
GSK_TRANSFORM_CATEGORY_UNKNOWN,
GSK_TRANSFORM_CATEGORY_ANY,
GSK_TRANSFORM_CATEGORY_3D,
GSK_TRANSFORM_CATEGORY_2D,
GSK_TRANSFORM_CATEGORY_2D_AFFINE,
GSK_TRANSFORM_CATEGORY_2D_TRANSLATE,
GSK_TRANSFORM_CATEGORY_IDENTITY
} GskTransformCategory;
/**
* GskGLUniformType :
* @ GSK_GL_UNIFORM_TYPE_NONE : No type , used for uninitialized or unspecified values .
* @ GSK_GL_UNIFORM_TYPE_FLOAT : A float uniform
* @ GSK_GL_UNIFORM_TYPE_INT : A GLSL int / gint32 uniform
* @ GSK_GL_UNIFORM_TYPE_UINT : A GLSL uint / guint32 uniform
* @ GSK_GL_UNIFORM_TYPE_BOOL : A GLSL bool / gboolean uniform
* @ GSK_GL_UNIFORM_TYPE_VEC2 : A GLSL vec2 / graphene_vec2_t uniform
* @ GSK_GL_UNIFORM_TYPE_VEC3 : A GLSL vec3 / graphene_vec3_t uniform
* @ GSK_GL_UNIFORM_TYPE_VEC4 : A GLSL vec4 / graphene_vec4_t uniform
*
* 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 .
*
* Deprecated : 4 . 16
*/
typedef enum
{
GSK_GL_UNIFORM_TYPE_NONE,
GSK_GL_UNIFORM_TYPE_FLOAT,
GSK_GL_UNIFORM_TYPE_INT,
GSK_GL_UNIFORM_TYPE_UINT,
GSK_GL_UNIFORM_TYPE_BOOL,
GSK_GL_UNIFORM_TYPE_VEC2,
GSK_GL_UNIFORM_TYPE_VEC3,
GSK_GL_UNIFORM_TYPE_VEC4,
} GskGLUniformType;
/**
* GskMaskMode :
* @ GSK_MASK_MODE_ALPHA : Use the alpha channel of the mask
* @ GSK_MASK_MODE_INVERTED_ALPHA : Use the inverted alpha channel of the mask
* @ GSK_MASK_MODE_LUMINANCE : Use the luminance of the mask ,
* multiplied by mask alpha
* @ GSK_MASK_MODE_INVERTED_LUMINANCE : Use the inverted luminance of the mask ,
* multiplied by mask alpha
*
* The mask modes available for mask nodes .
*
* Since : 4 . 10
*/
typedef enum
{
GSK_MASK_MODE_ALPHA,
GSK_MASK_MODE_INVERTED_ALPHA,
GSK_MASK_MODE_LUMINANCE,
GSK_MASK_MODE_INVERTED_LUMINANCE
} GskMaskMode;
/**
* GskSnapDirection :
* @ GSK_SNAP_NONE : Don ' t snap the value
* @ GSK_SNAP_FLOOR : Use floor ( ) to snap
* @ GSK_SNAP_CEIL : Use ceil ( ) to snap
* @ GSK_SNAP_ROUND : Use round ( ) to snap
*
* Specifies how a coordinate should be snapped to the pixel grid .
*
* Note that the top and left sides of rectangles need to be snapped
* in the opposite direction from the bottom and right sides to make
* the rectangle grow or shrink .
*
* Since : 4 . 24
*/
typedef enum {
GSK_SNAP_NONE,
GSK_SNAP_FLOOR,
GSK_SNAP_CEIL,
GSK_SNAP_ROUND
} GskSnapDirection;
G_END_DECLS
Messung V0.5 in Prozent C=97 H=96 G=96
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet am 2026-07-03)
¤
*© Formatika GbR, Deutschland
2026-07-09