;; From gtkaboutdialog.h

;; Original typedef:
;; typedef enum {
;;   GTK_LICENSE_UNKNOWN,
;;   GTK_LICENSE_CUSTOM,
;; 
;;   GTK_LICENSE_GPL_2_0,
;;   GTK_LICENSE_GPL_3_0,
;; 
;;   GTK_LICENSE_LGPL_2_1,
;;   GTK_LICENSE_LGPL_3_0,
;; 
;;   GTK_LICENSE_BSD,
;;   GTK_LICENSE_MIT_X11,
;; 
;;   GTK_LICENSE_ARTISTIC,
;; 
;;   GTK_LICENSE_GPL_2_0_ONLY,
;;   GTK_LICENSE_GPL_3_0_ONLY,
;;   GTK_LICENSE_LGPL_2_1_ONLY,
;;   GTK_LICENSE_LGPL_3_0_ONLY,
;; 
;;   GTK_LICENSE_AGPL_3_0,
;;   GTK_LICENSE_AGPL_3_0_ONLY,
;; 
;;   GTK_LICENSE_BSD_3,
;;   GTK_LICENSE_APACHE_2_0,
;;   GTK_LICENSE_MPL_2_0,
;;   GTK_LICENSE_0BSD
;; } GtkLicense;

(define-enum-extended License
  (in-module "Gtk")
  (c-name "GtkLicense")
  (values
    '("unknown" "GTK_LICENSE_UNKNOWN" "0")
    '("custom" "GTK_LICENSE_CUSTOM" "1")
    '("gpl-2-0" "GTK_LICENSE_GPL_2_0" "2")
    '("gpl-3-0" "GTK_LICENSE_GPL_3_0" "3")
    '("lgpl-2-1" "GTK_LICENSE_LGPL_2_1" "4")
    '("lgpl-3-0" "GTK_LICENSE_LGPL_3_0" "5")
    '("bsd" "GTK_LICENSE_BSD" "6")
    '("mit-x11" "GTK_LICENSE_MIT_X11" "7")
    '("artistic" "GTK_LICENSE_ARTISTIC" "8")
    '("gpl-2-0-only" "GTK_LICENSE_GPL_2_0_ONLY" "9")
    '("gpl-3-0-only" "GTK_LICENSE_GPL_3_0_ONLY" "10")
    '("lgpl-2-1-only" "GTK_LICENSE_LGPL_2_1_ONLY" "11")
    '("lgpl-3-0-only" "GTK_LICENSE_LGPL_3_0_ONLY" "12")
    '("agpl-3-0" "GTK_LICENSE_AGPL_3_0" "13")
    '("agpl-3-0-only" "GTK_LICENSE_AGPL_3_0_ONLY" "14")
    '("bsd-3" "GTK_LICENSE_BSD_3" "15")
    '("apache-2-0" "GTK_LICENSE_APACHE_2_0" "16")
    '("mpl-2-0" "GTK_LICENSE_MPL_2_0" "17")
    '("0bsd" "GTK_LICENSE_0BSD" "18")
  )
)

;; From gtkaccessible.h

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
;;   GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
;;   GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE
;; } GtkAccessiblePlatformState;

(define-enum-extended AccessiblePlatformState
  (in-module "Gtk")
  (c-name "GtkAccessiblePlatformState")
  (values
    '("focusable" "GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE" "0")
    '("focused" "GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED" "1")
    '("active" "GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE" "2")
  )
)

;; From gtkaccessibletext.h

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER,
;;   GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD,
;;   GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE,
;;   GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE,
;;   GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH
;; } GtkAccessibleTextGranularity;

(define-enum-extended AccessibleTextGranularity
  (in-module "Gtk")
  (c-name "GtkAccessibleTextGranularity")
  (values
    '("character" "GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER" "0")
    '("word" "GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD" "1")
    '("sentence" "GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE" "2")
    '("line" "GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE" "3")
    '("paragraph" "GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH" "4")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT,
;;   GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE
;; } GtkAccessibleTextContentChange;

(define-enum-extended AccessibleTextContentChange
  (in-module "Gtk")
  (c-name "GtkAccessibleTextContentChange")
  (values
    '("insert" "GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT" "0")
    '("remove" "GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE" "1")
  )
)

;; From gtkapplication.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_APPLICATION_INHIBIT_LOGOUT  = (1 << 0),
;;   GTK_APPLICATION_INHIBIT_SWITCH  = (1 << 1),
;;   GTK_APPLICATION_INHIBIT_SUSPEND = (1 << 2),
;;   GTK_APPLICATION_INHIBIT_IDLE    = (1 << 3)
;; } GtkApplicationInhibitFlags;

(define-flags-extended ApplicationInhibitFlags
  (in-module "Gtk")
  (c-name "GtkApplicationInhibitFlags")
  (values
    '("logout" "GTK_APPLICATION_INHIBIT_LOGOUT" "(1 << 0)")
    '("switch" "GTK_APPLICATION_INHIBIT_SWITCH" "(1 << 1)")
    '("suspend" "GTK_APPLICATION_INHIBIT_SUSPEND" "(1 << 2)")
    '("idle" "GTK_APPLICATION_INHIBIT_IDLE" "(1 << 3)")
  )
)

;; From gtkbuilder.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION,
;;   GTK_BUILDER_ERROR_UNHANDLED_TAG,
;;   GTK_BUILDER_ERROR_MISSING_ATTRIBUTE,
;;   GTK_BUILDER_ERROR_INVALID_ATTRIBUTE,
;;   GTK_BUILDER_ERROR_INVALID_TAG,
;;   GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE,
;;   GTK_BUILDER_ERROR_INVALID_VALUE,
;;   GTK_BUILDER_ERROR_VERSION_MISMATCH,
;;   GTK_BUILDER_ERROR_DUPLICATE_ID,
;;   GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED,
;;   GTK_BUILDER_ERROR_TEMPLATE_MISMATCH,
;;   GTK_BUILDER_ERROR_INVALID_PROPERTY,
;;   GTK_BUILDER_ERROR_INVALID_SIGNAL,
;;   GTK_BUILDER_ERROR_INVALID_ID,
;;   GTK_BUILDER_ERROR_INVALID_FUNCTION
;; } GtkBuilderError;

(define-enum-extended BuilderError
  (in-module "Gtk")
  (c-name "GtkBuilderError")
  (values
    '("invalid-type-function" "GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION" "0")
    '("unhandled-tag" "GTK_BUILDER_ERROR_UNHANDLED_TAG" "1")
    '("missing-attribute" "GTK_BUILDER_ERROR_MISSING_ATTRIBUTE" "2")
    '("invalid-attribute" "GTK_BUILDER_ERROR_INVALID_ATTRIBUTE" "3")
    '("invalid-tag" "GTK_BUILDER_ERROR_INVALID_TAG" "4")
    '("missing-property-value" "GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE" "5")
    '("invalid-value" "GTK_BUILDER_ERROR_INVALID_VALUE" "6")
    '("version-mismatch" "GTK_BUILDER_ERROR_VERSION_MISMATCH" "7")
    '("duplicate-id" "GTK_BUILDER_ERROR_DUPLICATE_ID" "8")
    '("object-type-refused" "GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED" "9")
    '("template-mismatch" "GTK_BUILDER_ERROR_TEMPLATE_MISMATCH" "10")
    '("invalid-property" "GTK_BUILDER_ERROR_INVALID_PROPERTY" "11")
    '("invalid-signal" "GTK_BUILDER_ERROR_INVALID_SIGNAL" "12")
    '("invalid-id" "GTK_BUILDER_ERROR_INVALID_ID" "13")
    '("invalid-function" "GTK_BUILDER_ERROR_INVALID_FUNCTION" "14")
  )
)

;; From gtkbuilderscope.h

;; Original typedef:
;; typedef enum { /*< prefix=GTK_BUILDER_CLOSURE >*/
;;   GTK_BUILDER_CLOSURE_SWAPPED = (1 << 0)
;; } GtkBuilderClosureFlags;

(define-flags-extended BuilderClosureFlags
  (in-module "Gtk")
  (c-name "GtkBuilderClosureFlags")
  (values
    '("swapped" "GTK_BUILDER_CLOSURE_SWAPPED" "(1 << 0)")
  )
)

;; From gtkdebug.h

;; Original typedef:
;; typedef enum {
;;   GTK_DEBUG_TEXT            = 1 <<  0,
;;   GTK_DEBUG_TREE            = 1 <<  1,
;;   GTK_DEBUG_KEYBINDINGS     = 1 <<  2,
;;   GTK_DEBUG_MODULES         = 1 <<  3,
;;   GTK_DEBUG_GEOMETRY        = 1 <<  4,
;;   GTK_DEBUG_ICONTHEME       = 1 <<  5,
;;   GTK_DEBUG_PRINTING        = 1 <<  6,
;;   GTK_DEBUG_BUILDER         = 1 <<  7,
;;   GTK_DEBUG_SIZE_REQUEST    = 1 <<  8,
;;   GTK_DEBUG_NO_CSS_CACHE    = 1 <<  9,
;;   GTK_DEBUG_INTERACTIVE     = 1 << 10,
;;   GTK_DEBUG_ACTIONS         = 1 << 12,
;;   GTK_DEBUG_LAYOUT          = 1 << 13,
;;   GTK_DEBUG_SNAPSHOT        = 1 << 14,
;;   GTK_DEBUG_CONSTRAINTS     = 1 << 15,
;;   GTK_DEBUG_BUILDER_OBJECTS = 1 << 16,
;;   GTK_DEBUG_A11Y            = 1 << 17,
;;   GTK_DEBUG_ICONFALLBACK    = 1 << 18,
;;   GTK_DEBUG_INVERT_TEXT_DIR = 1 << 19,
;; } GtkDebugFlags;

(define-flags-extended DebugFlags
  (in-module "Gtk")
  (c-name "GtkDebugFlags")
  (values
    '("text" "GTK_DEBUG_TEXT" "1 << 0")
    '("tree" "GTK_DEBUG_TREE" "1 << 1")
    '("keybindings" "GTK_DEBUG_KEYBINDINGS" "1 << 2")
    '("modules" "GTK_DEBUG_MODULES" "1 << 3")
    '("geometry" "GTK_DEBUG_GEOMETRY" "1 << 4")
    '("icontheme" "GTK_DEBUG_ICONTHEME" "1 << 5")
    '("printing" "GTK_DEBUG_PRINTING" "1 << 6")
    '("builder" "GTK_DEBUG_BUILDER" "1 << 7")
    '("size-request" "GTK_DEBUG_SIZE_REQUEST" "1 << 8")
    '("no-css-cache" "GTK_DEBUG_NO_CSS_CACHE" "1 << 9")
    '("interactive" "GTK_DEBUG_INTERACTIVE" "1 << 10")
    '("actions" "GTK_DEBUG_ACTIONS" "1 << 12")
    '("layout" "GTK_DEBUG_LAYOUT" "1 << 13")
    '("snapshot" "GTK_DEBUG_SNAPSHOT" "1 << 14")
    '("constraints" "GTK_DEBUG_CONSTRAINTS" "1 << 15")
    '("builder-objects" "GTK_DEBUG_BUILDER_OBJECTS" "1 << 16")
    '("a11y" "GTK_DEBUG_A11Y" "1 << 17")
    '("iconfallback" "GTK_DEBUG_ICONFALLBACK" "1 << 18")
    '("invert-text-dir" "GTK_DEBUG_INVERT_TEXT_DIR" "1 << 19")
  )
)

;; From gtkdialogerror.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_DIALOG_ERROR_FAILED,
;;   GTK_DIALOG_ERROR_CANCELLED,
;;   GTK_DIALOG_ERROR_DISMISSED
;; } GtkDialogError;

(define-enum-extended DialogError
  (in-module "Gtk")
  (c-name "GtkDialogError")
  (values
    '("failed" "GTK_DIALOG_ERROR_FAILED" "0")
    '("cancelled" "GTK_DIALOG_ERROR_CANCELLED" "1")
    '("dismissed" "GTK_DIALOG_ERROR_DISMISSED" "2")
  )
)

;; From gtkeditable.h

;; Original typedef:
;; typedef enum {
;;   GTK_EDITABLE_PROP_TEXT,
;;   GTK_EDITABLE_PROP_CURSOR_POSITION,
;;   GTK_EDITABLE_PROP_SELECTION_BOUND,
;;   GTK_EDITABLE_PROP_EDITABLE,
;;   GTK_EDITABLE_PROP_WIDTH_CHARS,
;;   GTK_EDITABLE_PROP_MAX_WIDTH_CHARS,
;;   GTK_EDITABLE_PROP_XALIGN,
;;   GTK_EDITABLE_PROP_ENABLE_UNDO,
;;   GTK_EDITABLE_NUM_PROPERTIES
;; } GtkEditableProperties;

(define-enum-extended EditableProperties
  (in-module "Gtk")
  (c-name "GtkEditableProperties")
  (values
    '("prop-text" "GTK_EDITABLE_PROP_TEXT" "0")
    '("prop-cursor-position" "GTK_EDITABLE_PROP_CURSOR_POSITION" "1")
    '("prop-selection-bound" "GTK_EDITABLE_PROP_SELECTION_BOUND" "2")
    '("prop-editable" "GTK_EDITABLE_PROP_EDITABLE" "3")
    '("prop-width-chars" "GTK_EDITABLE_PROP_WIDTH_CHARS" "4")
    '("prop-max-width-chars" "GTK_EDITABLE_PROP_MAX_WIDTH_CHARS" "5")
    '("prop-xalign" "GTK_EDITABLE_PROP_XALIGN" "6")
    '("prop-enable-undo" "GTK_EDITABLE_PROP_ENABLE_UNDO" "7")
    '("num-properties" "GTK_EDITABLE_NUM_PROPERTIES" "8")
  )
)

;; From gtkentry.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ENTRY_ICON_PRIMARY,
;;   GTK_ENTRY_ICON_SECONDARY
;; } GtkEntryIconPosition;

(define-enum-extended EntryIconPosition
  (in-module "Gtk")
  (c-name "GtkEntryIconPosition")
  (values
    '("primary" "GTK_ENTRY_ICON_PRIMARY" "0")
    '("secondary" "GTK_ENTRY_ICON_SECONDARY" "1")
  )
)

;; From gtkenums.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ALIGN_FILL,
;;   GTK_ALIGN_START,
;;   GTK_ALIGN_END,
;;   GTK_ALIGN_CENTER,
;;   GTK_ALIGN_BASELINE_FILL GDK_AVAILABLE_ENUMERATOR_IN_4_12,
;;   GTK_ALIGN_BASELINE GDK_DEPRECATED_ENUMERATOR_IN_4_12_FOR(GTK_ALIGN_BASELINE_FILL) = GTK_ALIGN_CENTER + 1,
;;   GTK_ALIGN_BASELINE_CENTER GDK_AVAILABLE_ENUMERATOR_IN_4_12,
;; } GtkAlign;

(define-enum-extended Align
  (in-module "Gtk")
  (c-name "GtkAlign")
  (values
    '("fill" "GTK_ALIGN_FILL" "0")
    '("start" "GTK_ALIGN_START" "1")
    '("end" "GTK_ALIGN_END" "2")
    '("center" "GTK_ALIGN_CENTER" "3")
    '("baseline-fill" "GTK_ALIGN_BASELINE_FILL" "4")
    '("baseline" "GTK_ALIGN_BASELINE" "4")
    '("baseline-center" "GTK_ALIGN_BASELINE_CENTER" "5")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ARROW_UP,
;;   GTK_ARROW_DOWN,
;;   GTK_ARROW_LEFT,
;;   GTK_ARROW_RIGHT,
;;   GTK_ARROW_NONE
;; } GtkArrowType;

(define-enum-extended ArrowType
  (in-module "Gtk")
  (c-name "GtkArrowType")
  (values
    '("up" "GTK_ARROW_UP" "0")
    '("down" "GTK_ARROW_DOWN" "1")
    '("left" "GTK_ARROW_LEFT" "2")
    '("right" "GTK_ARROW_RIGHT" "3")
    '("none" "GTK_ARROW_NONE" "4")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_BASELINE_POSITION_TOP,
;;   GTK_BASELINE_POSITION_CENTER,
;;   GTK_BASELINE_POSITION_BOTTOM
;; } GtkBaselinePosition;

(define-enum-extended BaselinePosition
  (in-module "Gtk")
  (c-name "GtkBaselinePosition")
  (values
    '("top" "GTK_BASELINE_POSITION_TOP" "0")
    '("center" "GTK_BASELINE_POSITION_CENTER" "1")
    '("bottom" "GTK_BASELINE_POSITION_BOTTOM" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CONTENT_FIT_FILL,
;;   GTK_CONTENT_FIT_CONTAIN,
;;   GTK_CONTENT_FIT_COVER,
;;   GTK_CONTENT_FIT_SCALE_DOWN,
;; } GtkContentFit;

(define-enum-extended ContentFit
  (in-module "Gtk")
  (c-name "GtkContentFit")
  (values
    '("fill" "GTK_CONTENT_FIT_FILL" "0")
    '("contain" "GTK_CONTENT_FIT_CONTAIN" "1")
    '("cover" "GTK_CONTENT_FIT_COVER" "2")
    '("scale-down" "GTK_CONTENT_FIT_SCALE_DOWN" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_DELETE_CHARS,
;;   GTK_DELETE_WORD_ENDS,
;;   GTK_DELETE_WORDS,
;;   GTK_DELETE_DISPLAY_LINES,
;;   GTK_DELETE_DISPLAY_LINE_ENDS,
;;   GTK_DELETE_PARAGRAPH_ENDS,
;;   GTK_DELETE_PARAGRAPHS,
;;   GTK_DELETE_WHITESPACE
;; } GtkDeleteType;

(define-enum-extended DeleteType
  (in-module "Gtk")
  (c-name "GtkDeleteType")
  (values
    '("chars" "GTK_DELETE_CHARS" "0")
    '("word-ends" "GTK_DELETE_WORD_ENDS" "1")
    '("words" "GTK_DELETE_WORDS" "2")
    '("display-lines" "GTK_DELETE_DISPLAY_LINES" "3")
    '("display-line-ends" "GTK_DELETE_DISPLAY_LINE_ENDS" "4")
    '("paragraph-ends" "GTK_DELETE_PARAGRAPH_ENDS" "5")
    '("paragraphs" "GTK_DELETE_PARAGRAPHS" "6")
    '("whitespace" "GTK_DELETE_WHITESPACE" "7")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_DIR_TAB_FORWARD,
;;   GTK_DIR_TAB_BACKWARD,
;;   GTK_DIR_UP,
;;   GTK_DIR_DOWN,
;;   GTK_DIR_LEFT,
;;   GTK_DIR_RIGHT
;; } GtkDirectionType;

(define-enum-extended DirectionType
  (in-module "Gtk")
  (c-name "GtkDirectionType")
  (values
    '("tab-forward" "GTK_DIR_TAB_FORWARD" "0")
    '("tab-backward" "GTK_DIR_TAB_BACKWARD" "1")
    '("up" "GTK_DIR_UP" "2")
    '("down" "GTK_DIR_DOWN" "3")
    '("left" "GTK_DIR_LEFT" "4")
    '("right" "GTK_DIR_RIGHT" "5")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ICON_SIZE_INHERIT,
;;   GTK_ICON_SIZE_NORMAL,
;;   GTK_ICON_SIZE_LARGE
;; } GtkIconSize;

(define-enum-extended IconSize
  (in-module "Gtk")
  (c-name "GtkIconSize")
  (values
    '("inherit" "GTK_ICON_SIZE_INHERIT" "0")
    '("normal" "GTK_ICON_SIZE_NORMAL" "1")
    '("large" "GTK_ICON_SIZE_LARGE" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SENSITIVITY_AUTO,
;;   GTK_SENSITIVITY_ON,
;;   GTK_SENSITIVITY_OFF
;; } GtkSensitivityType;

(define-enum-extended SensitivityType
  (in-module "Gtk")
  (c-name "GtkSensitivityType")
  (values
    '("auto" "GTK_SENSITIVITY_AUTO" "0")
    '("on" "GTK_SENSITIVITY_ON" "1")
    '("off" "GTK_SENSITIVITY_OFF" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TEXT_DIR_NONE,
;;   GTK_TEXT_DIR_LTR,
;;   GTK_TEXT_DIR_RTL
;; } GtkTextDirection;

(define-enum-extended TextDirection
  (in-module "Gtk")
  (c-name "GtkTextDirection")
  (values
    '("none" "GTK_TEXT_DIR_NONE" "0")
    '("ltr" "GTK_TEXT_DIR_LTR" "1")
    '("rtl" "GTK_TEXT_DIR_RTL" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_JUSTIFY_LEFT,
;;   GTK_JUSTIFY_RIGHT,
;;   GTK_JUSTIFY_CENTER,
;;   GTK_JUSTIFY_FILL
;; } GtkJustification;

(define-enum-extended Justification
  (in-module "Gtk")
  (c-name "GtkJustification")
  (values
    '("left" "GTK_JUSTIFY_LEFT" "0")
    '("right" "GTK_JUSTIFY_RIGHT" "1")
    '("center" "GTK_JUSTIFY_CENTER" "2")
    '("fill" "GTK_JUSTIFY_FILL" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_LIST_TAB_ALL,
;;   GTK_LIST_TAB_ITEM,
;;   GTK_LIST_TAB_CELL
;; } GtkListTabBehavior;

(define-enum-extended ListTabBehavior
  (in-module "Gtk")
  (c-name "GtkListTabBehavior")
  (values
    '("all" "GTK_LIST_TAB_ALL" "0")
    '("item" "GTK_LIST_TAB_ITEM" "1")
    '("cell" "GTK_LIST_TAB_CELL" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_LIST_SCROLL_NONE      = 0,
;;   GTK_LIST_SCROLL_FOCUS     = 1 << 0,
;;   GTK_LIST_SCROLL_SELECT    = 1 << 1
;; } GtkListScrollFlags;

(define-flags-extended ListScrollFlags
  (in-module "Gtk")
  (c-name "GtkListScrollFlags")
  (values
    '("none" "GTK_LIST_SCROLL_NONE" "0x0")
    '("focus" "GTK_LIST_SCROLL_FOCUS" "1 << 0")
    '("select" "GTK_LIST_SCROLL_SELECT" "1 << 1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_MESSAGE_INFO,
;;   GTK_MESSAGE_WARNING,
;;   GTK_MESSAGE_QUESTION,
;;   GTK_MESSAGE_ERROR,
;;   GTK_MESSAGE_OTHER
;; } GtkMessageType;

(define-enum-extended MessageType
  (in-module "Gtk")
  (c-name "GtkMessageType")
  (values
    '("info" "GTK_MESSAGE_INFO" "0")
    '("warning" "GTK_MESSAGE_WARNING" "1")
    '("question" "GTK_MESSAGE_QUESTION" "2")
    '("error" "GTK_MESSAGE_ERROR" "3")
    '("other" "GTK_MESSAGE_OTHER" "4")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_MOVEMENT_LOGICAL_POSITIONS,
;;   GTK_MOVEMENT_VISUAL_POSITIONS,
;;   GTK_MOVEMENT_WORDS,
;;   GTK_MOVEMENT_DISPLAY_LINES,
;;   GTK_MOVEMENT_DISPLAY_LINE_ENDS,
;;   GTK_MOVEMENT_PARAGRAPHS,
;;   GTK_MOVEMENT_PARAGRAPH_ENDS,
;;   GTK_MOVEMENT_PAGES,
;;   GTK_MOVEMENT_BUFFER_ENDS,
;;   GTK_MOVEMENT_HORIZONTAL_PAGES
;; } GtkMovementStep;

(define-enum-extended MovementStep
  (in-module "Gtk")
  (c-name "GtkMovementStep")
  (values
    '("logical-positions" "GTK_MOVEMENT_LOGICAL_POSITIONS" "0")
    '("visual-positions" "GTK_MOVEMENT_VISUAL_POSITIONS" "1")
    '("words" "GTK_MOVEMENT_WORDS" "2")
    '("display-lines" "GTK_MOVEMENT_DISPLAY_LINES" "3")
    '("display-line-ends" "GTK_MOVEMENT_DISPLAY_LINE_ENDS" "4")
    '("paragraphs" "GTK_MOVEMENT_PARAGRAPHS" "5")
    '("paragraph-ends" "GTK_MOVEMENT_PARAGRAPH_ENDS" "6")
    '("pages" "GTK_MOVEMENT_PAGES" "7")
    '("buffer-ends" "GTK_MOVEMENT_BUFFER_ENDS" "8")
    '("horizontal-pages" "GTK_MOVEMENT_HORIZONTAL_PAGES" "9")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_NATURAL_WRAP_INHERIT,
;;   GTK_NATURAL_WRAP_NONE,
;;   GTK_NATURAL_WRAP_WORD
;; } GtkNaturalWrapMode;

(define-enum-extended NaturalWrapMode
  (in-module "Gtk")
  (c-name "GtkNaturalWrapMode")
  (values
    '("inherit" "GTK_NATURAL_WRAP_INHERIT" "0")
    '("none" "GTK_NATURAL_WRAP_NONE" "1")
    '("word" "GTK_NATURAL_WRAP_WORD" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SCROLL_STEPS,
;;   GTK_SCROLL_PAGES,
;;   GTK_SCROLL_ENDS,
;;   GTK_SCROLL_HORIZONTAL_STEPS,
;;   GTK_SCROLL_HORIZONTAL_PAGES,
;;   GTK_SCROLL_HORIZONTAL_ENDS
;; } GtkScrollStep;

(define-enum-extended ScrollStep
  (in-module "Gtk")
  (c-name "GtkScrollStep")
  (values
    '("steps" "GTK_SCROLL_STEPS" "0")
    '("pages" "GTK_SCROLL_PAGES" "1")
    '("ends" "GTK_SCROLL_ENDS" "2")
    '("horizontal-steps" "GTK_SCROLL_HORIZONTAL_STEPS" "3")
    '("horizontal-pages" "GTK_SCROLL_HORIZONTAL_PAGES" "4")
    '("horizontal-ends" "GTK_SCROLL_HORIZONTAL_ENDS" "5")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ORIENTATION_HORIZONTAL,
;;   GTK_ORIENTATION_VERTICAL
;; } GtkOrientation;

(define-enum-extended Orientation
  (in-module "Gtk")
  (c-name "GtkOrientation")
  (values
    '("horizontal" "GTK_ORIENTATION_HORIZONTAL" "0")
    '("vertical" "GTK_ORIENTATION_VERTICAL" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_OVERFLOW_VISIBLE,
;;   GTK_OVERFLOW_HIDDEN
;; } GtkOverflow;

(define-enum-extended Overflow
  (in-module "Gtk")
  (c-name "GtkOverflow")
  (values
    '("visible" "GTK_OVERFLOW_VISIBLE" "0")
    '("hidden" "GTK_OVERFLOW_HIDDEN" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PACK_START,
;;   GTK_PACK_END
;; } GtkPackType;

(define-enum-extended PackType
  (in-module "Gtk")
  (c-name "GtkPackType")
  (values
    '("start" "GTK_PACK_START" "0")
    '("end" "GTK_PACK_END" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_POS_LEFT,
;;   GTK_POS_RIGHT,
;;   GTK_POS_TOP,
;;   GTK_POS_BOTTOM
;; } GtkPositionType;

(define-enum-extended PositionType
  (in-module "Gtk")
  (c-name "GtkPositionType")
  (values
    '("left" "GTK_POS_LEFT" "0")
    '("right" "GTK_POS_RIGHT" "1")
    '("top" "GTK_POS_TOP" "2")
    '("bottom" "GTK_POS_BOTTOM" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SCROLL_NONE,
;;   GTK_SCROLL_JUMP,
;;   GTK_SCROLL_STEP_BACKWARD,
;;   GTK_SCROLL_STEP_FORWARD,
;;   GTK_SCROLL_PAGE_BACKWARD,
;;   GTK_SCROLL_PAGE_FORWARD,
;;   GTK_SCROLL_STEP_UP,
;;   GTK_SCROLL_STEP_DOWN,
;;   GTK_SCROLL_PAGE_UP,
;;   GTK_SCROLL_PAGE_DOWN,
;;   GTK_SCROLL_STEP_LEFT,
;;   GTK_SCROLL_STEP_RIGHT,
;;   GTK_SCROLL_PAGE_LEFT,
;;   GTK_SCROLL_PAGE_RIGHT,
;;   GTK_SCROLL_START,
;;   GTK_SCROLL_END
;; } GtkScrollType;

(define-enum-extended ScrollType
  (in-module "Gtk")
  (c-name "GtkScrollType")
  (values
    '("none" "GTK_SCROLL_NONE" "0")
    '("jump" "GTK_SCROLL_JUMP" "1")
    '("step-backward" "GTK_SCROLL_STEP_BACKWARD" "2")
    '("step-forward" "GTK_SCROLL_STEP_FORWARD" "3")
    '("page-backward" "GTK_SCROLL_PAGE_BACKWARD" "4")
    '("page-forward" "GTK_SCROLL_PAGE_FORWARD" "5")
    '("step-up" "GTK_SCROLL_STEP_UP" "6")
    '("step-down" "GTK_SCROLL_STEP_DOWN" "7")
    '("page-up" "GTK_SCROLL_PAGE_UP" "8")
    '("page-down" "GTK_SCROLL_PAGE_DOWN" "9")
    '("step-left" "GTK_SCROLL_STEP_LEFT" "10")
    '("step-right" "GTK_SCROLL_STEP_RIGHT" "11")
    '("page-left" "GTK_SCROLL_PAGE_LEFT" "12")
    '("page-right" "GTK_SCROLL_PAGE_RIGHT" "13")
    '("start" "GTK_SCROLL_START" "14")
    '("end" "GTK_SCROLL_END" "15")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SELECTION_NONE,
;;   GTK_SELECTION_SINGLE,
;;   GTK_SELECTION_BROWSE,
;;   GTK_SELECTION_MULTIPLE
;; } GtkSelectionMode;

(define-enum-extended SelectionMode
  (in-module "Gtk")
  (c-name "GtkSelectionMode")
  (values
    '("none" "GTK_SELECTION_NONE" "0")
    '("single" "GTK_SELECTION_SINGLE" "1")
    '("browse" "GTK_SELECTION_BROWSE" "2")
    '("multiple" "GTK_SELECTION_MULTIPLE" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_WRAP_NONE,
;;   GTK_WRAP_CHAR,
;;   GTK_WRAP_WORD,
;;   GTK_WRAP_WORD_CHAR
;; } GtkWrapMode;

(define-enum-extended WrapMode
  (in-module "Gtk")
  (c-name "GtkWrapMode")
  (values
    '("none" "GTK_WRAP_NONE" "0")
    '("char" "GTK_WRAP_CHAR" "1")
    '("word" "GTK_WRAP_WORD" "2")
    '("word-char" "GTK_WRAP_WORD_CHAR" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SORT_ASCENDING,
;;   GTK_SORT_DESCENDING
;; } GtkSortType;

(define-enum-extended SortType
  (in-module "Gtk")
  (c-name "GtkSortType")
  (values
    '("ascending" "GTK_SORT_ASCENDING" "0")
    '("descending" "GTK_SORT_DESCENDING" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PRINT_PAGES_ALL,
;;   GTK_PRINT_PAGES_CURRENT,
;;   GTK_PRINT_PAGES_RANGES,
;;   GTK_PRINT_PAGES_SELECTION
;; } GtkPrintPages;

(define-enum-extended PrintPages
  (in-module "Gtk")
  (c-name "GtkPrintPages")
  (values
    '("all" "GTK_PRINT_PAGES_ALL" "0")
    '("current" "GTK_PRINT_PAGES_CURRENT" "1")
    '("ranges" "GTK_PRINT_PAGES_RANGES" "2")
    '("selection" "GTK_PRINT_PAGES_SELECTION" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PAGE_SET_ALL,
;;   GTK_PAGE_SET_EVEN,
;;   GTK_PAGE_SET_ODD
;; } GtkPageSet;

(define-enum-extended PageSet
  (in-module "Gtk")
  (c-name "GtkPageSet")
  (values
    '("all" "GTK_PAGE_SET_ALL" "0")
    '("even" "GTK_PAGE_SET_EVEN" "1")
    '("odd" "GTK_PAGE_SET_ODD" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM, /*< nick=lrtb >*/
;;   GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP, /*< nick=lrbt >*/
;;   GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM, /*< nick=rltb >*/
;;   GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP, /*< nick=rlbt >*/
;;   GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT, /*< nick=tblr >*/
;;   GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT, /*< nick=tbrl >*/
;;   GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT, /*< nick=btlr >*/
;;   GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT  /*< nick=btrl >*/
;; } GtkNumberUpLayout;

(define-enum-extended NumberUpLayout
  (in-module "Gtk")
  (c-name "GtkNumberUpLayout")
  (values
    '("left-to-right-top-to-bottom" "GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM" "0")
    '("left-to-right-bottom-to-top" "GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP" "1")
    '("right-to-left-top-to-bottom" "GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM" "2")
    '("right-to-left-bottom-to-top" "GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP" "3")
    '("top-to-bottom-left-to-right" "GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT" "4")
    '("top-to-bottom-right-to-left" "GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT" "5")
    '("bottom-to-top-left-to-right" "GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT" "6")
    '("bottom-to-top-right-to-left" "GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT" "7")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ORDERING_SMALLER = -1,
;;   GTK_ORDERING_EQUAL = 0,
;;   GTK_ORDERING_LARGER = 1
;; } GtkOrdering;

(define-enum-extended Ordering
  (in-module "Gtk")
  (c-name "GtkOrdering")
  (values
    '("smaller" "GTK_ORDERING_SMALLER" "-1")
    '("equal" "GTK_ORDERING_EQUAL" "0")
    '("larger" "GTK_ORDERING_LARGER" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PAGE_ORIENTATION_PORTRAIT,
;;   GTK_PAGE_ORIENTATION_LANDSCAPE,
;;   GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT,
;;   GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE
;; } GtkPageOrientation;

(define-enum-extended PageOrientation
  (in-module "Gtk")
  (c-name "GtkPageOrientation")
  (values
    '("portrait" "GTK_PAGE_ORIENTATION_PORTRAIT" "0")
    '("landscape" "GTK_PAGE_ORIENTATION_LANDSCAPE" "1")
    '("reverse-portrait" "GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT" "2")
    '("reverse-landscape" "GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PRINT_QUALITY_LOW,
;;   GTK_PRINT_QUALITY_NORMAL,
;;   GTK_PRINT_QUALITY_HIGH,
;;   GTK_PRINT_QUALITY_DRAFT
;; } GtkPrintQuality;

(define-enum-extended PrintQuality
  (in-module "Gtk")
  (c-name "GtkPrintQuality")
  (values
    '("low" "GTK_PRINT_QUALITY_LOW" "0")
    '("normal" "GTK_PRINT_QUALITY_NORMAL" "1")
    '("high" "GTK_PRINT_QUALITY_HIGH" "2")
    '("draft" "GTK_PRINT_QUALITY_DRAFT" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PRINT_DUPLEX_SIMPLEX,
;;   GTK_PRINT_DUPLEX_HORIZONTAL,
;;   GTK_PRINT_DUPLEX_VERTICAL
;; } GtkPrintDuplex;

(define-enum-extended PrintDuplex
  (in-module "Gtk")
  (c-name "GtkPrintDuplex")
  (values
    '("simplex" "GTK_PRINT_DUPLEX_SIMPLEX" "0")
    '("horizontal" "GTK_PRINT_DUPLEX_HORIZONTAL" "1")
    '("vertical" "GTK_PRINT_DUPLEX_VERTICAL" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_UNIT_NONE,
;;   GTK_UNIT_POINTS,
;;   GTK_UNIT_INCH,
;;   GTK_UNIT_MM
;; } GtkUnit;

(define-enum-extended Unit
  (in-module "Gtk")
  (c-name "GtkUnit")
  (values
    '("none" "GTK_UNIT_NONE" "0")
    '("points" "GTK_UNIT_POINTS" "1")
    '("inch" "GTK_UNIT_INCH" "2")
    '("mm" "GTK_UNIT_MM" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TREE_VIEW_GRID_LINES_NONE,
;;   GTK_TREE_VIEW_GRID_LINES_HORIZONTAL,
;;   GTK_TREE_VIEW_GRID_LINES_VERTICAL,
;;   GTK_TREE_VIEW_GRID_LINES_BOTH
;; } GtkTreeViewGridLines;

(define-enum-extended TreeViewGridLines
  (in-module "Gtk")
  (c-name "GtkTreeViewGridLines")
  (values
    '("none" "GTK_TREE_VIEW_GRID_LINES_NONE" "0")
    '("horizontal" "GTK_TREE_VIEW_GRID_LINES_HORIZONTAL" "1")
    '("vertical" "GTK_TREE_VIEW_GRID_LINES_VERTICAL" "2")
    '("both" "GTK_TREE_VIEW_GRID_LINES_BOTH" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_SIZE_GROUP_NONE,
;;   GTK_SIZE_GROUP_HORIZONTAL,
;;   GTK_SIZE_GROUP_VERTICAL,
;;   GTK_SIZE_GROUP_BOTH
;; } GtkSizeGroupMode;

(define-enum-extended SizeGroupMode
  (in-module "Gtk")
  (c-name "GtkSizeGroupMode")
  (values
    '("none" "GTK_SIZE_GROUP_NONE" "0")
    '("horizontal" "GTK_SIZE_GROUP_HORIZONTAL" "1")
    '("vertical" "GTK_SIZE_GROUP_VERTICAL" "2")
    '("both" "GTK_SIZE_GROUP_BOTH" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH = 0,
;;   GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT,
;;   GTK_SIZE_REQUEST_CONSTANT_SIZE
;; } GtkSizeRequestMode;

(define-enum-extended SizeRequestMode
  (in-module "Gtk")
  (c-name "GtkSizeRequestMode")
  (values
    '("height-for-width" "GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH" "0")
    '("width-for-height" "GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT" "1")
    '("constant-size" "GTK_SIZE_REQUEST_CONSTANT_SIZE" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SCROLL_MINIMUM = 0,
;;   GTK_SCROLL_NATURAL
;; } GtkScrollablePolicy;

(define-enum-extended ScrollablePolicy
  (in-module "Gtk")
  (c-name "GtkScrollablePolicy")
  (values
    '("minimum" "GTK_SCROLL_MINIMUM" "0")
    '("natural" "GTK_SCROLL_NATURAL" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_STATE_FLAG_NORMAL        = 0,
;;   GTK_STATE_FLAG_ACTIVE        = 1 << 0,
;;   GTK_STATE_FLAG_PRELIGHT      = 1 << 1,
;;   GTK_STATE_FLAG_SELECTED      = 1 << 2,
;;   GTK_STATE_FLAG_INSENSITIVE   = 1 << 3,
;;   GTK_STATE_FLAG_INCONSISTENT  = 1 << 4,
;;   GTK_STATE_FLAG_FOCUSED       = 1 << 5,
;;   GTK_STATE_FLAG_BACKDROP      = 1 << 6,
;;   GTK_STATE_FLAG_DIR_LTR       = 1 << 7,
;;   GTK_STATE_FLAG_DIR_RTL       = 1 << 8,
;;   GTK_STATE_FLAG_LINK          = 1 << 9,
;;   GTK_STATE_FLAG_VISITED       = 1 << 10,
;;   GTK_STATE_FLAG_CHECKED       = 1 << 11,
;;   GTK_STATE_FLAG_DROP_ACTIVE   = 1 << 12,
;;   GTK_STATE_FLAG_FOCUS_VISIBLE = 1 << 13,
;;   GTK_STATE_FLAG_FOCUS_WITHIN  = 1 << 14
;; } GtkStateFlags;

(define-flags-extended StateFlags
  (in-module "Gtk")
  (c-name "GtkStateFlags")
  (values
    '("normal" "GTK_STATE_FLAG_NORMAL" "0x0")
    '("active" "GTK_STATE_FLAG_ACTIVE" "1 << 0")
    '("prelight" "GTK_STATE_FLAG_PRELIGHT" "1 << 1")
    '("selected" "GTK_STATE_FLAG_SELECTED" "1 << 2")
    '("insensitive" "GTK_STATE_FLAG_INSENSITIVE" "1 << 3")
    '("inconsistent" "GTK_STATE_FLAG_INCONSISTENT" "1 << 4")
    '("focused" "GTK_STATE_FLAG_FOCUSED" "1 << 5")
    '("backdrop" "GTK_STATE_FLAG_BACKDROP" "1 << 6")
    '("dir-ltr" "GTK_STATE_FLAG_DIR_LTR" "1 << 7")
    '("dir-rtl" "GTK_STATE_FLAG_DIR_RTL" "1 << 8")
    '("link" "GTK_STATE_FLAG_LINK" "1 << 9")
    '("visited" "GTK_STATE_FLAG_VISITED" "1 << 10")
    '("checked" "GTK_STATE_FLAG_CHECKED" "1 << 11")
    '("drop-active" "GTK_STATE_FLAG_DROP_ACTIVE" "1 << 12")
    '("focus-visible" "GTK_STATE_FLAG_FOCUS_VISIBLE" "1 << 13")
    '("focus-within" "GTK_STATE_FLAG_FOCUS_WITHIN" "1 << 14")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_BORDER_STYLE_NONE,
;;   GTK_BORDER_STYLE_HIDDEN,
;;   GTK_BORDER_STYLE_SOLID,
;;   GTK_BORDER_STYLE_INSET,
;;   GTK_BORDER_STYLE_OUTSET,
;;   GTK_BORDER_STYLE_DOTTED,
;;   GTK_BORDER_STYLE_DASHED,
;;   GTK_BORDER_STYLE_DOUBLE,
;;   GTK_BORDER_STYLE_GROOVE,
;;   GTK_BORDER_STYLE_RIDGE
;; } GtkBorderStyle;

(define-enum-extended BorderStyle
  (in-module "Gtk")
  (c-name "GtkBorderStyle")
  (values
    '("none" "GTK_BORDER_STYLE_NONE" "0")
    '("hidden" "GTK_BORDER_STYLE_HIDDEN" "1")
    '("solid" "GTK_BORDER_STYLE_SOLID" "2")
    '("inset" "GTK_BORDER_STYLE_INSET" "3")
    '("outset" "GTK_BORDER_STYLE_OUTSET" "4")
    '("dotted" "GTK_BORDER_STYLE_DOTTED" "5")
    '("dashed" "GTK_BORDER_STYLE_DASHED" "6")
    '("double" "GTK_BORDER_STYLE_DOUBLE" "7")
    '("groove" "GTK_BORDER_STYLE_GROOVE" "8")
    '("ridge" "GTK_BORDER_STYLE_RIDGE" "9")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_LEVEL_BAR_MODE_CONTINUOUS,
;;   GTK_LEVEL_BAR_MODE_DISCRETE
;; } GtkLevelBarMode;

(define-enum-extended LevelBarMode
  (in-module "Gtk")
  (c-name "GtkLevelBarMode")
  (values
    '("continuous" "GTK_LEVEL_BAR_MODE_CONTINUOUS" "0")
    '("discrete" "GTK_LEVEL_BAR_MODE_DISCRETE" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_INPUT_PURPOSE_FREE_FORM,
;;   GTK_INPUT_PURPOSE_ALPHA,
;;   GTK_INPUT_PURPOSE_DIGITS,
;;   GTK_INPUT_PURPOSE_NUMBER,
;;   GTK_INPUT_PURPOSE_PHONE,
;;   GTK_INPUT_PURPOSE_URL,
;;   GTK_INPUT_PURPOSE_EMAIL,
;;   GTK_INPUT_PURPOSE_NAME,
;;   GTK_INPUT_PURPOSE_PASSWORD,
;;   GTK_INPUT_PURPOSE_PIN,
;;   GTK_INPUT_PURPOSE_TERMINAL,
;; } GtkInputPurpose;

(define-enum-extended InputPurpose
  (in-module "Gtk")
  (c-name "GtkInputPurpose")
  (values
    '("free-form" "GTK_INPUT_PURPOSE_FREE_FORM" "0")
    '("alpha" "GTK_INPUT_PURPOSE_ALPHA" "1")
    '("digits" "GTK_INPUT_PURPOSE_DIGITS" "2")
    '("number" "GTK_INPUT_PURPOSE_NUMBER" "3")
    '("phone" "GTK_INPUT_PURPOSE_PHONE" "4")
    '("url" "GTK_INPUT_PURPOSE_URL" "5")
    '("email" "GTK_INPUT_PURPOSE_EMAIL" "6")
    '("name" "GTK_INPUT_PURPOSE_NAME" "7")
    '("password" "GTK_INPUT_PURPOSE_PASSWORD" "8")
    '("pin" "GTK_INPUT_PURPOSE_PIN" "9")
    '("terminal" "GTK_INPUT_PURPOSE_TERMINAL" "10")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_INPUT_HINT_NONE                = 0,
;;   GTK_INPUT_HINT_SPELLCHECK          = 1 << 0,
;;   GTK_INPUT_HINT_NO_SPELLCHECK       = 1 << 1,
;;   GTK_INPUT_HINT_WORD_COMPLETION     = 1 << 2,
;;   GTK_INPUT_HINT_LOWERCASE           = 1 << 3,
;;   GTK_INPUT_HINT_UPPERCASE_CHARS     = 1 << 4,
;;   GTK_INPUT_HINT_UPPERCASE_WORDS     = 1 << 5,
;;   GTK_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6,
;;   GTK_INPUT_HINT_INHIBIT_OSK         = 1 << 7,
;;   GTK_INPUT_HINT_VERTICAL_WRITING    = 1 << 8,
;;   GTK_INPUT_HINT_EMOJI               = 1 << 9,
;;   GTK_INPUT_HINT_NO_EMOJI            = 1 << 10,
;;   GTK_INPUT_HINT_PRIVATE             = 1 << 11,
;; } GtkInputHints;

(define-flags-extended InputHints
  (in-module "Gtk")
  (c-name "GtkInputHints")
  (values
    '("none" "GTK_INPUT_HINT_NONE" "0x0")
    '("spellcheck" "GTK_INPUT_HINT_SPELLCHECK" "1 << 0")
    '("no-spellcheck" "GTK_INPUT_HINT_NO_SPELLCHECK" "1 << 1")
    '("word-completion" "GTK_INPUT_HINT_WORD_COMPLETION" "1 << 2")
    '("lowercase" "GTK_INPUT_HINT_LOWERCASE" "1 << 3")
    '("uppercase-chars" "GTK_INPUT_HINT_UPPERCASE_CHARS" "1 << 4")
    '("uppercase-words" "GTK_INPUT_HINT_UPPERCASE_WORDS" "1 << 5")
    '("uppercase-sentences" "GTK_INPUT_HINT_UPPERCASE_SENTENCES" "1 << 6")
    '("inhibit-osk" "GTK_INPUT_HINT_INHIBIT_OSK" "1 << 7")
    '("vertical-writing" "GTK_INPUT_HINT_VERTICAL_WRITING" "1 << 8")
    '("emoji" "GTK_INPUT_HINT_EMOJI" "1 << 9")
    '("no-emoji" "GTK_INPUT_HINT_NO_EMOJI" "1 << 10")
    '("private" "GTK_INPUT_HINT_PRIVATE" "1 << 11")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PHASE_NONE,
;;   GTK_PHASE_CAPTURE,
;;   GTK_PHASE_BUBBLE,
;;   GTK_PHASE_TARGET
;; } GtkPropagationPhase;

(define-enum-extended PropagationPhase
  (in-module "Gtk")
  (c-name "GtkPropagationPhase")
  (values
    '("none" "GTK_PHASE_NONE" "0")
    '("capture" "GTK_PHASE_CAPTURE" "1")
    '("bubble" "GTK_PHASE_BUBBLE" "2")
    '("target" "GTK_PHASE_TARGET" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_LIMIT_NONE,
;;   GTK_LIMIT_SAME_NATIVE
;; } GtkPropagationLimit;

(define-enum-extended PropagationLimit
  (in-module "Gtk")
  (c-name "GtkPropagationLimit")
  (values
    '("none" "GTK_LIMIT_NONE" "0")
    '("same-native" "GTK_LIMIT_SAME_NATIVE" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_EVENT_SEQUENCE_NONE,
;;   GTK_EVENT_SEQUENCE_CLAIMED,
;;   GTK_EVENT_SEQUENCE_DENIED
;; } GtkEventSequenceState;

(define-enum-extended EventSequenceState
  (in-module "Gtk")
  (c-name "GtkEventSequenceState")
  (values
    '("none" "GTK_EVENT_SEQUENCE_NONE" "0")
    '("claimed" "GTK_EVENT_SEQUENCE_CLAIMED" "1")
    '("denied" "GTK_EVENT_SEQUENCE_DENIED" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PAN_DIRECTION_LEFT,
;;   GTK_PAN_DIRECTION_RIGHT,
;;   GTK_PAN_DIRECTION_UP,
;;   GTK_PAN_DIRECTION_DOWN
;; } GtkPanDirection;

(define-enum-extended PanDirection
  (in-module "Gtk")
  (c-name "GtkPanDirection")
  (values
    '("left" "GTK_PAN_DIRECTION_LEFT" "0")
    '("right" "GTK_PAN_DIRECTION_RIGHT" "1")
    '("up" "GTK_PAN_DIRECTION_UP" "2")
    '("down" "GTK_PAN_DIRECTION_DOWN" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SHORTCUT_SCOPE_LOCAL,
;;   GTK_SHORTCUT_SCOPE_MANAGED,
;;   GTK_SHORTCUT_SCOPE_GLOBAL
;; } GtkShortcutScope;

(define-enum-extended ShortcutScope
  (in-module "Gtk")
  (c-name "GtkShortcutScope")
  (values
    '("local" "GTK_SHORTCUT_SCOPE_LOCAL" "0")
    '("managed" "GTK_SHORTCUT_SCOPE_MANAGED" "1")
    '("global" "GTK_SHORTCUT_SCOPE_GLOBAL" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_PICK_DEFAULT        = 0,
;;   GTK_PICK_INSENSITIVE    = 1 << 0,
;;   GTK_PICK_NON_TARGETABLE = 1 << 1
;; } GtkPickFlags;

(define-flags-extended PickFlags
  (in-module "Gtk")
  (c-name "GtkPickFlags")
  (values
    '("default" "GTK_PICK_DEFAULT" "0x0")
    '("insensitive" "GTK_PICK_INSENSITIVE" "1 << 0")
    '("non-targetable" "GTK_PICK_NON_TARGETABLE" "1 << 1")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_CONSTRAINT_RELATION_LE = -1,
;;   GTK_CONSTRAINT_RELATION_EQ = 0,
;;   GTK_CONSTRAINT_RELATION_GE = 1
;; } GtkConstraintRelation;

(define-enum-extended ConstraintRelation
  (in-module "Gtk")
  (c-name "GtkConstraintRelation")
  (values
    '("le" "GTK_CONSTRAINT_RELATION_LE" "-1")
    '("eq" "GTK_CONSTRAINT_RELATION_EQ" "0")
    '("ge" "GTK_CONSTRAINT_RELATION_GE" "1")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_CONSTRAINT_STRENGTH_REQUIRED = 1001001000,
;;   GTK_CONSTRAINT_STRENGTH_STRONG   = 1000000000,
;;   GTK_CONSTRAINT_STRENGTH_MEDIUM   = 1000,
;;   GTK_CONSTRAINT_STRENGTH_WEAK     = 1
;; } GtkConstraintStrength;

(define-enum-extended ConstraintStrength
  (in-module "Gtk")
  (c-name "GtkConstraintStrength")
  (values
    '("required" "GTK_CONSTRAINT_STRENGTH_REQUIRED" "1001001000")
    '("strong" "GTK_CONSTRAINT_STRENGTH_STRONG" "1000000000")
    '("medium" "GTK_CONSTRAINT_STRENGTH_MEDIUM" "1000")
    '("weak" "GTK_CONSTRAINT_STRENGTH_WEAK" "1")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_CONSTRAINT_ATTRIBUTE_NONE,
;;   GTK_CONSTRAINT_ATTRIBUTE_LEFT,
;;   GTK_CONSTRAINT_ATTRIBUTE_RIGHT,
;;   GTK_CONSTRAINT_ATTRIBUTE_TOP,
;;   GTK_CONSTRAINT_ATTRIBUTE_BOTTOM,
;;   GTK_CONSTRAINT_ATTRIBUTE_START,
;;   GTK_CONSTRAINT_ATTRIBUTE_END,
;;   GTK_CONSTRAINT_ATTRIBUTE_WIDTH,
;;   GTK_CONSTRAINT_ATTRIBUTE_HEIGHT,
;;   GTK_CONSTRAINT_ATTRIBUTE_CENTER_X,
;;   GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y,
;;   GTK_CONSTRAINT_ATTRIBUTE_BASELINE
;; } GtkConstraintAttribute;

(define-enum-extended ConstraintAttribute
  (in-module "Gtk")
  (c-name "GtkConstraintAttribute")
  (values
    '("none" "GTK_CONSTRAINT_ATTRIBUTE_NONE" "0")
    '("left" "GTK_CONSTRAINT_ATTRIBUTE_LEFT" "1")
    '("right" "GTK_CONSTRAINT_ATTRIBUTE_RIGHT" "2")
    '("top" "GTK_CONSTRAINT_ATTRIBUTE_TOP" "3")
    '("bottom" "GTK_CONSTRAINT_ATTRIBUTE_BOTTOM" "4")
    '("start" "GTK_CONSTRAINT_ATTRIBUTE_START" "5")
    '("end" "GTK_CONSTRAINT_ATTRIBUTE_END" "6")
    '("width" "GTK_CONSTRAINT_ATTRIBUTE_WIDTH" "7")
    '("height" "GTK_CONSTRAINT_ATTRIBUTE_HEIGHT" "8")
    '("center-x" "GTK_CONSTRAINT_ATTRIBUTE_CENTER_X" "9")
    '("center-y" "GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y" "10")
    '("baseline" "GTK_CONSTRAINT_ATTRIBUTE_BASELINE" "11")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL,
;;   GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE,
;;   GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW,
;;   GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC,
;;   GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY,
;;   GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION
;; } GtkConstraintVflParserError;

(define-enum-extended ConstraintVflParserError
  (in-module "Gtk")
  (c-name "GtkConstraintVflParserError")
  (values
    '("symbol" "GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL" "0")
    '("attribute" "GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE" "1")
    '("view" "GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW" "2")
    '("metric" "GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC" "3")
    '("priority" "GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY" "4")
    '("relation" "GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION" "5")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_SYSTEM_SETTING_DPI,
;;   GTK_SYSTEM_SETTING_FONT_NAME,
;;   GTK_SYSTEM_SETTING_FONT_CONFIG,
;;   GTK_SYSTEM_SETTING_DISPLAY,
;;   GTK_SYSTEM_SETTING_ICON_THEME
;; } GtkSystemSetting;

(define-enum-extended SystemSetting
  (in-module "Gtk")
  (c-name "GtkSystemSetting")
  (values
    '("dpi" "GTK_SYSTEM_SETTING_DPI" "0")
    '("font-name" "GTK_SYSTEM_SETTING_FONT_NAME" "1")
    '("font-config" "GTK_SYSTEM_SETTING_FONT_CONFIG" "2")
    '("display" "GTK_SYSTEM_SETTING_DISPLAY" "3")
    '("icon-theme" "GTK_SYSTEM_SETTING_ICON_THEME" "4")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_SYMBOLIC_COLOR_FOREGROUND = 0,
;;   GTK_SYMBOLIC_COLOR_ERROR = 1,
;;   GTK_SYMBOLIC_COLOR_WARNING = 2,
;;   GTK_SYMBOLIC_COLOR_SUCCESS = 3
;; } GtkSymbolicColor;

(define-enum-extended SymbolicColor
  (in-module "Gtk")
  (c-name "GtkSymbolicColor")
  (values
    '("foreground" "GTK_SYMBOLIC_COLOR_FOREGROUND" "0")
    '("error" "GTK_SYMBOLIC_COLOR_ERROR" "1")
    '("warning" "GTK_SYMBOLIC_COLOR_WARNING" "2")
    '("success" "GTK_SYMBOLIC_COLOR_SUCCESS" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_ROLE_ALERT,
;;   GTK_ACCESSIBLE_ROLE_ALERT_DIALOG,
;;   GTK_ACCESSIBLE_ROLE_BANNER,
;;   GTK_ACCESSIBLE_ROLE_BUTTON,
;;   GTK_ACCESSIBLE_ROLE_CAPTION,
;;   GTK_ACCESSIBLE_ROLE_CELL,
;;   GTK_ACCESSIBLE_ROLE_CHECKBOX,
;;   GTK_ACCESSIBLE_ROLE_COLUMN_HEADER,
;;   GTK_ACCESSIBLE_ROLE_COMBO_BOX,
;;   GTK_ACCESSIBLE_ROLE_COMMAND,
;;   GTK_ACCESSIBLE_ROLE_COMPOSITE,
;;   GTK_ACCESSIBLE_ROLE_DIALOG,
;;   GTK_ACCESSIBLE_ROLE_DOCUMENT,
;;   GTK_ACCESSIBLE_ROLE_FEED,
;;   GTK_ACCESSIBLE_ROLE_FORM,
;;   GTK_ACCESSIBLE_ROLE_GENERIC,
;;   GTK_ACCESSIBLE_ROLE_GRID,
;;   GTK_ACCESSIBLE_ROLE_GRID_CELL,
;;   GTK_ACCESSIBLE_ROLE_GROUP,
;;   GTK_ACCESSIBLE_ROLE_HEADING,
;;   GTK_ACCESSIBLE_ROLE_IMG,
;;   GTK_ACCESSIBLE_ROLE_INPUT,
;;   GTK_ACCESSIBLE_ROLE_LABEL,
;;   GTK_ACCESSIBLE_ROLE_LANDMARK,
;;   GTK_ACCESSIBLE_ROLE_LEGEND,
;;   GTK_ACCESSIBLE_ROLE_LINK,
;;   GTK_ACCESSIBLE_ROLE_LIST,
;;   GTK_ACCESSIBLE_ROLE_LIST_BOX,
;;   GTK_ACCESSIBLE_ROLE_LIST_ITEM,
;;   GTK_ACCESSIBLE_ROLE_LOG,
;;   GTK_ACCESSIBLE_ROLE_MAIN,
;;   GTK_ACCESSIBLE_ROLE_MARQUEE,
;;   GTK_ACCESSIBLE_ROLE_MATH,
;;   GTK_ACCESSIBLE_ROLE_METER,
;;   GTK_ACCESSIBLE_ROLE_MENU,
;;   GTK_ACCESSIBLE_ROLE_MENU_BAR,
;;   GTK_ACCESSIBLE_ROLE_MENU_ITEM,
;;   GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX,
;;   GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO,
;;   GTK_ACCESSIBLE_ROLE_NAVIGATION,
;;   GTK_ACCESSIBLE_ROLE_NONE,
;;   GTK_ACCESSIBLE_ROLE_NOTE,
;;   GTK_ACCESSIBLE_ROLE_OPTION,
;;   GTK_ACCESSIBLE_ROLE_PRESENTATION,
;;   GTK_ACCESSIBLE_ROLE_PROGRESS_BAR,
;;   GTK_ACCESSIBLE_ROLE_RADIO,
;;   GTK_ACCESSIBLE_ROLE_RADIO_GROUP,
;;   GTK_ACCESSIBLE_ROLE_RANGE,
;;   GTK_ACCESSIBLE_ROLE_REGION,
;;   GTK_ACCESSIBLE_ROLE_ROW,
;;   GTK_ACCESSIBLE_ROLE_ROW_GROUP,
;;   GTK_ACCESSIBLE_ROLE_ROW_HEADER,
;;   GTK_ACCESSIBLE_ROLE_SCROLLBAR,
;;   GTK_ACCESSIBLE_ROLE_SEARCH,
;;   GTK_ACCESSIBLE_ROLE_SEARCH_BOX,
;;   GTK_ACCESSIBLE_ROLE_SECTION,
;;   GTK_ACCESSIBLE_ROLE_SECTION_HEAD,
;;   GTK_ACCESSIBLE_ROLE_SELECT,
;;   GTK_ACCESSIBLE_ROLE_SEPARATOR,
;;   GTK_ACCESSIBLE_ROLE_SLIDER,
;;   GTK_ACCESSIBLE_ROLE_SPIN_BUTTON,
;;   GTK_ACCESSIBLE_ROLE_STATUS,
;;   GTK_ACCESSIBLE_ROLE_STRUCTURE,
;;   GTK_ACCESSIBLE_ROLE_SWITCH,
;;   GTK_ACCESSIBLE_ROLE_TAB,
;;   GTK_ACCESSIBLE_ROLE_TABLE,
;;   GTK_ACCESSIBLE_ROLE_TAB_LIST,
;;   GTK_ACCESSIBLE_ROLE_TAB_PANEL,
;;   GTK_ACCESSIBLE_ROLE_TEXT_BOX,
;;   GTK_ACCESSIBLE_ROLE_TIME,
;;   GTK_ACCESSIBLE_ROLE_TIMER,
;;   GTK_ACCESSIBLE_ROLE_TOOLBAR,
;;   GTK_ACCESSIBLE_ROLE_TOOLTIP,
;;   GTK_ACCESSIBLE_ROLE_TREE,
;;   GTK_ACCESSIBLE_ROLE_TREE_GRID,
;;   GTK_ACCESSIBLE_ROLE_TREE_ITEM,
;;   GTK_ACCESSIBLE_ROLE_WIDGET,
;;   GTK_ACCESSIBLE_ROLE_WINDOW,
;;   GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON GDK_AVAILABLE_ENUMERATOR_IN_4_10,
;;   GTK_ACCESSIBLE_ROLE_APPLICATION GDK_AVAILABLE_ENUMERATOR_IN_4_12,
;;   GTK_ACCESSIBLE_ROLE_PARAGRAPH GDK_AVAILABLE_ENUMERATOR_IN_4_14,
;;   GTK_ACCESSIBLE_ROLE_BLOCK_QUOTE GDK_AVAILABLE_ENUMERATOR_IN_4_14,
;;   GTK_ACCESSIBLE_ROLE_ARTICLE GDK_AVAILABLE_ENUMERATOR_IN_4_14,
;;   GTK_ACCESSIBLE_ROLE_COMMENT GDK_AVAILABLE_ENUMERATOR_IN_4_14,
;;   GTK_ACCESSIBLE_ROLE_TERMINAL GDK_AVAILABLE_ENUMERATOR_IN_4_14
;; } GtkAccessibleRole;

(define-enum-extended AccessibleRole
  (in-module "Gtk")
  (c-name "GtkAccessibleRole")
  (values
    '("alert" "GTK_ACCESSIBLE_ROLE_ALERT" "0")
    '("alert-dialog" "GTK_ACCESSIBLE_ROLE_ALERT_DIALOG" "1")
    '("banner" "GTK_ACCESSIBLE_ROLE_BANNER" "2")
    '("button" "GTK_ACCESSIBLE_ROLE_BUTTON" "3")
    '("caption" "GTK_ACCESSIBLE_ROLE_CAPTION" "4")
    '("cell" "GTK_ACCESSIBLE_ROLE_CELL" "5")
    '("checkbox" "GTK_ACCESSIBLE_ROLE_CHECKBOX" "6")
    '("column-header" "GTK_ACCESSIBLE_ROLE_COLUMN_HEADER" "7")
    '("combo-box" "GTK_ACCESSIBLE_ROLE_COMBO_BOX" "8")
    '("command" "GTK_ACCESSIBLE_ROLE_COMMAND" "9")
    '("composite" "GTK_ACCESSIBLE_ROLE_COMPOSITE" "10")
    '("dialog" "GTK_ACCESSIBLE_ROLE_DIALOG" "11")
    '("document" "GTK_ACCESSIBLE_ROLE_DOCUMENT" "12")
    '("feed" "GTK_ACCESSIBLE_ROLE_FEED" "13")
    '("form" "GTK_ACCESSIBLE_ROLE_FORM" "14")
    '("generic" "GTK_ACCESSIBLE_ROLE_GENERIC" "15")
    '("grid" "GTK_ACCESSIBLE_ROLE_GRID" "16")
    '("grid-cell" "GTK_ACCESSIBLE_ROLE_GRID_CELL" "17")
    '("group" "GTK_ACCESSIBLE_ROLE_GROUP" "18")
    '("heading" "GTK_ACCESSIBLE_ROLE_HEADING" "19")
    '("img" "GTK_ACCESSIBLE_ROLE_IMG" "20")
    '("input" "GTK_ACCESSIBLE_ROLE_INPUT" "21")
    '("label" "GTK_ACCESSIBLE_ROLE_LABEL" "22")
    '("landmark" "GTK_ACCESSIBLE_ROLE_LANDMARK" "23")
    '("legend" "GTK_ACCESSIBLE_ROLE_LEGEND" "24")
    '("link" "GTK_ACCESSIBLE_ROLE_LINK" "25")
    '("list" "GTK_ACCESSIBLE_ROLE_LIST" "26")
    '("list-box" "GTK_ACCESSIBLE_ROLE_LIST_BOX" "27")
    '("list-item" "GTK_ACCESSIBLE_ROLE_LIST_ITEM" "28")
    '("log" "GTK_ACCESSIBLE_ROLE_LOG" "29")
    '("main" "GTK_ACCESSIBLE_ROLE_MAIN" "30")
    '("marquee" "GTK_ACCESSIBLE_ROLE_MARQUEE" "31")
    '("math" "GTK_ACCESSIBLE_ROLE_MATH" "32")
    '("meter" "GTK_ACCESSIBLE_ROLE_METER" "33")
    '("menu" "GTK_ACCESSIBLE_ROLE_MENU" "34")
    '("menu-bar" "GTK_ACCESSIBLE_ROLE_MENU_BAR" "35")
    '("menu-item" "GTK_ACCESSIBLE_ROLE_MENU_ITEM" "36")
    '("menu-item-checkbox" "GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX" "37")
    '("menu-item-radio" "GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO" "38")
    '("navigation" "GTK_ACCESSIBLE_ROLE_NAVIGATION" "39")
    '("none" "GTK_ACCESSIBLE_ROLE_NONE" "40")
    '("note" "GTK_ACCESSIBLE_ROLE_NOTE" "41")
    '("option" "GTK_ACCESSIBLE_ROLE_OPTION" "42")
    '("presentation" "GTK_ACCESSIBLE_ROLE_PRESENTATION" "43")
    '("progress-bar" "GTK_ACCESSIBLE_ROLE_PROGRESS_BAR" "44")
    '("radio" "GTK_ACCESSIBLE_ROLE_RADIO" "45")
    '("radio-group" "GTK_ACCESSIBLE_ROLE_RADIO_GROUP" "46")
    '("range" "GTK_ACCESSIBLE_ROLE_RANGE" "47")
    '("region" "GTK_ACCESSIBLE_ROLE_REGION" "48")
    '("row" "GTK_ACCESSIBLE_ROLE_ROW" "49")
    '("row-group" "GTK_ACCESSIBLE_ROLE_ROW_GROUP" "50")
    '("row-header" "GTK_ACCESSIBLE_ROLE_ROW_HEADER" "51")
    '("scrollbar" "GTK_ACCESSIBLE_ROLE_SCROLLBAR" "52")
    '("search" "GTK_ACCESSIBLE_ROLE_SEARCH" "53")
    '("search-box" "GTK_ACCESSIBLE_ROLE_SEARCH_BOX" "54")
    '("section" "GTK_ACCESSIBLE_ROLE_SECTION" "55")
    '("section-head" "GTK_ACCESSIBLE_ROLE_SECTION_HEAD" "56")
    '("select" "GTK_ACCESSIBLE_ROLE_SELECT" "57")
    '("separator" "GTK_ACCESSIBLE_ROLE_SEPARATOR" "58")
    '("slider" "GTK_ACCESSIBLE_ROLE_SLIDER" "59")
    '("spin-button" "GTK_ACCESSIBLE_ROLE_SPIN_BUTTON" "60")
    '("status" "GTK_ACCESSIBLE_ROLE_STATUS" "61")
    '("structure" "GTK_ACCESSIBLE_ROLE_STRUCTURE" "62")
    '("switch" "GTK_ACCESSIBLE_ROLE_SWITCH" "63")
    '("tab" "GTK_ACCESSIBLE_ROLE_TAB" "64")
    '("table" "GTK_ACCESSIBLE_ROLE_TABLE" "65")
    '("tab-list" "GTK_ACCESSIBLE_ROLE_TAB_LIST" "66")
    '("tab-panel" "GTK_ACCESSIBLE_ROLE_TAB_PANEL" "67")
    '("text-box" "GTK_ACCESSIBLE_ROLE_TEXT_BOX" "68")
    '("time" "GTK_ACCESSIBLE_ROLE_TIME" "69")
    '("timer" "GTK_ACCESSIBLE_ROLE_TIMER" "70")
    '("toolbar" "GTK_ACCESSIBLE_ROLE_TOOLBAR" "71")
    '("tooltip" "GTK_ACCESSIBLE_ROLE_TOOLTIP" "72")
    '("tree" "GTK_ACCESSIBLE_ROLE_TREE" "73")
    '("tree-grid" "GTK_ACCESSIBLE_ROLE_TREE_GRID" "74")
    '("tree-item" "GTK_ACCESSIBLE_ROLE_TREE_ITEM" "75")
    '("widget" "GTK_ACCESSIBLE_ROLE_WIDGET" "76")
    '("window" "GTK_ACCESSIBLE_ROLE_WINDOW" "77")
    '("toggle-button" "GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON" "78")
    '("application" "GTK_ACCESSIBLE_ROLE_APPLICATION" "79")
    '("paragraph" "GTK_ACCESSIBLE_ROLE_PARAGRAPH" "80")
    '("block-quote" "GTK_ACCESSIBLE_ROLE_BLOCK_QUOTE" "81")
    '("article" "GTK_ACCESSIBLE_ROLE_ARTICLE" "82")
    '("comment" "GTK_ACCESSIBLE_ROLE_COMMENT" "83")
    '("terminal" "GTK_ACCESSIBLE_ROLE_TERMINAL" "84")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_STATE_BUSY,
;;   GTK_ACCESSIBLE_STATE_CHECKED,
;;   GTK_ACCESSIBLE_STATE_DISABLED,
;;   GTK_ACCESSIBLE_STATE_EXPANDED,
;;   GTK_ACCESSIBLE_STATE_HIDDEN,
;;   GTK_ACCESSIBLE_STATE_INVALID,
;;   GTK_ACCESSIBLE_STATE_PRESSED,
;;   GTK_ACCESSIBLE_STATE_SELECTED,
;;   GTK_ACCESSIBLE_STATE_VISITED GDK_AVAILABLE_ENUMERATOR_IN_4_12
;; } GtkAccessibleState;

(define-enum-extended AccessibleState
  (in-module "Gtk")
  (c-name "GtkAccessibleState")
  (values
    '("busy" "GTK_ACCESSIBLE_STATE_BUSY" "0")
    '("checked" "GTK_ACCESSIBLE_STATE_CHECKED" "1")
    '("disabled" "GTK_ACCESSIBLE_STATE_DISABLED" "2")
    '("expanded" "GTK_ACCESSIBLE_STATE_EXPANDED" "3")
    '("hidden" "GTK_ACCESSIBLE_STATE_HIDDEN" "4")
    '("invalid" "GTK_ACCESSIBLE_STATE_INVALID" "5")
    '("pressed" "GTK_ACCESSIBLE_STATE_PRESSED" "6")
    '("selected" "GTK_ACCESSIBLE_STATE_SELECTED" "7")
    '("visited" "GTK_ACCESSIBLE_STATE_VISITED" "8")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE,
;;   GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,
;;   GTK_ACCESSIBLE_PROPERTY_HAS_POPUP,
;;   GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS,
;;   GTK_ACCESSIBLE_PROPERTY_LABEL,
;;   GTK_ACCESSIBLE_PROPERTY_LEVEL,
;;   GTK_ACCESSIBLE_PROPERTY_MODAL,
;;   GTK_ACCESSIBLE_PROPERTY_MULTI_LINE,
;;   GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE,
;;   GTK_ACCESSIBLE_PROPERTY_ORIENTATION,
;;   GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER,
;;   GTK_ACCESSIBLE_PROPERTY_READ_ONLY,
;;   GTK_ACCESSIBLE_PROPERTY_REQUIRED,
;;   GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION,
;;   GTK_ACCESSIBLE_PROPERTY_SORT,
;;   GTK_ACCESSIBLE_PROPERTY_VALUE_MAX,
;;   GTK_ACCESSIBLE_PROPERTY_VALUE_MIN,
;;   GTK_ACCESSIBLE_PROPERTY_VALUE_NOW,
;;   GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT
;; } GtkAccessibleProperty;

(define-enum-extended AccessibleProperty
  (in-module "Gtk")
  (c-name "GtkAccessibleProperty")
  (values
    '("autocomplete" "GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE" "0")
    '("description" "GTK_ACCESSIBLE_PROPERTY_DESCRIPTION" "1")
    '("has-popup" "GTK_ACCESSIBLE_PROPERTY_HAS_POPUP" "2")
    '("key-shortcuts" "GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS" "3")
    '("label" "GTK_ACCESSIBLE_PROPERTY_LABEL" "4")
    '("level" "GTK_ACCESSIBLE_PROPERTY_LEVEL" "5")
    '("modal" "GTK_ACCESSIBLE_PROPERTY_MODAL" "6")
    '("multi-line" "GTK_ACCESSIBLE_PROPERTY_MULTI_LINE" "7")
    '("multi-selectable" "GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE" "8")
    '("orientation" "GTK_ACCESSIBLE_PROPERTY_ORIENTATION" "9")
    '("placeholder" "GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER" "10")
    '("read-only" "GTK_ACCESSIBLE_PROPERTY_READ_ONLY" "11")
    '("required" "GTK_ACCESSIBLE_PROPERTY_REQUIRED" "12")
    '("role-description" "GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION" "13")
    '("sort" "GTK_ACCESSIBLE_PROPERTY_SORT" "14")
    '("value-max" "GTK_ACCESSIBLE_PROPERTY_VALUE_MAX" "15")
    '("value-min" "GTK_ACCESSIBLE_PROPERTY_VALUE_MIN" "16")
    '("value-now" "GTK_ACCESSIBLE_PROPERTY_VALUE_NOW" "17")
    '("value-text" "GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT" "18")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT,
;;   GTK_ACCESSIBLE_RELATION_COL_COUNT,
;;   GTK_ACCESSIBLE_RELATION_COL_INDEX,
;;   GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT,
;;   GTK_ACCESSIBLE_RELATION_COL_SPAN,
;;   GTK_ACCESSIBLE_RELATION_CONTROLS,
;;   GTK_ACCESSIBLE_RELATION_DESCRIBED_BY,
;;   GTK_ACCESSIBLE_RELATION_DETAILS,
;;   GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE,
;;   GTK_ACCESSIBLE_RELATION_FLOW_TO,
;;   GTK_ACCESSIBLE_RELATION_LABELLED_BY,
;;   GTK_ACCESSIBLE_RELATION_OWNS,
;;   GTK_ACCESSIBLE_RELATION_POS_IN_SET,
;;   GTK_ACCESSIBLE_RELATION_ROW_COUNT,
;;   GTK_ACCESSIBLE_RELATION_ROW_INDEX,
;;   GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT,
;;   GTK_ACCESSIBLE_RELATION_ROW_SPAN,
;;   GTK_ACCESSIBLE_RELATION_SET_SIZE
;; } GtkAccessibleRelation;

(define-enum-extended AccessibleRelation
  (in-module "Gtk")
  (c-name "GtkAccessibleRelation")
  (values
    '("active-descendant" "GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT" "0")
    '("col-count" "GTK_ACCESSIBLE_RELATION_COL_COUNT" "1")
    '("col-index" "GTK_ACCESSIBLE_RELATION_COL_INDEX" "2")
    '("col-index-text" "GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT" "3")
    '("col-span" "GTK_ACCESSIBLE_RELATION_COL_SPAN" "4")
    '("controls" "GTK_ACCESSIBLE_RELATION_CONTROLS" "5")
    '("described-by" "GTK_ACCESSIBLE_RELATION_DESCRIBED_BY" "6")
    '("details" "GTK_ACCESSIBLE_RELATION_DETAILS" "7")
    '("error-message" "GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE" "8")
    '("flow-to" "GTK_ACCESSIBLE_RELATION_FLOW_TO" "9")
    '("labelled-by" "GTK_ACCESSIBLE_RELATION_LABELLED_BY" "10")
    '("owns" "GTK_ACCESSIBLE_RELATION_OWNS" "11")
    '("pos-in-set" "GTK_ACCESSIBLE_RELATION_POS_IN_SET" "12")
    '("row-count" "GTK_ACCESSIBLE_RELATION_ROW_COUNT" "13")
    '("row-index" "GTK_ACCESSIBLE_RELATION_ROW_INDEX" "14")
    '("row-index-text" "GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT" "15")
    '("row-span" "GTK_ACCESSIBLE_RELATION_ROW_SPAN" "16")
    '("set-size" "GTK_ACCESSIBLE_RELATION_SET_SIZE" "17")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_TRISTATE_FALSE,
;;   GTK_ACCESSIBLE_TRISTATE_TRUE,
;;   GTK_ACCESSIBLE_TRISTATE_MIXED
;; } GtkAccessibleTristate;

(define-enum-extended AccessibleTristate
  (in-module "Gtk")
  (c-name "GtkAccessibleTristate")
  (values
    '("false" "GTK_ACCESSIBLE_TRISTATE_FALSE" "0")
    '("true" "GTK_ACCESSIBLE_TRISTATE_TRUE" "1")
    '("mixed" "GTK_ACCESSIBLE_TRISTATE_MIXED" "2")
  )
)

;; Original typedef:
;; typedef enum { /*< prefix=GTK_ACCESSIBLE_INVALID >*/
;;   GTK_ACCESSIBLE_INVALID_FALSE,
;;   GTK_ACCESSIBLE_INVALID_TRUE,
;;   GTK_ACCESSIBLE_INVALID_GRAMMAR,
;;   GTK_ACCESSIBLE_INVALID_SPELLING,
;; } GtkAccessibleInvalidState;

(define-enum-extended AccessibleInvalidState
  (in-module "Gtk")
  (c-name "GtkAccessibleInvalidState")
  (values
    '("false" "GTK_ACCESSIBLE_INVALID_FALSE" "0")
    '("true" "GTK_ACCESSIBLE_INVALID_TRUE" "1")
    '("grammar" "GTK_ACCESSIBLE_INVALID_GRAMMAR" "2")
    '("spelling" "GTK_ACCESSIBLE_INVALID_SPELLING" "3")
  )
)

;; Original typedef:
;; typedef enum { /*< prefix=GTK_ACCESSIBLE_AUTOCOMPLETE >*/
;;   GTK_ACCESSIBLE_AUTOCOMPLETE_NONE,
;;   GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE,
;;   GTK_ACCESSIBLE_AUTOCOMPLETE_LIST,
;;   GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH
;; } GtkAccessibleAutocomplete;

(define-enum-extended AccessibleAutocomplete
  (in-module "Gtk")
  (c-name "GtkAccessibleAutocomplete")
  (values
    '("none" "GTK_ACCESSIBLE_AUTOCOMPLETE_NONE" "0")
    '("inline" "GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE" "1")
    '("list" "GTK_ACCESSIBLE_AUTOCOMPLETE_LIST" "2")
    '("both" "GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH" "3")
  )
)

;; Original typedef:
;; typedef enum { /*< prefix=GTK_ACCESSIBLE_SORT >*/
;;   GTK_ACCESSIBLE_SORT_NONE,
;;   GTK_ACCESSIBLE_SORT_ASCENDING,
;;   GTK_ACCESSIBLE_SORT_DESCENDING,
;;   GTK_ACCESSIBLE_SORT_OTHER
;; } GtkAccessibleSort;

(define-enum-extended AccessibleSort
  (in-module "Gtk")
  (c-name "GtkAccessibleSort")
  (values
    '("none" "GTK_ACCESSIBLE_SORT_NONE" "0")
    '("ascending" "GTK_ACCESSIBLE_SORT_ASCENDING" "1")
    '("descending" "GTK_ACCESSIBLE_SORT_DESCENDING" "2")
    '("other" "GTK_ACCESSIBLE_SORT_OTHER" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW,
;;   GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM,
;;   GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH
;; } GtkAccessibleAnnouncementPriority;

(define-enum-extended AccessibleAnnouncementPriority
  (in-module "Gtk")
  (c-name "GtkAccessibleAnnouncementPriority")
  (values
    '("low" "GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW" "0")
    '("medium" "GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM" "1")
    '("high" "GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH" "2")
  )
)

;; Original typedef:
;; typedef enum { /*< prefix=GTK_POPOVER_MENU >*/
;;   GTK_POPOVER_MENU_SLIDING = 0,
;;   GTK_POPOVER_MENU_NESTED = 1 << 0
;; } GtkPopoverMenuFlags;

(define-flags-extended PopoverMenuFlags
  (in-module "Gtk")
  (c-name "GtkPopoverMenuFlags")
  (values
    '("sliding" "GTK_POPOVER_MENU_SLIDING" "0x0")
    '("nested" "GTK_POPOVER_MENU_NESTED" "1 << 0")
  )
)

;; From gtkeventcontrollerscroll.h

;; Original typedef:
;; typedef enum {
;;   GTK_EVENT_CONTROLLER_SCROLL_NONE       = 0,
;;   GTK_EVENT_CONTROLLER_SCROLL_VERTICAL   = 1 << 0,
;;   GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL = 1 << 1,
;;   GTK_EVENT_CONTROLLER_SCROLL_DISCRETE   = 1 << 2,
;;   GTK_EVENT_CONTROLLER_SCROLL_KINETIC    = 1 << 3,
;;   GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES  = (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL | GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL),
;; } GtkEventControllerScrollFlags;

(define-flags-extended EventControllerScrollFlags
  (in-module "Gtk")
  (c-name "GtkEventControllerScrollFlags")
  (values
    '("none" "GTK_EVENT_CONTROLLER_SCROLL_NONE" "0x0")
    '("vertical" "GTK_EVENT_CONTROLLER_SCROLL_VERTICAL" "1 << 0")
    '("horizontal" "GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL" "1 << 1")
    '("discrete" "GTK_EVENT_CONTROLLER_SCROLL_DISCRETE" "1 << 2")
    '("kinetic" "GTK_EVENT_CONTROLLER_SCROLL_KINETIC" "1 << 3")
    '("both-axes" "GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES" "0x3")
  )
)

;; From gtkfilechooserutils.h

;; Original typedef:
;; typedef enum {
;;   GTK_FILE_CHOOSER_PROP_FIRST                  = 0x1000,
;;   GTK_FILE_CHOOSER_PROP_ACTION                 = GTK_FILE_CHOOSER_PROP_FIRST,
;;   GTK_FILE_CHOOSER_PROP_FILTER,
;;   GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE,
;;   GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS,
;;   GTK_FILE_CHOOSER_PROP_FILTERS,
;;   GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS,
;;   GTK_FILE_CHOOSER_PROP_LAST                   = GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS
;; } GtkFileChooserProp;

(define-enum-extended FileChooserProp
  (in-module "Gtk")
  (c-name "GtkFileChooserProp")
  (values
    '("first" "GTK_FILE_CHOOSER_PROP_FIRST" "0x1000")
    '("action" "GTK_FILE_CHOOSER_PROP_ACTION" "4096")
    '("filter" "GTK_FILE_CHOOSER_PROP_FILTER" "4097")
    '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE" "4098")
    '("create-folders" "GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS" "4099")
    '("filters" "GTK_FILE_CHOOSER_PROP_FILTERS" "4100")
    '("shortcut-folders" "GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS" "4101")
    '("last" "GTK_FILE_CHOOSER_PROP_LAST" "4101")
  )
)

;; From gtkfilter.h

;; Original typedef:
;; typedef enum {
;;   GTK_FILTER_MATCH_SOME = 0,
;;   GTK_FILTER_MATCH_NONE,
;;   GTK_FILTER_MATCH_ALL
;; } GtkFilterMatch;

(define-enum-extended FilterMatch
  (in-module "Gtk")
  (c-name "GtkFilterMatch")
  (values
    '("some" "GTK_FILTER_MATCH_SOME" "0")
    '("none" "GTK_FILTER_MATCH_NONE" "1")
    '("all" "GTK_FILTER_MATCH_ALL" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_FILTER_CHANGE_DIFFERENT = 0,
;;   GTK_FILTER_CHANGE_LESS_STRICT,
;;   GTK_FILTER_CHANGE_MORE_STRICT,
;; } GtkFilterChange;

(define-enum-extended FilterChange
  (in-module "Gtk")
  (c-name "GtkFilterChange")
  (values
    '("different" "GTK_FILTER_CHANGE_DIFFERENT" "0")
    '("less-strict" "GTK_FILTER_CHANGE_LESS_STRICT" "1")
    '("more-strict" "GTK_FILTER_CHANGE_MORE_STRICT" "2")
  )
)

;; From gtkfontchooserutils.h

;; Original typedef:
;; typedef enum {
;;   GTK_FONT_CHOOSER_PROP_FIRST           = 0x4000,
;;   GTK_FONT_CHOOSER_PROP_FONT,
;;   GTK_FONT_CHOOSER_PROP_FONT_DESC,
;;   GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT,
;;   GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY,
;;   GTK_FONT_CHOOSER_PROP_LEVEL,
;;   GTK_FONT_CHOOSER_PROP_FONT_FEATURES,
;;   GTK_FONT_CHOOSER_PROP_LANGUAGE,
;;   GTK_FONT_CHOOSER_PROP_LAST
;; } GtkFontChooserProp;

(define-enum-extended FontChooserProp
  (in-module "Gtk")
  (c-name "GtkFontChooserProp")
  (values
    '("first" "GTK_FONT_CHOOSER_PROP_FIRST" "0x4000")
    '("font" "GTK_FONT_CHOOSER_PROP_FONT" "16385")
    '("font-desc" "GTK_FONT_CHOOSER_PROP_FONT_DESC" "16386")
    '("preview-text" "GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT" "16387")
    '("show-preview-entry" "GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY" "16388")
    '("level" "GTK_FONT_CHOOSER_PROP_LEVEL" "16389")
    '("font-features" "GTK_FONT_CHOOSER_PROP_FONT_FEATURES" "16390")
    '("language" "GTK_FONT_CHOOSER_PROP_LANGUAGE" "16391")
    '("last" "GTK_FONT_CHOOSER_PROP_LAST" "16392")
  )
)

;; From gtkfontdialogbutton.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_FONT_LEVEL_FAMILY,
;;   GTK_FONT_LEVEL_FACE,
;;   GTK_FONT_LEVEL_FONT,
;;   GTK_FONT_LEVEL_FEATURES
;; } GtkFontLevel;

(define-enum-extended FontLevel
  (in-module "Gtk")
  (c-name "GtkFontLevel")
  (values
    '("family" "GTK_FONT_LEVEL_FAMILY" "0")
    '("face" "GTK_FONT_LEVEL_FACE" "1")
    '("font" "GTK_FONT_LEVEL_FONT" "2")
    '("features" "GTK_FONT_LEVEL_FEATURES" "3")
  )
)

;; From gtkgraphicsoffload.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_GRAPHICS_OFFLOAD_ENABLED,
;;   GTK_GRAPHICS_OFFLOAD_DISABLED,
;; } GtkGraphicsOffloadEnabled;

(define-enum-extended GraphicsOffloadEnabled
  (in-module "Gtk")
  (c-name "GtkGraphicsOffloadEnabled")
  (values
    '("enabled" "GTK_GRAPHICS_OFFLOAD_ENABLED" "0")
    '("disabled" "GTK_GRAPHICS_OFFLOAD_DISABLED" "1")
  )
)

;; From gtkicontheme.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ICON_LOOKUP_FORCE_REGULAR  = 1 << 0,
;;   GTK_ICON_LOOKUP_FORCE_SYMBOLIC = 1 << 1,
;;   GTK_ICON_LOOKUP_PRELOAD        = 1 << 2,
;; } GtkIconLookupFlags;

(define-flags-extended IconLookupFlags
  (in-module "Gtk")
  (c-name "GtkIconLookupFlags")
  (values
    '("force-regular" "GTK_ICON_LOOKUP_FORCE_REGULAR" "1 << 0")
    '("force-symbolic" "GTK_ICON_LOOKUP_FORCE_SYMBOLIC" "1 << 1")
    '("preload" "GTK_ICON_LOOKUP_PRELOAD" "1 << 2")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_ICON_THEME_NOT_FOUND,
;;   GTK_ICON_THEME_FAILED
;; } GtkIconThemeError;

(define-enum-extended IconThemeError
  (in-module "Gtk")
  (c-name "GtkIconThemeError")
  (values
    '("not-found" "GTK_ICON_THEME_NOT_FOUND" "0")
    '("failed" "GTK_ICON_THEME_FAILED" "1")
  )
)

;; From gtkimage.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_IMAGE_EMPTY,
;;   GTK_IMAGE_ICON_NAME,
;;   GTK_IMAGE_GICON,
;;   GTK_IMAGE_PAINTABLE
;; } GtkImageType;

(define-enum-extended ImageType
  (in-module "Gtk")
  (c-name "GtkImageType")
  (values
    '("empty" "GTK_IMAGE_EMPTY" "0")
    '("icon-name" "GTK_IMAGE_ICON_NAME" "1")
    '("gicon" "GTK_IMAGE_GICON" "2")
    '("paintable" "GTK_IMAGE_PAINTABLE" "3")
  )
)

;; From gtkinscription.h

;; Original typedef:
;; typedef enum {
;;   GTK_INSCRIPTION_OVERFLOW_CLIP,
;;   GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START,
;;   GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE,
;;   GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END
;; } GtkInscriptionOverflow;

(define-enum-extended InscriptionOverflow
  (in-module "Gtk")
  (c-name "GtkInscriptionOverflow")
  (values
    '("clip" "GTK_INSCRIPTION_OVERFLOW_CLIP" "0")
    '("ellipsize-start" "GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START" "1")
    '("ellipsize-middle" "GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE" "2")
    '("ellipsize-end" "GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END" "3")
  )
)

;; From gtknotebook.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_NOTEBOOK_TAB_FIRST,
;;   GTK_NOTEBOOK_TAB_LAST
;; } GtkNotebookTab;

(define-enum-extended NotebookTab
  (in-module "Gtk")
  (c-name "GtkNotebookTab")
  (values
    '("first" "GTK_NOTEBOOK_TAB_FIRST" "0")
    '("last" "GTK_NOTEBOOK_TAB_LAST" "1")
  )
)

;; From gtkopenuriportal.h

;; Original typedef:
;; typedef enum
;; {
;;  GTK_OPENURI_FLAGS_ASK      = 1 << 0,
;;  GTK_OPENURI_FLAGS_WRITABLE = 1 << 1,
;; } GtkOpenuriFlags;

(define-flags-extended OpenuriFlags
  (in-module "Gtk")
  (c-name "GtkOpenuriFlags")
  (values
    '("ask" "GTK_OPENURI_FLAGS_ASK" "1 << 0")
    '("writable" "GTK_OPENURI_FLAGS_WRITABLE" "1 << 1")
  )
)

;; From gtkpadcontroller.h

;; Original typedef:
;; typedef enum {
;;   GTK_PAD_ACTION_BUTTON,
;;   GTK_PAD_ACTION_RING,
;;   GTK_PAD_ACTION_STRIP
;; } GtkPadActionType;

(define-enum-extended PadActionType
  (in-module "Gtk")
  (c-name "GtkPadActionType")
  (values
    '("button" "GTK_PAD_ACTION_BUTTON" "0")
    '("ring" "GTK_PAD_ACTION_RING" "1")
    '("strip" "GTK_PAD_ACTION_STRIP" "2")
  )
)

;; From gtkrecentmanager.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_RECENT_MANAGER_ERROR_NOT_FOUND,
;;   GTK_RECENT_MANAGER_ERROR_INVALID_URI,
;;   GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING,
;;   GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED,
;;   GTK_RECENT_MANAGER_ERROR_READ,
;;   GTK_RECENT_MANAGER_ERROR_WRITE,
;;   GTK_RECENT_MANAGER_ERROR_UNKNOWN
;; } GtkRecentManagerError;

(define-enum-extended RecentManagerError
  (in-module "Gtk")
  (c-name "GtkRecentManagerError")
  (values
    '("not-found" "GTK_RECENT_MANAGER_ERROR_NOT_FOUND" "0")
    '("invalid-uri" "GTK_RECENT_MANAGER_ERROR_INVALID_URI" "1")
    '("invalid-encoding" "GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING" "2")
    '("not-registered" "GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED" "3")
    '("read" "GTK_RECENT_MANAGER_ERROR_READ" "4")
    '("write" "GTK_RECENT_MANAGER_ERROR_WRITE" "5")
    '("unknown" "GTK_RECENT_MANAGER_ERROR_UNKNOWN" "6")
  )
)

;; From gtkrevealer.h

;; Original typedef:
;; typedef enum {
;;   GTK_REVEALER_TRANSITION_TYPE_NONE,
;;   GTK_REVEALER_TRANSITION_TYPE_CROSSFADE,
;;   GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT,
;;   GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT,
;;   GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP,
;;   GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN,
;;   GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT,
;;   GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT,
;;   GTK_REVEALER_TRANSITION_TYPE_SWING_UP,
;;   GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN
;; } GtkRevealerTransitionType;

(define-enum-extended RevealerTransitionType
  (in-module "Gtk")
  (c-name "GtkRevealerTransitionType")
  (values
    '("none" "GTK_REVEALER_TRANSITION_TYPE_NONE" "0")
    '("crossfade" "GTK_REVEALER_TRANSITION_TYPE_CROSSFADE" "1")
    '("slide-right" "GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT" "2")
    '("slide-left" "GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT" "3")
    '("slide-up" "GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP" "4")
    '("slide-down" "GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN" "5")
    '("swing-right" "GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT" "6")
    '("swing-left" "GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT" "7")
    '("swing-up" "GTK_REVEALER_TRANSITION_TYPE_SWING_UP" "8")
    '("swing-down" "GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN" "9")
  )
)

;; From gtkscrolledwindow.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CORNER_TOP_LEFT,
;;   GTK_CORNER_BOTTOM_LEFT,
;;   GTK_CORNER_TOP_RIGHT,
;;   GTK_CORNER_BOTTOM_RIGHT
;; } GtkCornerType;

(define-enum-extended CornerType
  (in-module "Gtk")
  (c-name "GtkCornerType")
  (values
    '("top-left" "GTK_CORNER_TOP_LEFT" "0")
    '("bottom-left" "GTK_CORNER_BOTTOM_LEFT" "1")
    '("top-right" "GTK_CORNER_TOP_RIGHT" "2")
    '("bottom-right" "GTK_CORNER_BOTTOM_RIGHT" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_POLICY_ALWAYS,
;;   GTK_POLICY_AUTOMATIC,
;;   GTK_POLICY_NEVER,
;;   GTK_POLICY_EXTERNAL
;; } GtkPolicyType;

(define-enum-extended PolicyType
  (in-module "Gtk")
  (c-name "GtkPolicyType")
  (values
    '("always" "GTK_POLICY_ALWAYS" "0")
    '("automatic" "GTK_POLICY_AUTOMATIC" "1")
    '("never" "GTK_POLICY_NEVER" "2")
    '("external" "GTK_POLICY_EXTERNAL" "3")
  )
)

;; From gtkshortcutaction.h

;; Original typedef:
;; typedef enum {
;;   GTK_SHORTCUT_ACTION_EXCLUSIVE = 1 << 0
;; } GtkShortcutActionFlags;

(define-flags-extended ShortcutActionFlags
  (in-module "Gtk")
  (c-name "GtkShortcutActionFlags")
  (values
    '("exclusive" "GTK_SHORTCUT_ACTION_EXCLUSIVE" "1 << 0")
  )
)

;; From gtkshortcutsshortcut.h

;; Original typedef:
;; typedef enum {
;;   GTK_SHORTCUT_ACCELERATOR,
;;   GTK_SHORTCUT_GESTURE_PINCH,
;;   GTK_SHORTCUT_GESTURE_STRETCH,
;;   GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE,
;;   GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE,
;;   GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT,
;;   GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT,
;;   GTK_SHORTCUT_GESTURE,
;;   GTK_SHORTCUT_GESTURE_SWIPE_LEFT,
;;   GTK_SHORTCUT_GESTURE_SWIPE_RIGHT
;; } GtkShortcutType;

(define-enum-extended ShortcutType
  (in-module "Gtk")
  (c-name "GtkShortcutType")
  (values
    '("accelerator" "GTK_SHORTCUT_ACCELERATOR" "0")
    '("gesture-pinch" "GTK_SHORTCUT_GESTURE_PINCH" "1")
    '("gesture-stretch" "GTK_SHORTCUT_GESTURE_STRETCH" "2")
    '("gesture-rotate-clockwise" "GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE" "3")
    '("gesture-rotate-counterclockwise" "GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE" "4")
    '("gesture-two-finger-swipe-left" "GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT" "5")
    '("gesture-two-finger-swipe-right" "GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT" "6")
    '("gesture" "GTK_SHORTCUT_GESTURE" "7")
    '("gesture-swipe-left" "GTK_SHORTCUT_GESTURE_SWIPE_LEFT" "8")
    '("gesture-swipe-right" "GTK_SHORTCUT_GESTURE_SWIPE_RIGHT" "9")
  )
)

;; From gtksorter.h

;; Original typedef:
;; typedef enum {
;;   GTK_SORTER_ORDER_PARTIAL,
;;   GTK_SORTER_ORDER_NONE,
;;   GTK_SORTER_ORDER_TOTAL
;; } GtkSorterOrder;

(define-enum-extended SorterOrder
  (in-module "Gtk")
  (c-name "GtkSorterOrder")
  (values
    '("partial" "GTK_SORTER_ORDER_PARTIAL" "0")
    '("none" "GTK_SORTER_ORDER_NONE" "1")
    '("total" "GTK_SORTER_ORDER_TOTAL" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_SORTER_CHANGE_DIFFERENT,
;;   GTK_SORTER_CHANGE_INVERTED,
;;   GTK_SORTER_CHANGE_LESS_STRICT,
;;   GTK_SORTER_CHANGE_MORE_STRICT
;; } GtkSorterChange;

(define-enum-extended SorterChange
  (in-module "Gtk")
  (c-name "GtkSorterChange")
  (values
    '("different" "GTK_SORTER_CHANGE_DIFFERENT" "0")
    '("inverted" "GTK_SORTER_CHANGE_INVERTED" "1")
    '("less-strict" "GTK_SORTER_CHANGE_LESS_STRICT" "2")
    '("more-strict" "GTK_SORTER_CHANGE_MORE_STRICT" "3")
  )
)

;; From gtkspinbutton.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_UPDATE_ALWAYS,
;;   GTK_UPDATE_IF_VALID
;; } GtkSpinButtonUpdatePolicy;

(define-enum-extended SpinButtonUpdatePolicy
  (in-module "Gtk")
  (c-name "GtkSpinButtonUpdatePolicy")
  (values
    '("always" "GTK_UPDATE_ALWAYS" "0")
    '("if-valid" "GTK_UPDATE_IF_VALID" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_SPIN_STEP_FORWARD,
;;   GTK_SPIN_STEP_BACKWARD,
;;   GTK_SPIN_PAGE_FORWARD,
;;   GTK_SPIN_PAGE_BACKWARD,
;;   GTK_SPIN_HOME,
;;   GTK_SPIN_END,
;;   GTK_SPIN_USER_DEFINED
;; } GtkSpinType;

(define-enum-extended SpinType
  (in-module "Gtk")
  (c-name "GtkSpinType")
  (values
    '("step-forward" "GTK_SPIN_STEP_FORWARD" "0")
    '("step-backward" "GTK_SPIN_STEP_BACKWARD" "1")
    '("page-forward" "GTK_SPIN_PAGE_FORWARD" "2")
    '("page-backward" "GTK_SPIN_PAGE_BACKWARD" "3")
    '("home" "GTK_SPIN_HOME" "4")
    '("end" "GTK_SPIN_END" "5")
    '("user-defined" "GTK_SPIN_USER_DEFINED" "6")
  )
)

;; From gtkstack.h

;; Original typedef:
;; typedef enum {
;;   GTK_STACK_TRANSITION_TYPE_NONE,
;;   GTK_STACK_TRANSITION_TYPE_CROSSFADE,
;;   GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT,
;;   GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT,
;;   GTK_STACK_TRANSITION_TYPE_SLIDE_UP,
;;   GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN,
;;   GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT,
;;   GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN,
;;   GTK_STACK_TRANSITION_TYPE_OVER_UP,
;;   GTK_STACK_TRANSITION_TYPE_OVER_DOWN,
;;   GTK_STACK_TRANSITION_TYPE_OVER_LEFT,
;;   GTK_STACK_TRANSITION_TYPE_OVER_RIGHT,
;;   GTK_STACK_TRANSITION_TYPE_UNDER_UP,
;;   GTK_STACK_TRANSITION_TYPE_UNDER_DOWN,
;;   GTK_STACK_TRANSITION_TYPE_UNDER_LEFT,
;;   GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT,
;;   GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN,
;;   GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP,
;;   GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT,
;;   GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT,
;;   GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT,
;;   GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT,
;;   GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT
;; } GtkStackTransitionType;

(define-enum-extended StackTransitionType
  (in-module "Gtk")
  (c-name "GtkStackTransitionType")
  (values
    '("none" "GTK_STACK_TRANSITION_TYPE_NONE" "0")
    '("crossfade" "GTK_STACK_TRANSITION_TYPE_CROSSFADE" "1")
    '("slide-right" "GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT" "2")
    '("slide-left" "GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT" "3")
    '("slide-up" "GTK_STACK_TRANSITION_TYPE_SLIDE_UP" "4")
    '("slide-down" "GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN" "5")
    '("slide-left-right" "GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT" "6")
    '("slide-up-down" "GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN" "7")
    '("over-up" "GTK_STACK_TRANSITION_TYPE_OVER_UP" "8")
    '("over-down" "GTK_STACK_TRANSITION_TYPE_OVER_DOWN" "9")
    '("over-left" "GTK_STACK_TRANSITION_TYPE_OVER_LEFT" "10")
    '("over-right" "GTK_STACK_TRANSITION_TYPE_OVER_RIGHT" "11")
    '("under-up" "GTK_STACK_TRANSITION_TYPE_UNDER_UP" "12")
    '("under-down" "GTK_STACK_TRANSITION_TYPE_UNDER_DOWN" "13")
    '("under-left" "GTK_STACK_TRANSITION_TYPE_UNDER_LEFT" "14")
    '("under-right" "GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT" "15")
    '("over-up-down" "GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN" "16")
    '("over-down-up" "GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP" "17")
    '("over-left-right" "GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT" "18")
    '("over-right-left" "GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT" "19")
    '("rotate-left" "GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT" "20")
    '("rotate-right" "GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT" "21")
    '("rotate-left-right" "GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT" "22")
  )
)

;; From gtkstringfilter.h

;; Original typedef:
;; typedef enum {
;;   GTK_STRING_FILTER_MATCH_MODE_EXACT,
;;   GTK_STRING_FILTER_MATCH_MODE_SUBSTRING,
;;   GTK_STRING_FILTER_MATCH_MODE_PREFIX
;; } GtkStringFilterMatchMode;

(define-enum-extended StringFilterMatchMode
  (in-module "Gtk")
  (c-name "GtkStringFilterMatchMode")
  (values
    '("exact" "GTK_STRING_FILTER_MATCH_MODE_EXACT" "0")
    '("substring" "GTK_STRING_FILTER_MATCH_MODE_SUBSTRING" "1")
    '("prefix" "GTK_STRING_FILTER_MATCH_MODE_PREFIX" "2")
  )
)

;; From gtkstringsorter.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_COLLATION_NONE,
;;   GTK_COLLATION_UNICODE,
;;   GTK_COLLATION_FILENAME
;; } GtkCollation;

(define-enum-extended Collation
  (in-module "Gtk")
  (c-name "GtkCollation")
  (values
    '("none" "GTK_COLLATION_NONE" "0")
    '("unicode" "GTK_COLLATION_UNICODE" "1")
    '("filename" "GTK_COLLATION_FILENAME" "2")
  )
)

;; From gtktextiter.h

;; Original typedef:
;; typedef enum {
;;   GTK_TEXT_SEARCH_VISIBLE_ONLY     = 1 << 0,
;;   GTK_TEXT_SEARCH_TEXT_ONLY        = 1 << 1,
;;   GTK_TEXT_SEARCH_CASE_INSENSITIVE = 1 << 2
;;   /* Possible future plans: SEARCH_REGEXP */
;; } GtkTextSearchFlags;

(define-flags-extended TextSearchFlags
  (in-module "Gtk")
  (c-name "GtkTextSearchFlags")
  (values
    '("visible-only" "GTK_TEXT_SEARCH_VISIBLE_ONLY" "1 << 0")
    '("text-only" "GTK_TEXT_SEARCH_TEXT_ONLY" "1 << 1")
    '("case-insensitive" "GTK_TEXT_SEARCH_CASE_INSENSITIVE" "1 << 2")
  )
)

;; From gtktextview.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TEXT_WINDOW_WIDGET = 1,
;;   GTK_TEXT_WINDOW_TEXT,
;;   GTK_TEXT_WINDOW_LEFT,
;;   GTK_TEXT_WINDOW_RIGHT,
;;   GTK_TEXT_WINDOW_TOP,
;;   GTK_TEXT_WINDOW_BOTTOM
;; } GtkTextWindowType;

(define-enum-extended TextWindowType
  (in-module "Gtk")
  (c-name "GtkTextWindowType")
  (values
    '("widget" "GTK_TEXT_WINDOW_WIDGET" "1")
    '("text" "GTK_TEXT_WINDOW_TEXT" "2")
    '("left" "GTK_TEXT_WINDOW_LEFT" "3")
    '("right" "GTK_TEXT_WINDOW_RIGHT" "4")
    '("top" "GTK_TEXT_WINDOW_TOP" "5")
    '("bottom" "GTK_TEXT_WINDOW_BOTTOM" "6")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TEXT_VIEW_LAYER_BELOW_TEXT,
;;   GTK_TEXT_VIEW_LAYER_ABOVE_TEXT
;; } GtkTextViewLayer;

(define-enum-extended TextViewLayer
  (in-module "Gtk")
  (c-name "GtkTextViewLayer")
  (values
    '("below-text" "GTK_TEXT_VIEW_LAYER_BELOW_TEXT" "0")
    '("above-text" "GTK_TEXT_VIEW_LAYER_ABOVE_TEXT" "1")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TEXT_EXTEND_SELECTION_WORD,
;;   GTK_TEXT_EXTEND_SELECTION_LINE
;; } GtkTextExtendSelection;

(define-enum-extended TextExtendSelection
  (in-module "Gtk")
  (c-name "GtkTextExtendSelection")
  (values
    '("word" "GTK_TEXT_EXTEND_SELECTION_WORD" "0")
    '("line" "GTK_TEXT_EXTEND_SELECTION_LINE" "1")
  )
)

;; From gtkcssenums.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CSS_PARSER_ERROR_FAILED,
;;   GTK_CSS_PARSER_ERROR_SYNTAX,
;;   GTK_CSS_PARSER_ERROR_IMPORT,
;;   GTK_CSS_PARSER_ERROR_NAME,
;;   GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE
;; } GtkCssParserError;

(define-enum-extended CssParserError
  (in-module "Gtk")
  (c-name "GtkCssParserError")
  (values
    '("failed" "GTK_CSS_PARSER_ERROR_FAILED" "0")
    '("syntax" "GTK_CSS_PARSER_ERROR_SYNTAX" "1")
    '("import" "GTK_CSS_PARSER_ERROR_IMPORT" "2")
    '("name" "GTK_CSS_PARSER_ERROR_NAME" "3")
    '("unknown-value" "GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE" "4")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CSS_PARSER_WARNING_DEPRECATED,
;;   GTK_CSS_PARSER_WARNING_SYNTAX,
;;   GTK_CSS_PARSER_WARNING_UNIMPLEMENTED
;; } GtkCssParserWarning;

(define-enum-extended CssParserWarning
  (in-module "Gtk")
  (c-name "GtkCssParserWarning")
  (values
    '("deprecated" "GTK_CSS_PARSER_WARNING_DEPRECATED" "0")
    '("syntax" "GTK_CSS_PARSER_WARNING_SYNTAX" "1")
    '("unimplemented" "GTK_CSS_PARSER_WARNING_UNIMPLEMENTED" "2")
  )
)

;; From gtkprinter.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PRINT_CAPABILITY_PAGE_SET         = 1 << 0,
;;   GTK_PRINT_CAPABILITY_COPIES           = 1 << 1,
;;   GTK_PRINT_CAPABILITY_COLLATE          = 1 << 2,
;;   GTK_PRINT_CAPABILITY_REVERSE          = 1 << 3,
;;   GTK_PRINT_CAPABILITY_SCALE            = 1 << 4,
;;   GTK_PRINT_CAPABILITY_GENERATE_PDF     = 1 << 5,
;;   GTK_PRINT_CAPABILITY_GENERATE_PS      = 1 << 6,
;;   GTK_PRINT_CAPABILITY_PREVIEW          = 1 << 7,
;;   GTK_PRINT_CAPABILITY_NUMBER_UP        = 1 << 8,
;;   GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = 1 << 9
;; } GtkPrintCapabilities;

(define-flags-extended PrintCapabilities
  (in-module "Gtk")
  (c-name "GtkPrintCapabilities")
  (values
    '("page-set" "GTK_PRINT_CAPABILITY_PAGE_SET" "1 << 0")
    '("copies" "GTK_PRINT_CAPABILITY_COPIES" "1 << 1")
    '("collate" "GTK_PRINT_CAPABILITY_COLLATE" "1 << 2")
    '("reverse" "GTK_PRINT_CAPABILITY_REVERSE" "1 << 3")
    '("scale" "GTK_PRINT_CAPABILITY_SCALE" "1 << 4")
    '("generate-pdf" "GTK_PRINT_CAPABILITY_GENERATE_PDF" "1 << 5")
    '("generate-ps" "GTK_PRINT_CAPABILITY_GENERATE_PS" "1 << 6")
    '("preview" "GTK_PRINT_CAPABILITY_PREVIEW" "1 << 7")
    '("number-up" "GTK_PRINT_CAPABILITY_NUMBER_UP" "1 << 8")
    '("number-up-layout" "GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT" "1 << 9")
  )
)

;; From gtkprintoperation.h

;; Original typedef:
;; typedef enum {
;;   GTK_PRINT_STATUS_INITIAL,
;;   GTK_PRINT_STATUS_PREPARING,
;;   GTK_PRINT_STATUS_GENERATING_DATA,
;;   GTK_PRINT_STATUS_SENDING_DATA,
;;   GTK_PRINT_STATUS_PENDING,
;;   GTK_PRINT_STATUS_PENDING_ISSUE,
;;   GTK_PRINT_STATUS_PRINTING,
;;   GTK_PRINT_STATUS_FINISHED,
;;   GTK_PRINT_STATUS_FINISHED_ABORTED
;; } GtkPrintStatus;

(define-enum-extended PrintStatus
  (in-module "Gtk")
  (c-name "GtkPrintStatus")
  (values
    '("initial" "GTK_PRINT_STATUS_INITIAL" "0")
    '("preparing" "GTK_PRINT_STATUS_PREPARING" "1")
    '("generating-data" "GTK_PRINT_STATUS_GENERATING_DATA" "2")
    '("sending-data" "GTK_PRINT_STATUS_SENDING_DATA" "3")
    '("pending" "GTK_PRINT_STATUS_PENDING" "4")
    '("pending-issue" "GTK_PRINT_STATUS_PENDING_ISSUE" "5")
    '("printing" "GTK_PRINT_STATUS_PRINTING" "6")
    '("finished" "GTK_PRINT_STATUS_FINISHED" "7")
    '("finished-aborted" "GTK_PRINT_STATUS_FINISHED_ABORTED" "8")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_PRINT_OPERATION_RESULT_ERROR,
;;   GTK_PRINT_OPERATION_RESULT_APPLY,
;;   GTK_PRINT_OPERATION_RESULT_CANCEL,
;;   GTK_PRINT_OPERATION_RESULT_IN_PROGRESS
;; } GtkPrintOperationResult;

(define-enum-extended PrintOperationResult
  (in-module "Gtk")
  (c-name "GtkPrintOperationResult")
  (values
    '("error" "GTK_PRINT_OPERATION_RESULT_ERROR" "0")
    '("apply" "GTK_PRINT_OPERATION_RESULT_APPLY" "1")
    '("cancel" "GTK_PRINT_OPERATION_RESULT_CANCEL" "2")
    '("in-progress" "GTK_PRINT_OPERATION_RESULT_IN_PROGRESS" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
;;   GTK_PRINT_OPERATION_ACTION_PRINT,
;;   GTK_PRINT_OPERATION_ACTION_PREVIEW,
;;   GTK_PRINT_OPERATION_ACTION_EXPORT
;; } GtkPrintOperationAction;

(define-enum-extended PrintOperationAction
  (in-module "Gtk")
  (c-name "GtkPrintOperationAction")
  (values
    '("print-dialog" "GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG" "0")
    '("print" "GTK_PRINT_OPERATION_ACTION_PRINT" "1")
    '("preview" "GTK_PRINT_OPERATION_ACTION_PREVIEW" "2")
    '("export" "GTK_PRINT_OPERATION_ACTION_EXPORT" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_PRINT_ERROR_GENERAL,
;;   GTK_PRINT_ERROR_INTERNAL_ERROR,
;;   GTK_PRINT_ERROR_NOMEM,
;;   GTK_PRINT_ERROR_INVALID_FILE
;; } GtkPrintError;

(define-enum-extended PrintError
  (in-module "Gtk")
  (c-name "GtkPrintError")
  (values
    '("general" "GTK_PRINT_ERROR_GENERAL" "0")
    '("internal-error" "GTK_PRINT_ERROR_INTERNAL_ERROR" "1")
    '("nomem" "GTK_PRINT_ERROR_NOMEM" "2")
    '("invalid-file" "GTK_PRINT_ERROR_INVALID_FILE" "3")
  )
)

;; From gtkassistant.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ASSISTANT_PAGE_CONTENT,
;;   GTK_ASSISTANT_PAGE_INTRO,
;;   GTK_ASSISTANT_PAGE_CONFIRM,
;;   GTK_ASSISTANT_PAGE_SUMMARY,
;;   GTK_ASSISTANT_PAGE_PROGRESS,
;;   GTK_ASSISTANT_PAGE_CUSTOM
;; } GtkAssistantPageType;

(define-enum-extended AssistantPageType
  (in-module "Gtk")
  (c-name "GtkAssistantPageType")
  (values
    '("content" "GTK_ASSISTANT_PAGE_CONTENT" "0")
    '("intro" "GTK_ASSISTANT_PAGE_INTRO" "1")
    '("confirm" "GTK_ASSISTANT_PAGE_CONFIRM" "2")
    '("summary" "GTK_ASSISTANT_PAGE_SUMMARY" "3")
    '("progress" "GTK_ASSISTANT_PAGE_PROGRESS" "4")
    '("custom" "GTK_ASSISTANT_PAGE_CUSTOM" "5")
  )
)

;; From gtkcellrendereraccel.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CELL_RENDERER_ACCEL_MODE_GTK,
;;   GTK_CELL_RENDERER_ACCEL_MODE_OTHER
;; } GtkCellRendererAccelMode;

(define-enum-extended CellRendererAccelMode
  (in-module "Gtk")
  (c-name "GtkCellRendererAccelMode")
  (values
    '("gtk" "GTK_CELL_RENDERER_ACCEL_MODE_GTK" "0")
    '("other" "GTK_CELL_RENDERER_ACCEL_MODE_OTHER" "1")
  )
)

;; From gtkcellrenderer.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CELL_RENDERER_SELECTED    = 1 << 0,
;;   GTK_CELL_RENDERER_PRELIT      = 1 << 1,
;;   GTK_CELL_RENDERER_INSENSITIVE = 1 << 2,
;;   /* this flag means the cell is in the sort column/row */
;;   GTK_CELL_RENDERER_SORTED      = 1 << 3,
;;   GTK_CELL_RENDERER_FOCUSED     = 1 << 4,
;;   GTK_CELL_RENDERER_EXPANDABLE  = 1 << 5,
;;   GTK_CELL_RENDERER_EXPANDED    = 1 << 6
;; } GtkCellRendererState;

(define-flags-extended CellRendererState
  (in-module "Gtk")
  (c-name "GtkCellRendererState")
  (values
    '("selected" "GTK_CELL_RENDERER_SELECTED" "1 << 0")
    '("prelit" "GTK_CELL_RENDERER_PRELIT" "1 << 1")
    '("insensitive" "GTK_CELL_RENDERER_INSENSITIVE" "1 << 2")
    '("sorted" "GTK_CELL_RENDERER_SORTED" "1 << 3")
    '("focused" "GTK_CELL_RENDERER_FOCUSED" "1 << 4")
    '("expandable" "GTK_CELL_RENDERER_EXPANDABLE" "1 << 5")
    '("expanded" "GTK_CELL_RENDERER_EXPANDED" "1 << 6")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_CELL_RENDERER_MODE_INERT,
;;   GTK_CELL_RENDERER_MODE_ACTIVATABLE,
;;   GTK_CELL_RENDERER_MODE_EDITABLE
;; } GtkCellRendererMode;

(define-enum-extended CellRendererMode
  (in-module "Gtk")
  (c-name "GtkCellRendererMode")
  (values
    '("inert" "GTK_CELL_RENDERER_MODE_INERT" "0")
    '("activatable" "GTK_CELL_RENDERER_MODE_ACTIVATABLE" "1")
    '("editable" "GTK_CELL_RENDERER_MODE_EDITABLE" "2")
  )
)

;; From gtkdialog.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_DIALOG_MODAL               = 1 << 0,
;;   GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1,
;;   GTK_DIALOG_USE_HEADER_BAR      = 1 << 2
;; } GtkDialogFlags;

(define-flags-extended DialogFlags
  (in-module "Gtk")
  (c-name "GtkDialogFlags")
  (values
    '("modal" "GTK_DIALOG_MODAL" "1 << 0")
    '("destroy-with-parent" "GTK_DIALOG_DESTROY_WITH_PARENT" "1 << 1")
    '("use-header-bar" "GTK_DIALOG_USE_HEADER_BAR" "1 << 2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   GTK_RESPONSE_NONE         = -1,
;;   GTK_RESPONSE_REJECT       = -2,
;;   GTK_RESPONSE_ACCEPT       = -3,
;;   GTK_RESPONSE_DELETE_EVENT = -4,
;;   GTK_RESPONSE_OK           = -5,
;;   GTK_RESPONSE_CANCEL       = -6,
;;   GTK_RESPONSE_CLOSE        = -7,
;;   GTK_RESPONSE_YES          = -8,
;;   GTK_RESPONSE_NO           = -9,
;;   GTK_RESPONSE_APPLY        = -10,
;;   GTK_RESPONSE_HELP         = -11
;; } GtkResponseType;

(define-enum-extended ResponseType
  (in-module "Gtk")
  (c-name "GtkResponseType")
  (values
    '("none" "GTK_RESPONSE_NONE" "-1")
    '("reject" "GTK_RESPONSE_REJECT" "-2")
    '("accept" "GTK_RESPONSE_ACCEPT" "-3")
    '("delete-event" "GTK_RESPONSE_DELETE_EVENT" "-4")
    '("ok" "GTK_RESPONSE_OK" "-5")
    '("cancel" "GTK_RESPONSE_CANCEL" "-6")
    '("close" "GTK_RESPONSE_CLOSE" "-7")
    '("yes" "GTK_RESPONSE_YES" "-8")
    '("no" "GTK_RESPONSE_NO" "-9")
    '("apply" "GTK_RESPONSE_APPLY" "-10")
    '("help" "GTK_RESPONSE_HELP" "-11")
  )
)

;; From gtkfilechooser.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_FILE_CHOOSER_ACTION_OPEN,
;;   GTK_FILE_CHOOSER_ACTION_SAVE,
;;   GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
;; } GtkFileChooserAction;

(define-enum-extended FileChooserAction
  (in-module "Gtk")
  (c-name "GtkFileChooserAction")
  (values
    '("open" "GTK_FILE_CHOOSER_ACTION_OPEN" "0")
    '("save" "GTK_FILE_CHOOSER_ACTION_SAVE" "1")
    '("select-folder" "GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   GTK_FILE_CHOOSER_ERROR_NONEXISTENT,
;;   GTK_FILE_CHOOSER_ERROR_BAD_FILENAME,
;;   GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS,
;;   GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME
;; } GtkFileChooserError;

(define-enum-extended FileChooserError
  (in-module "Gtk")
  (c-name "GtkFileChooserError")
  (values
    '("nonexistent" "GTK_FILE_CHOOSER_ERROR_NONEXISTENT" "0")
    '("bad-filename" "GTK_FILE_CHOOSER_ERROR_BAD_FILENAME" "1")
    '("already-exists" "GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS" "2")
    '("incomplete-hostname" "GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME" "3")
  )
)

;; From gtkfontchooser.h

;; Original typedef:
;; typedef enum {
;;   GTK_FONT_CHOOSER_LEVEL_FAMILY     = 0,
;;   GTK_FONT_CHOOSER_LEVEL_STYLE      = 1 << 0,
;;   GTK_FONT_CHOOSER_LEVEL_SIZE       = 1 << 1,
;;   GTK_FONT_CHOOSER_LEVEL_VARIATIONS = 1 << 2,
;;   GTK_FONT_CHOOSER_LEVEL_FEATURES   = 1 << 3
;; } GtkFontChooserLevel;

(define-flags-extended FontChooserLevel
  (in-module "Gtk")
  (c-name "GtkFontChooserLevel")
  (values
    '("family" "GTK_FONT_CHOOSER_LEVEL_FAMILY" "0x0")
    '("style" "GTK_FONT_CHOOSER_LEVEL_STYLE" "1 << 0")
    '("size" "GTK_FONT_CHOOSER_LEVEL_SIZE" "1 << 1")
    '("variations" "GTK_FONT_CHOOSER_LEVEL_VARIATIONS" "1 << 2")
    '("features" "GTK_FONT_CHOOSER_LEVEL_FEATURES" "1 << 3")
  )
)

;; From gtkiconview.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_ICON_VIEW_NO_DROP,
;;   GTK_ICON_VIEW_DROP_INTO,
;;   GTK_ICON_VIEW_DROP_LEFT,
;;   GTK_ICON_VIEW_DROP_RIGHT,
;;   GTK_ICON_VIEW_DROP_ABOVE,
;;   GTK_ICON_VIEW_DROP_BELOW
;; } GtkIconViewDropPosition;

(define-enum-extended IconViewDropPosition
  (in-module "Gtk")
  (c-name "GtkIconViewDropPosition")
  (values
    '("no-drop" "GTK_ICON_VIEW_NO_DROP" "0")
    '("drop-into" "GTK_ICON_VIEW_DROP_INTO" "1")
    '("drop-left" "GTK_ICON_VIEW_DROP_LEFT" "2")
    '("drop-right" "GTK_ICON_VIEW_DROP_RIGHT" "3")
    '("drop-above" "GTK_ICON_VIEW_DROP_ABOVE" "4")
    '("drop-below" "GTK_ICON_VIEW_DROP_BELOW" "5")
  )
)

;; From gtkmessagedialog.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_BUTTONS_NONE,
;;   GTK_BUTTONS_OK,
;;   GTK_BUTTONS_CLOSE,
;;   GTK_BUTTONS_CANCEL,
;;   GTK_BUTTONS_YES_NO,
;;   GTK_BUTTONS_OK_CANCEL
;; } GtkButtonsType;

(define-enum-extended ButtonsType
  (in-module "Gtk")
  (c-name "GtkButtonsType")
  (values
    '("none" "GTK_BUTTONS_NONE" "0")
    '("ok" "GTK_BUTTONS_OK" "1")
    '("close" "GTK_BUTTONS_CLOSE" "2")
    '("cancel" "GTK_BUTTONS_CANCEL" "3")
    '("yes-no" "GTK_BUTTONS_YES_NO" "4")
    '("ok-cancel" "GTK_BUTTONS_OK_CANCEL" "5")
  )
)

;; From gtkstylecontext.h

;; Original typedef:
;; typedef enum {
;;   GTK_STYLE_CONTEXT_PRINT_NONE         = 0,
;;   GTK_STYLE_CONTEXT_PRINT_RECURSE      = 1 << 0,
;;   GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE   = 1 << 1,
;;   GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE  = 1 << 2
;; } GtkStyleContextPrintFlags;

(define-flags-extended StyleContextPrintFlags
  (in-module "Gtk")
  (c-name "GtkStyleContextPrintFlags")
  (values
    '("none" "GTK_STYLE_CONTEXT_PRINT_NONE" "0x0")
    '("recurse" "GTK_STYLE_CONTEXT_PRINT_RECURSE" "1 << 0")
    '("show-style" "GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE" "1 << 1")
    '("show-change" "GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE" "1 << 2")
  )
)

;; From gtktreemodel.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TREE_MODEL_ITERS_PERSIST = 1 << 0,
;;   GTK_TREE_MODEL_LIST_ONLY = 1 << 1
;; } GtkTreeModelFlags;

(define-flags-extended TreeModelFlags
  (in-module "Gtk")
  (c-name "GtkTreeModelFlags")
  (values
    '("iters-persist" "GTK_TREE_MODEL_ITERS_PERSIST" "1 << 0")
    '("list-only" "GTK_TREE_MODEL_LIST_ONLY" "1 << 1")
  )
)

;; From gtktreeviewcolumn.h

;; Original typedef:
;; typedef enum
;; {
;;   GTK_TREE_VIEW_COLUMN_GROW_ONLY,
;;   GTK_TREE_VIEW_COLUMN_AUTOSIZE,
;;   GTK_TREE_VIEW_COLUMN_FIXED
;; } GtkTreeViewColumnSizing;

(define-enum-extended TreeViewColumnSizing
  (in-module "Gtk")
  (c-name "GtkTreeViewColumnSizing")
  (values
    '("grow-only" "GTK_TREE_VIEW_COLUMN_GROW_ONLY" "0")
    '("autosize" "GTK_TREE_VIEW_COLUMN_AUTOSIZE" "1")
    '("fixed" "GTK_TREE_VIEW_COLUMN_FIXED" "2")
  )
)

;; From gtktreeview.h

;; Original typedef:
;; typedef enum
;; {
;;   /* drop before/after this row */
;;   GTK_TREE_VIEW_DROP_BEFORE,
;;   GTK_TREE_VIEW_DROP_AFTER,
;;   /* drop as a child of this row (with fallback to before or after
;;    * if into is not possible)
;;    */
;;   GTK_TREE_VIEW_DROP_INTO_OR_BEFORE,
;;   GTK_TREE_VIEW_DROP_INTO_OR_AFTER
;; } GtkTreeViewDropPosition;

(define-enum-extended TreeViewDropPosition
  (in-module "Gtk")
  (c-name "GtkTreeViewDropPosition")
  (values
    '("before" "GTK_TREE_VIEW_DROP_BEFORE" "0")
    '("after" "GTK_TREE_VIEW_DROP_AFTER" "1")
    '("into-or-before" "GTK_TREE_VIEW_DROP_INTO_OR_BEFORE" "2")
    '("into-or-after" "GTK_TREE_VIEW_DROP_INTO_OR_AFTER" "3")
  )
)

