;; Namespace Gdk

;; Enums

(define-enum-extended AxisUse
  (in-module "Gdk")
  (c-name "GdkAxisUse")
  (values
    '("ignore" "GDK_AXIS_IGNORE" "0")
    '("x" "GDK_AXIS_X" "1")
    '("y" "GDK_AXIS_Y" "2")
    '("delta-x" "GDK_AXIS_DELTA_X" "3")
    '("delta-y" "GDK_AXIS_DELTA_Y" "4")
    '("pressure" "GDK_AXIS_PRESSURE" "5")
    '("xtilt" "GDK_AXIS_XTILT" "6")
    '("ytilt" "GDK_AXIS_YTILT" "7")
    '("wheel" "GDK_AXIS_WHEEL" "8")
    '("distance" "GDK_AXIS_DISTANCE" "9")
    '("rotation" "GDK_AXIS_ROTATION" "10")
    '("slider" "GDK_AXIS_SLIDER" "11")
    '("last" "GDK_AXIS_LAST" "12")
  )
)

(define-enum-extended CicpRange
  (in-module "Gdk")
  (c-name "GdkCicpRange")
  (values
    '("narrow" "GDK_CICP_RANGE_NARROW" "0")
    '("full" "GDK_CICP_RANGE_FULL" "1")
  )
)

(define-enum-extended ColorChannel
  (in-module "Gdk")
  (c-name "GdkColorChannel")
  (values
    '("red" "GDK_COLOR_CHANNEL_RED" "0")
    '("green" "GDK_COLOR_CHANNEL_GREEN" "1")
    '("blue" "GDK_COLOR_CHANNEL_BLUE" "2")
    '("alpha" "GDK_COLOR_CHANNEL_ALPHA" "3")
  )
)

(define-enum-extended CrossingMode
  (in-module "Gdk")
  (c-name "GdkCrossingMode")
  (values
    '("normal" "GDK_CROSSING_NORMAL" "0")
    '("grab" "GDK_CROSSING_GRAB" "1")
    '("ungrab" "GDK_CROSSING_UNGRAB" "2")
    '("gtk-grab" "GDK_CROSSING_GTK_GRAB" "3")
    '("gtk-ungrab" "GDK_CROSSING_GTK_UNGRAB" "4")
    '("state-changed" "GDK_CROSSING_STATE_CHANGED" "5")
    '("touch-begin" "GDK_CROSSING_TOUCH_BEGIN" "6")
    '("touch-end" "GDK_CROSSING_TOUCH_END" "7")
    '("device-switch" "GDK_CROSSING_DEVICE_SWITCH" "8")
  )
)

(define-enum-extended DevicePadFeature
  (in-module "Gdk")
  (c-name "GdkDevicePadFeature")
  (values
    '("button" "GDK_DEVICE_PAD_FEATURE_BUTTON" "0")
    '("ring" "GDK_DEVICE_PAD_FEATURE_RING" "1")
    '("strip" "GDK_DEVICE_PAD_FEATURE_STRIP" "2")
  )
)

(define-enum-extended DeviceToolType
  (in-module "Gdk")
  (c-name "GdkDeviceToolType")
  (values
    '("unknown" "GDK_DEVICE_TOOL_TYPE_UNKNOWN" "0")
    '("pen" "GDK_DEVICE_TOOL_TYPE_PEN" "1")
    '("eraser" "GDK_DEVICE_TOOL_TYPE_ERASER" "2")
    '("brush" "GDK_DEVICE_TOOL_TYPE_BRUSH" "3")
    '("pencil" "GDK_DEVICE_TOOL_TYPE_PENCIL" "4")
    '("airbrush" "GDK_DEVICE_TOOL_TYPE_AIRBRUSH" "5")
    '("mouse" "GDK_DEVICE_TOOL_TYPE_MOUSE" "6")
    '("lens" "GDK_DEVICE_TOOL_TYPE_LENS" "7")
  )
)

(define-enum-extended DmabufError
  (in-module "Gdk")
  (c-name "GdkDmabufError")
  (values
    '("not-available" "GDK_DMABUF_ERROR_NOT_AVAILABLE" "0")
    '("unsupported-format" "GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT" "1")
    '("creation-failed" "GDK_DMABUF_ERROR_CREATION_FAILED" "2")
  )
)

(define-enum-extended DragCancelReason
  (in-module "Gdk")
  (c-name "GdkDragCancelReason")
  (values
    '("no-target" "GDK_DRAG_CANCEL_NO_TARGET" "0")
    '("user-cancelled" "GDK_DRAG_CANCEL_USER_CANCELLED" "1")
    '("error" "GDK_DRAG_CANCEL_ERROR" "2")
  )
)

(define-enum-extended EventType
  (in-module "Gdk")
  (c-name "GdkEventType")
  (values
    '("delete" "GDK_DELETE" "0")
    '("motion-notify" "GDK_MOTION_NOTIFY" "1")
    '("button-press" "GDK_BUTTON_PRESS" "2")
    '("button-release" "GDK_BUTTON_RELEASE" "3")
    '("key-press" "GDK_KEY_PRESS" "4")
    '("key-release" "GDK_KEY_RELEASE" "5")
    '("enter-notify" "GDK_ENTER_NOTIFY" "6")
    '("leave-notify" "GDK_LEAVE_NOTIFY" "7")
    '("focus-change" "GDK_FOCUS_CHANGE" "8")
    '("proximity-in" "GDK_PROXIMITY_IN" "9")
    '("proximity-out" "GDK_PROXIMITY_OUT" "10")
    '("drag-enter" "GDK_DRAG_ENTER" "11")
    '("drag-leave" "GDK_DRAG_LEAVE" "12")
    '("drag-motion" "GDK_DRAG_MOTION" "13")
    '("drop-start" "GDK_DROP_START" "14")
    '("scroll" "GDK_SCROLL" "15")
    '("grab-broken" "GDK_GRAB_BROKEN" "16")
    '("touch-begin" "GDK_TOUCH_BEGIN" "17")
    '("touch-update" "GDK_TOUCH_UPDATE" "18")
    '("touch-end" "GDK_TOUCH_END" "19")
    '("touch-cancel" "GDK_TOUCH_CANCEL" "20")
    '("touchpad-swipe" "GDK_TOUCHPAD_SWIPE" "21")
    '("touchpad-pinch" "GDK_TOUCHPAD_PINCH" "22")
    '("pad-button-press" "GDK_PAD_BUTTON_PRESS" "23")
    '("pad-button-release" "GDK_PAD_BUTTON_RELEASE" "24")
    '("pad-ring" "GDK_PAD_RING" "25")
    '("pad-strip" "GDK_PAD_STRIP" "26")
    '("pad-group-mode" "GDK_PAD_GROUP_MODE" "27")
    '("touchpad-hold" "GDK_TOUCHPAD_HOLD" "28")
    '("pad-dial" "GDK_PAD_DIAL" "29")
    '("event-last" "GDK_EVENT_LAST" "30")
  )
)

(define-enum-extended FullscreenMode
  (in-module "Gdk")
  (c-name "GdkFullscreenMode")
  (values
    '("current-monitor" "GDK_FULLSCREEN_ON_CURRENT_MONITOR" "0")
    '("all-monitors" "GDK_FULLSCREEN_ON_ALL_MONITORS" "1")
  )
)

(define-enum-extended GLError
  (in-module "Gdk")
  (c-name "GdkGLError")
  (values
    '("not-available" "GDK_GL_ERROR_NOT_AVAILABLE" "0")
    '("unsupported-format" "GDK_GL_ERROR_UNSUPPORTED_FORMAT" "1")
    '("unsupported-profile" "GDK_GL_ERROR_UNSUPPORTED_PROFILE" "2")
    '("compilation-failed" "GDK_GL_ERROR_COMPILATION_FAILED" "3")
    '("link-failed" "GDK_GL_ERROR_LINK_FAILED" "4")
  )
)

(define-enum-extended Gravity
  (in-module "Gdk")
  (c-name "GdkGravity")
  (values
    '("north-west" "GDK_GRAVITY_NORTH_WEST" "1")
    '("north" "GDK_GRAVITY_NORTH" "2")
    '("north-east" "GDK_GRAVITY_NORTH_EAST" "3")
    '("west" "GDK_GRAVITY_WEST" "4")
    '("center" "GDK_GRAVITY_CENTER" "5")
    '("east" "GDK_GRAVITY_EAST" "6")
    '("south-west" "GDK_GRAVITY_SOUTH_WEST" "7")
    '("south" "GDK_GRAVITY_SOUTH" "8")
    '("south-east" "GDK_GRAVITY_SOUTH_EAST" "9")
    '("static" "GDK_GRAVITY_STATIC" "10")
  )
)

(define-enum-extended InputSource
  (in-module "Gdk")
  (c-name "GdkInputSource")
  (values
    '("mouse" "GDK_SOURCE_MOUSE" "0")
    '("pen" "GDK_SOURCE_PEN" "1")
    '("keyboard" "GDK_SOURCE_KEYBOARD" "2")
    '("touchscreen" "GDK_SOURCE_TOUCHSCREEN" "3")
    '("touchpad" "GDK_SOURCE_TOUCHPAD" "4")
    '("trackpoint" "GDK_SOURCE_TRACKPOINT" "5")
    '("tablet-pad" "GDK_SOURCE_TABLET_PAD" "6")
  )
)

(define-enum-extended KeyMatch
  (in-module "Gdk")
  (c-name "GdkKeyMatch")
  (values
    '("none" "GDK_KEY_MATCH_NONE" "0")
    '("partial" "GDK_KEY_MATCH_PARTIAL" "1")
    '("exact" "GDK_KEY_MATCH_EXACT" "2")
  )
)

(define-enum-extended MemoryFormat
  (in-module "Gdk")
  (c-name "GdkMemoryFormat")
  (values
    '("b8g8r8a8-premultiplied" "GDK_MEMORY_B8G8R8A8_PREMULTIPLIED" "0")
    '("a8r8g8b8-premultiplied" "GDK_MEMORY_A8R8G8B8_PREMULTIPLIED" "1")
    '("r8g8b8a8-premultiplied" "GDK_MEMORY_R8G8B8A8_PREMULTIPLIED" "2")
    '("b8g8r8a8" "GDK_MEMORY_B8G8R8A8" "3")
    '("a8r8g8b8" "GDK_MEMORY_A8R8G8B8" "4")
    '("r8g8b8a8" "GDK_MEMORY_R8G8B8A8" "5")
    '("a8b8g8r8" "GDK_MEMORY_A8B8G8R8" "6")
    '("r8g8b8" "GDK_MEMORY_R8G8B8" "7")
    '("b8g8r8" "GDK_MEMORY_B8G8R8" "8")
    '("r16g16b16" "GDK_MEMORY_R16G16B16" "9")
    '("r16g16b16a16-premultiplied" "GDK_MEMORY_R16G16B16A16_PREMULTIPLIED" "10")
    '("r16g16b16a16" "GDK_MEMORY_R16G16B16A16" "11")
    '("r16g16b16-float" "GDK_MEMORY_R16G16B16_FLOAT" "12")
    '("r16g16b16a16-float-premultiplied" "GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED" "13")
    '("r16g16b16a16-float" "GDK_MEMORY_R16G16B16A16_FLOAT" "14")
    '("r32g32b32-float" "GDK_MEMORY_R32G32B32_FLOAT" "15")
    '("r32g32b32a32-float-premultiplied" "GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED" "16")
    '("r32g32b32a32-float" "GDK_MEMORY_R32G32B32A32_FLOAT" "17")
    '("g8a8-premultiplied" "GDK_MEMORY_G8A8_PREMULTIPLIED" "18")
    '("g8a8" "GDK_MEMORY_G8A8" "19")
    '("g8" "GDK_MEMORY_G8" "20")
    '("g16a16-premultiplied" "GDK_MEMORY_G16A16_PREMULTIPLIED" "21")
    '("g16a16" "GDK_MEMORY_G16A16" "22")
    '("g16" "GDK_MEMORY_G16" "23")
    '("a8" "GDK_MEMORY_A8" "24")
    '("a16" "GDK_MEMORY_A16" "25")
    '("a16-float" "GDK_MEMORY_A16_FLOAT" "26")
    '("a32-float" "GDK_MEMORY_A32_FLOAT" "27")
    '("a8b8g8r8-premultiplied" "GDK_MEMORY_A8B8G8R8_PREMULTIPLIED" "28")
    '("b8g8r8x8" "GDK_MEMORY_B8G8R8X8" "29")
    '("x8r8g8b8" "GDK_MEMORY_X8R8G8B8" "30")
    '("r8g8b8x8" "GDK_MEMORY_R8G8B8X8" "31")
    '("x8b8g8r8" "GDK_MEMORY_X8B8G8R8" "32")
    '("g8-b8r8-420" "GDK_MEMORY_G8_B8R8_420" "33")
    '("g8-r8b8-420" "GDK_MEMORY_G8_R8B8_420" "34")
    '("g8-b8r8-422" "GDK_MEMORY_G8_B8R8_422" "35")
    '("g8-r8b8-422" "GDK_MEMORY_G8_R8B8_422" "36")
    '("g8-b8r8-444" "GDK_MEMORY_G8_B8R8_444" "37")
    '("g8-r8b8-444" "GDK_MEMORY_G8_R8B8_444" "38")
    '("g10x6-b10x6r10x6-420" "GDK_MEMORY_G10X6_B10X6R10X6_420" "39")
    '("g12x4-b12x4r12x4-420" "GDK_MEMORY_G12X4_B12X4R12X4_420" "40")
    '("g16-b16r16-420" "GDK_MEMORY_G16_B16R16_420" "41")
    '("g8-b8-r8-410" "GDK_MEMORY_G8_B8_R8_410" "42")
    '("g8-r8-b8-410" "GDK_MEMORY_G8_R8_B8_410" "43")
    '("g8-b8-r8-411" "GDK_MEMORY_G8_B8_R8_411" "44")
    '("g8-r8-b8-411" "GDK_MEMORY_G8_R8_B8_411" "45")
    '("g8-b8-r8-420" "GDK_MEMORY_G8_B8_R8_420" "46")
    '("g8-r8-b8-420" "GDK_MEMORY_G8_R8_B8_420" "47")
    '("g8-b8-r8-422" "GDK_MEMORY_G8_B8_R8_422" "48")
    '("g8-r8-b8-422" "GDK_MEMORY_G8_R8_B8_422" "49")
    '("g8-b8-r8-444" "GDK_MEMORY_G8_B8_R8_444" "50")
    '("g8-r8-b8-444" "GDK_MEMORY_G8_R8_B8_444" "51")
    '("g8b8g8r8-422" "GDK_MEMORY_G8B8G8R8_422" "52")
    '("g8r8g8b8-422" "GDK_MEMORY_G8R8G8B8_422" "53")
    '("r8g8b8g8-422" "GDK_MEMORY_R8G8B8G8_422" "54")
    '("b8g8r8g8-422" "GDK_MEMORY_B8G8R8G8_422" "55")
    '("x6g10-x6b10-x6r10-420" "GDK_MEMORY_X6G10_X6B10_X6R10_420" "56")
    '("x6g10-x6b10-x6r10-422" "GDK_MEMORY_X6G10_X6B10_X6R10_422" "57")
    '("x6g10-x6b10-x6r10-444" "GDK_MEMORY_X6G10_X6B10_X6R10_444" "58")
    '("x4g12-x4b12-x4r12-420" "GDK_MEMORY_X4G12_X4B12_X4R12_420" "59")
    '("x4g12-x4b12-x4r12-422" "GDK_MEMORY_X4G12_X4B12_X4R12_422" "60")
    '("x4g12-x4b12-x4r12-444" "GDK_MEMORY_X4G12_X4B12_X4R12_444" "61")
    '("g16-b16-r16-420" "GDK_MEMORY_G16_B16_R16_420" "62")
    '("g16-b16-r16-422" "GDK_MEMORY_G16_B16_R16_422" "63")
    '("g16-b16-r16-444" "GDK_MEMORY_G16_B16_R16_444" "64")
    '("argb2101010-premultiplied" "GDK_MEMORY_ARGB2101010_PREMULTIPLIED" "65")
    '("argb2101010" "GDK_MEMORY_ARGB2101010" "66")
    '("xrgb2101010" "GDK_MEMORY_XRGB2101010" "67")
    '("abgr2101010-premultiplied" "GDK_MEMORY_ABGR2101010_PREMULTIPLIED" "68")
    '("abgr2101010" "GDK_MEMORY_ABGR2101010" "69")
    '("xbgr2101010" "GDK_MEMORY_XBGR2101010" "70")
    '("n-formats" "GDK_MEMORY_N_FORMATS" "71")
  )
)

(define-enum-extended NotifyType
  (in-module "Gdk")
  (c-name "GdkNotifyType")
  (values
    '("ancestor" "GDK_NOTIFY_ANCESTOR" "0")
    '("virtual" "GDK_NOTIFY_VIRTUAL" "1")
    '("inferior" "GDK_NOTIFY_INFERIOR" "2")
    '("nonlinear" "GDK_NOTIFY_NONLINEAR" "3")
    '("nonlinear-virtual" "GDK_NOTIFY_NONLINEAR_VIRTUAL" "4")
    '("unknown" "GDK_NOTIFY_UNKNOWN" "5")
  )
)

(define-enum-extended ScrollDirection
  (in-module "Gdk")
  (c-name "GdkScrollDirection")
  (values
    '("up" "GDK_SCROLL_UP" "0")
    '("down" "GDK_SCROLL_DOWN" "1")
    '("left" "GDK_SCROLL_LEFT" "2")
    '("right" "GDK_SCROLL_RIGHT" "3")
    '("smooth" "GDK_SCROLL_SMOOTH" "4")
  )
)

(define-enum-extended ScrollRelativeDirection
  (in-module "Gdk")
  (c-name "GdkScrollRelativeDirection")
  (values
    '("identical" "GDK_SCROLL_RELATIVE_DIRECTION_IDENTICAL" "0")
    '("inverted" "GDK_SCROLL_RELATIVE_DIRECTION_INVERTED" "1")
    '("unknown" "GDK_SCROLL_RELATIVE_DIRECTION_UNKNOWN" "2")
  )
)

(define-enum-extended ScrollUnit
  (in-module "Gdk")
  (c-name "GdkScrollUnit")
  (values
    '("wheel" "GDK_SCROLL_UNIT_WHEEL" "0")
    '("surface" "GDK_SCROLL_UNIT_SURFACE" "1")
  )
)

(define-enum-extended SubpixelLayout
  (in-module "Gdk")
  (c-name "GdkSubpixelLayout")
  (values
    '("unknown" "GDK_SUBPIXEL_LAYOUT_UNKNOWN" "0")
    '("none" "GDK_SUBPIXEL_LAYOUT_NONE" "1")
    '("horizontal-rgb" "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB" "2")
    '("horizontal-bgr" "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR" "3")
    '("vertical-rgb" "GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB" "4")
    '("vertical-bgr" "GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR" "5")
  )
)

(define-enum-extended SurfaceEdge
  (in-module "Gdk")
  (c-name "GdkSurfaceEdge")
  (values
    '("north-west" "GDK_SURFACE_EDGE_NORTH_WEST" "0")
    '("north" "GDK_SURFACE_EDGE_NORTH" "1")
    '("north-east" "GDK_SURFACE_EDGE_NORTH_EAST" "2")
    '("west" "GDK_SURFACE_EDGE_WEST" "3")
    '("east" "GDK_SURFACE_EDGE_EAST" "4")
    '("south-west" "GDK_SURFACE_EDGE_SOUTH_WEST" "5")
    '("south" "GDK_SURFACE_EDGE_SOUTH" "6")
    '("south-east" "GDK_SURFACE_EDGE_SOUTH_EAST" "7")
  )
)

(define-enum-extended TextureError
  (in-module "Gdk")
  (c-name "GdkTextureError")
  (values
    '("too-large" "GDK_TEXTURE_ERROR_TOO_LARGE" "0")
    '("corrupt-image" "GDK_TEXTURE_ERROR_CORRUPT_IMAGE" "1")
    '("unsupported-content" "GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT" "2")
    '("unsupported-format" "GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT" "3")
  )
)

(define-enum-extended TitlebarGesture
  (in-module "Gdk")
  (c-name "GdkTitlebarGesture")
  (values
    '("double-click" "GDK_TITLEBAR_GESTURE_DOUBLE_CLICK" "1")
    '("right-click" "GDK_TITLEBAR_GESTURE_RIGHT_CLICK" "2")
    '("middle-click" "GDK_TITLEBAR_GESTURE_MIDDLE_CLICK" "3")
  )
)

(define-enum-extended TouchpadGesturePhase
  (in-module "Gdk")
  (c-name "GdkTouchpadGesturePhase")
  (values
    '("begin" "GDK_TOUCHPAD_GESTURE_PHASE_BEGIN" "0")
    '("update" "GDK_TOUCHPAD_GESTURE_PHASE_UPDATE" "1")
    '("end" "GDK_TOUCHPAD_GESTURE_PHASE_END" "2")
    '("cancel" "GDK_TOUCHPAD_GESTURE_PHASE_CANCEL" "3")
  )
)

(define-enum-extended VulkanError
  (in-module "Gdk")
  (c-name "GdkVulkanError")
  (values
    '("unsupported" "GDK_VULKAN_ERROR_UNSUPPORTED" "0")
    '("not-available" "GDK_VULKAN_ERROR_NOT_AVAILABLE" "1")
  )
)


;; Flags

(define-flags-extended AnchorHints
  (in-module "Gdk")
  (c-name "GdkAnchorHints")
  (values
    '("flip_x" "GDK_ANCHOR_FLIP_X" "1 << 0")
    '("flip_y" "GDK_ANCHOR_FLIP_Y" "1 << 1")
    '("slide_x" "GDK_ANCHOR_SLIDE_X" "1 << 2")
    '("slide_y" "GDK_ANCHOR_SLIDE_Y" "1 << 3")
    '("resize_x" "GDK_ANCHOR_RESIZE_X" "1 << 4")
    '("resize_y" "GDK_ANCHOR_RESIZE_Y" "1 << 5")
    '("flip" "GDK_ANCHOR_FLIP" "0x3")
    '("slide" "GDK_ANCHOR_SLIDE" "0xc")
    '("resize" "GDK_ANCHOR_RESIZE" "0x30")
  )
)

(define-flags-extended AxisFlags
  (in-module "Gdk")
  (c-name "GdkAxisFlags")
  (values
    '("x" "GDK_AXIS_FLAG_X" "1 << 1")
    '("y" "GDK_AXIS_FLAG_Y" "1 << 2")
    '("delta_x" "GDK_AXIS_FLAG_DELTA_X" "1 << 3")
    '("delta_y" "GDK_AXIS_FLAG_DELTA_Y" "1 << 4")
    '("pressure" "GDK_AXIS_FLAG_PRESSURE" "1 << 5")
    '("xtilt" "GDK_AXIS_FLAG_XTILT" "1 << 6")
    '("ytilt" "GDK_AXIS_FLAG_YTILT" "1 << 7")
    '("wheel" "GDK_AXIS_FLAG_WHEEL" "1 << 8")
    '("distance" "GDK_AXIS_FLAG_DISTANCE" "1 << 9")
    '("rotation" "GDK_AXIS_FLAG_ROTATION" "1 << 10")
    '("slider" "GDK_AXIS_FLAG_SLIDER" "1 << 11")
  )
)

(define-flags-extended DragAction
  (in-module "Gdk")
  (c-name "GdkDragAction")
  (values
    '("none" "GDK_ACTION_NONE" "0x0")
    '("copy" "GDK_ACTION_COPY" "1 << 0")
    '("move" "GDK_ACTION_MOVE" "1 << 1")
    '("link" "GDK_ACTION_LINK" "1 << 2")
    '("ask" "GDK_ACTION_ASK" "1 << 3")
  )
)

(define-flags-extended FrameClockPhase
  (in-module "Gdk")
  (c-name "GdkFrameClockPhase")
  (values
    '("none" "GDK_FRAME_CLOCK_PHASE_NONE" "0x0")
    '("flush_events" "GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS" "1 << 0")
    '("before_paint" "GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT" "1 << 1")
    '("update" "GDK_FRAME_CLOCK_PHASE_UPDATE" "1 << 2")
    '("layout" "GDK_FRAME_CLOCK_PHASE_LAYOUT" "1 << 3")
    '("paint" "GDK_FRAME_CLOCK_PHASE_PAINT" "1 << 4")
    '("resume_events" "GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS" "1 << 5")
    '("after_paint" "GDK_FRAME_CLOCK_PHASE_AFTER_PAINT" "1 << 6")
  )
)

(define-flags-extended GLAPI
  (in-module "Gdk")
  (c-name "GdkGLAPI")
  (values
    '("gl" "GDK_GL_API_GL" "1 << 0")
    '("gles" "GDK_GL_API_GLES" "1 << 1")
  )
)

(define-flags-extended ModifierType
  (in-module "Gdk")
  (c-name "GdkModifierType")
  (values
    '("no_modifier_mask" "GDK_NO_MODIFIER_MASK" "0x0")
    '("shift_mask" "GDK_SHIFT_MASK" "1 << 0")
    '("lock_mask" "GDK_LOCK_MASK" "1 << 1")
    '("control_mask" "GDK_CONTROL_MASK" "1 << 2")
    '("alt_mask" "GDK_ALT_MASK" "1 << 3")
    '("button1_mask" "GDK_BUTTON1_MASK" "1 << 8")
    '("button2_mask" "GDK_BUTTON2_MASK" "1 << 9")
    '("button3_mask" "GDK_BUTTON3_MASK" "1 << 10")
    '("button4_mask" "GDK_BUTTON4_MASK" "1 << 11")
    '("button5_mask" "GDK_BUTTON5_MASK" "1 << 12")
    '("super_mask" "GDK_SUPER_MASK" "1 << 26")
    '("hyper_mask" "GDK_HYPER_MASK" "1 << 27")
    '("meta_mask" "GDK_META_MASK" "1 << 28")
  )
)

(define-flags-extended PaintableFlags
  (in-module "Gdk")
  (c-name "GdkPaintableFlags")
  (values
    '("static_size" "GDK_PAINTABLE_STATIC_SIZE" "1 << 0")
    '("static_contents" "GDK_PAINTABLE_STATIC_CONTENTS" "1 << 1")
  )
)

(define-flags-extended SeatCapabilities
  (in-module "Gdk")
  (c-name "GdkSeatCapabilities")
  (values
    '("none" "GDK_SEAT_CAPABILITY_NONE" "0x0")
    '("pointer" "GDK_SEAT_CAPABILITY_POINTER" "1 << 0")
    '("touch" "GDK_SEAT_CAPABILITY_TOUCH" "1 << 1")
    '("tablet_stylus" "GDK_SEAT_CAPABILITY_TABLET_STYLUS" "1 << 2")
    '("keyboard" "GDK_SEAT_CAPABILITY_KEYBOARD" "1 << 3")
    '("tablet_pad" "GDK_SEAT_CAPABILITY_TABLET_PAD" "1 << 4")
    '("all_pointing" "GDK_SEAT_CAPABILITY_ALL_POINTING" "0x7")
    '("all" "GDK_SEAT_CAPABILITY_ALL" "0x1f")
  )
)

(define-flags-extended ToplevelCapabilities
  (in-module "Gdk")
  (c-name "GdkToplevelCapabilities")
  (values
    '("edge_constraints" "GDK_TOPLEVEL_CAPABILITIES_EDGE_CONSTRAINTS" "1 << 0")
    '("inhibit_shortcuts" "GDK_TOPLEVEL_CAPABILITIES_INHIBIT_SHORTCUTS" "1 << 1")
    '("titlebar_gestures" "GDK_TOPLEVEL_CAPABILITIES_TITLEBAR_GESTURES" "1 << 2")
    '("window_menu" "GDK_TOPLEVEL_CAPABILITIES_WINDOW_MENU" "1 << 3")
    '("maximize" "GDK_TOPLEVEL_CAPABILITIES_MAXIMIZE" "1 << 4")
    '("fullscreen" "GDK_TOPLEVEL_CAPABILITIES_FULLSCREEN" "1 << 5")
    '("minimize" "GDK_TOPLEVEL_CAPABILITIES_MINIMIZE" "1 << 6")
    '("lower" "GDK_TOPLEVEL_CAPABILITIES_LOWER" "1 << 7")
  )
)

(define-flags-extended ToplevelState
  (in-module "Gdk")
  (c-name "GdkToplevelState")
  (values
    '("minimized" "GDK_TOPLEVEL_STATE_MINIMIZED" "1 << 0")
    '("maximized" "GDK_TOPLEVEL_STATE_MAXIMIZED" "1 << 1")
    '("sticky" "GDK_TOPLEVEL_STATE_STICKY" "1 << 2")
    '("fullscreen" "GDK_TOPLEVEL_STATE_FULLSCREEN" "1 << 3")
    '("above" "GDK_TOPLEVEL_STATE_ABOVE" "1 << 4")
    '("below" "GDK_TOPLEVEL_STATE_BELOW" "1 << 5")
    '("focused" "GDK_TOPLEVEL_STATE_FOCUSED" "1 << 6")
    '("tiled" "GDK_TOPLEVEL_STATE_TILED" "1 << 7")
    '("top_tiled" "GDK_TOPLEVEL_STATE_TOP_TILED" "1 << 8")
    '("top_resizable" "GDK_TOPLEVEL_STATE_TOP_RESIZABLE" "1 << 9")
    '("right_tiled" "GDK_TOPLEVEL_STATE_RIGHT_TILED" "1 << 10")
    '("right_resizable" "GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE" "1 << 11")
    '("bottom_tiled" "GDK_TOPLEVEL_STATE_BOTTOM_TILED" "1 << 12")
    '("bottom_resizable" "GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE" "1 << 13")
    '("left_tiled" "GDK_TOPLEVEL_STATE_LEFT_TILED" "1 << 14")
    '("left_resizable" "GDK_TOPLEVEL_STATE_LEFT_RESIZABLE" "1 << 15")
    '("suspended" "GDK_TOPLEVEL_STATE_SUSPENDED" "1 << 16")
  )
)

