quote
$(Expr(:toplevel, quote
    begin
        begin
            @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) = begin
                    ccall(("gsk_blend_mode_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_corner_get_type", libgtk4), GType, ())
                end
        end
        begin
            @cenum FillRule::Int32 FillRule_WINDING = 0 FillRule_EVEN_ODD = 1
            (GLib.g_type(::Type{T}) where T <: FillRule) = begin
                    ccall(("gsk_fill_rule_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_gl_uniform_type_get_type", libgtk4), GType, ())
                end
        end
        begin
            @cenum LineCap::Int32 LineCap_BUTT = 0 LineCap_ROUND = 1 LineCap_SQUARE = 2
            (GLib.g_type(::Type{T}) where T <: LineCap) = begin
                    ccall(("gsk_line_cap_get_type", libgtk4), GType, ())
                end
        end
        begin
            @cenum LineJoin::Int32 LineJoin_MITER = 0 LineJoin_ROUND = 1 LineJoin_BEVEL = 2
            (GLib.g_type(::Type{T}) where T <: LineJoin) = begin
                    ccall(("gsk_line_join_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_mask_mode_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_path_direction_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_path_operation_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_render_node_type_get_type", libgtk4), GType, ())
                end
        end
        begin
            @cenum ScalingFilter::Int32 ScalingFilter_LINEAR = 0 ScalingFilter_NEAREST = 1 ScalingFilter_TRILINEAR = 2
            (GLib.g_type(::Type{T}) where T <: ScalingFilter) = begin
                    ccall(("gsk_scaling_filter_get_type", libgtk4), GType, ())
                end
        end
        begin
            @cenum SerializationError::Int32 SerializationError_UNSUPPORTED_FORMAT = 0 SerializationError_UNSUPPORTED_VERSION = 1 SerializationError_INVALID_DATA = 2
            (GLib.g_type(::Type{T}) where T <: SerializationError) = begin
                    ccall(("gsk_serialization_error_get_type", libgtk4), GType, ())
                end
        end
        begin
            @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) = begin
                    ccall(("gsk_transform_category_get_type", libgtk4), GType, ())
                end
        end
        begin
            @bitflag PathForeachFlags::UInt32 PathForeachFlags_ONLY_LINES = 0 PathForeachFlags_QUAD = 1 PathForeachFlags_CUBIC = 2 PathForeachFlags_CONIC = 4
            (GLib.g_type(::Type{T}) where T <: PathForeachFlags) = begin
                    ccall(("gsk_path_foreach_flags_get_type", libgtk4), GType, ())
                end
        end
        @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
    end
end))
end
