@cenum(BlendMode::Int32, BlendMode_DEFAULT = 0, BlendMode_MULTIPLY = 1, BlendMode_SCREEN = 2, BlendMode_OVERLAY = 3, BlendMode_DARKEN = 4, BlendMode_LIGHTEN = 5, BlendMode_COLOR_DODGE = 6, BlendMode_COLOR_BURN = 7, BlendMode_HARD_LIGHT = 8, BlendMode_SOFT_LIGHT = 9, BlendMode_DIFFERENCE = 10, BlendMode_EXCLUSION = 11, BlendMode_COLOR = 12, BlendMode_HUE = 13, BlendMode_SATURATION = 14, BlendMode_LUMINOSITY = 15)
(GLib.g_type(::Type{T}) where T <: BlendMode) = ccall(("gsk_blend_mode_get_type", libgtk4), GType, ())
@cenum(Corner::Int32, Corner_TOP_LEFT = 0, Corner_TOP_RIGHT = 1, Corner_BOTTOM_RIGHT = 2, Corner_BOTTOM_LEFT = 3)
(GLib.g_type(::Type{T}) where T <: Corner) = ccall(("gsk_corner_get_type", libgtk4), GType, ())
@cenum(FillRule::Int32, FillRule_WINDING = 0, FillRule_EVEN_ODD = 1)
(GLib.g_type(::Type{T}) where T <: FillRule) = ccall(("gsk_fill_rule_get_type", libgtk4), GType, ())
@cenum(GLUniformType::Int32, GLUniformType_NONE = 0, GLUniformType_FLOAT = 1, GLUniformType_INT = 2, GLUniformType_UINT = 3, GLUniformType_BOOL = 4, GLUniformType_VEC2 = 5, GLUniformType_VEC3 = 6, GLUniformType_VEC4 = 7)
(GLib.g_type(::Type{T}) where T <: GLUniformType) = ccall(("gsk_gl_uniform_type_get_type", libgtk4), GType, ())
@cenum(LineCap::Int32, LineCap_BUTT = 0, LineCap_ROUND = 1, LineCap_SQUARE = 2)
(GLib.g_type(::Type{T}) where T <: LineCap) = ccall(("gsk_line_cap_get_type", libgtk4), GType, ())
@cenum(LineJoin::Int32, LineJoin_MITER = 0, LineJoin_ROUND = 1, LineJoin_BEVEL = 2)
(GLib.g_type(::Type{T}) where T <: LineJoin) = ccall(("gsk_line_join_get_type", libgtk4), GType, ())
@cenum(MaskMode::Int32, MaskMode_ALPHA = 0, MaskMode_INVERTED_ALPHA = 1, MaskMode_LUMINANCE = 2, MaskMode_INVERTED_LUMINANCE = 3)
(GLib.g_type(::Type{T}) where T <: MaskMode) = ccall(("gsk_mask_mode_get_type", libgtk4), GType, ())
@cenum(PathDirection::Int32, PathDirection_FROM_START = 0, PathDirection_TO_START = 1, PathDirection_TO_END = 2, PathDirection_FROM_END = 3)
(GLib.g_type(::Type{T}) where T <: PathDirection) = ccall(("gsk_path_direction_get_type", libgtk4), GType, ())
@cenum(PathOperation::Int32, PathOperation_MOVE = 0, PathOperation_CLOSE = 1, PathOperation_LINE = 2, PathOperation_QUAD = 3, PathOperation_CUBIC = 4, PathOperation_CONIC = 5)
(GLib.g_type(::Type{T}) where T <: PathOperation) = ccall(("gsk_path_operation_get_type", libgtk4), GType, ())
@cenum(RenderNodeType::Int32, RenderNodeType_NOT_A_RENDER_NODE = 0, RenderNodeType_CONTAINER_NODE = 1, RenderNodeType_CAIRO_NODE = 2, RenderNodeType_COLOR_NODE = 3, RenderNodeType_LINEAR_GRADIENT_NODE = 4, RenderNodeType_REPEATING_LINEAR_GRADIENT_NODE = 5, RenderNodeType_RADIAL_GRADIENT_NODE = 6, RenderNodeType_REPEATING_RADIAL_GRADIENT_NODE = 7, RenderNodeType_CONIC_GRADIENT_NODE = 8, RenderNodeType_BORDER_NODE = 9, RenderNodeType_TEXTURE_NODE = 10, RenderNodeType_INSET_SHADOW_NODE = 11, RenderNodeType_OUTSET_SHADOW_NODE = 12, RenderNodeType_TRANSFORM_NODE = 13, RenderNodeType_OPACITY_NODE = 14, RenderNodeType_COLOR_MATRIX_NODE = 15, RenderNodeType_REPEAT_NODE = 16, RenderNodeType_CLIP_NODE = 17, RenderNodeType_ROUNDED_CLIP_NODE = 18, RenderNodeType_SHADOW_NODE = 19, RenderNodeType_BLEND_NODE = 20, RenderNodeType_CROSS_FADE_NODE = 21, RenderNodeType_TEXT_NODE = 22, RenderNodeType_BLUR_NODE = 23, RenderNodeType_DEBUG_NODE = 24, RenderNodeType_GL_SHADER_NODE = 25, RenderNodeType_TEXTURE_SCALE_NODE = 26, RenderNodeType_MASK_NODE = 27, RenderNodeType_FILL_NODE = 28, RenderNodeType_STROKE_NODE = 29, RenderNodeType_SUBSURFACE_NODE = 30)
(GLib.g_type(::Type{T}) where T <: RenderNodeType) = ccall(("gsk_render_node_type_get_type", libgtk4), GType, ())
@cenum(ScalingFilter::Int32, ScalingFilter_LINEAR = 0, ScalingFilter_NEAREST = 1, ScalingFilter_TRILINEAR = 2)
(GLib.g_type(::Type{T}) where T <: ScalingFilter) = ccall(("gsk_scaling_filter_get_type", libgtk4), GType, ())
@cenum(SerializationError::Int32, SerializationError_UNSUPPORTED_FORMAT = 0, SerializationError_UNSUPPORTED_VERSION = 1, SerializationError_INVALID_DATA = 2)
(GLib.g_type(::Type{T}) where T <: SerializationError) = ccall(("gsk_serialization_error_get_type", libgtk4), GType, ())
@cenum(TransformCategory::Int32, TransformCategory_UNKNOWN = 0, TransformCategory_ANY = 1, TransformCategory_3D = 2, TransformCategory_2D = 3, TransformCategory_2D_AFFINE = 4, TransformCategory_2D_TRANSLATE = 5, TransformCategory_IDENTITY = 6)
(GLib.g_type(::Type{T}) where T <: TransformCategory) = ccall(("gsk_transform_category_get_type", libgtk4), GType, ())
@bitflag(PathForeachFlags::UInt32, PathForeachFlags_ONLY_LINES = 0, PathForeachFlags_QUAD = 1, PathForeachFlags_CUBIC = 2, PathForeachFlags_CONIC = 4)
(GLib.g_type(::Type{T}) where T <: PathForeachFlags) = ccall(("gsk_path_foreach_flags_get_type", libgtk4), GType, ())
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.BlendMode.html).", BlendMode)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.Corner.html).", Corner)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.FillRule.html).", FillRule)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.GLUniformType.html).", GLUniformType)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.LineCap.html).", LineCap)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.LineJoin.html).", LineJoin)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.MaskMode.html).", MaskMode)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.PathDirection.html).", PathDirection)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.PathOperation.html).", PathOperation)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.RenderNodeType.html).", RenderNodeType)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.ScalingFilter.html).", ScalingFilter)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.SerializationError.html).", SerializationError)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/enum.TransformCategory.html).", TransformCategory)
@doc("See the [GTK docs](https://docs.gtk.org/gsk4/flags.PathForeachFlags.html).", PathForeachFlags)
