;; generated by makeenums.pl  ; -*- scheme -*-


; enumerations from "gtkaccelgroup.h"

(define-flags GtkAccelFlags
   (visible GTK_ACCEL_VISIBLE)
   (signal-visible GTK_ACCEL_SIGNAL_VISIBLE)
   (locked GTK_ACCEL_LOCKED)
   (mask GTK_ACCEL_MASK))

; enumerations from "gtkcalendar.h"

(define-flags GtkCalendarDisplayOptions
   (show-heading GTK_CALENDAR_SHOW_HEADING)
   (show-day-names GTK_CALENDAR_SHOW_DAY_NAMES)
   (no-month-change GTK_CALENDAR_NO_MONTH_CHANGE)
   (show-week-numbers GTK_CALENDAR_SHOW_WEEK_NUMBERS)
   (week-start-monday GTK_CALENDAR_WEEK_START_MONDAY))

; enumerations from "gtkclist.h"

(define-enum GtkCellType
   (empty GTK_CELL_EMPTY)
   (text GTK_CELL_TEXT)
   (pixmap GTK_CELL_PIXMAP)
   (pixtext GTK_CELL_PIXTEXT)
   (widget GTK_CELL_WIDGET))

(define-enum GtkCListDragPos
   (none GTK_CLIST_DRAG_NONE)
   (before GTK_CLIST_DRAG_BEFORE)
   (into GTK_CLIST_DRAG_INTO)
   (after GTK_CLIST_DRAG_AFTER))

(define-flags GtkButtonAction
   (ignored GTK_BUTTON_IGNORED)
   (selects GTK_BUTTON_SELECTS)
   (drags GTK_BUTTON_DRAGS)
   (expands GTK_BUTTON_EXPANDS))

; enumerations from "gtkctree.h"

(define-enum GtkCTreePos
   (before GTK_CTREE_POS_BEFORE)
   (as-child GTK_CTREE_POS_AS_CHILD)
   (after GTK_CTREE_POS_AFTER))

(define-enum GtkCTreeLineStyle
   (none GTK_CTREE_LINES_NONE)
   (solid GTK_CTREE_LINES_SOLID)
   (dotted GTK_CTREE_LINES_DOTTED)
   (tabbed GTK_CTREE_LINES_TABBED))

(define-enum GtkCTreeExpanderStyle
   (none GTK_CTREE_EXPANDER_NONE)
   (square GTK_CTREE_EXPANDER_SQUARE)
   (triangle GTK_CTREE_EXPANDER_TRIANGLE)
   (circular GTK_CTREE_EXPANDER_CIRCULAR))

(define-enum GtkCTreeExpansionType
   (expand GTK_CTREE_EXPANSION_EXPAND)
   (expand-recursive GTK_CTREE_EXPANSION_EXPAND_RECURSIVE)
   (collapse GTK_CTREE_EXPANSION_COLLAPSE)
   (collapse-recursive GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE)
   (toggle GTK_CTREE_EXPANSION_TOGGLE)
   (toggle-recursive GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE))

; enumerations from "gtkdebug.h"

(define-flags GtkDebugFlag
   (objects GTK_DEBUG_OBJECTS)
   (misc GTK_DEBUG_MISC)
   (signals GTK_DEBUG_SIGNALS)
   (dnd GTK_DEBUG_DND)
   (plugsocket GTK_DEBUG_PLUGSOCKET))

; enumerations from "gtkdnd.h"

(define-flags GtkDestDefaults
   (motion GTK_DEST_DEFAULT_MOTION)
   (highlight GTK_DEST_DEFAULT_HIGHLIGHT)
   (drop GTK_DEST_DEFAULT_DROP)
   (all GTK_DEST_DEFAULT_ALL))

(define-flags GtkTargetFlags
   (same-app GTK_TARGET_SAME_APP)
   (same-widget GTK_TARGET_SAME_WIDGET))

; enumerations from "gtkenums.h"

(define-enum GtkArrowType
   (up GTK_ARROW_UP)
   (down GTK_ARROW_DOWN)
   (left GTK_ARROW_LEFT)
   (right GTK_ARROW_RIGHT))

(define-flags GtkAttachOptions
   (expand GTK_EXPAND)
   (shrink GTK_SHRINK)
   (fill GTK_FILL))

(define-enum GtkButtonBoxStyle
   (default-style GTK_BUTTONBOX_DEFAULT_STYLE)
   (spread GTK_BUTTONBOX_SPREAD)
   (edge GTK_BUTTONBOX_EDGE)
   (start GTK_BUTTONBOX_START)
   (end GTK_BUTTONBOX_END))

(define-enum GtkCurveType
   (linear GTK_CURVE_TYPE_LINEAR)
   (spline GTK_CURVE_TYPE_SPLINE)
   (free GTK_CURVE_TYPE_FREE))

(define-enum GtkDirectionType
   (tab-forward GTK_DIR_TAB_FORWARD)
   (tab-backward GTK_DIR_TAB_BACKWARD)
   (up GTK_DIR_UP)
   (down GTK_DIR_DOWN)
   (left GTK_DIR_LEFT)
   (right GTK_DIR_RIGHT))

(define-enum GtkJustification
   (left GTK_JUSTIFY_LEFT)
   (right GTK_JUSTIFY_RIGHT)
   (center GTK_JUSTIFY_CENTER)
   (fill GTK_JUSTIFY_FILL))

(define-enum GtkMatchType
   (all GTK_MATCH_ALL)
   (all-tail GTK_MATCH_ALL_TAIL)
   (head GTK_MATCH_HEAD)
   (tail GTK_MATCH_TAIL)
   (exact GTK_MATCH_EXACT)
   (last GTK_MATCH_LAST))

(define-enum GtkMenuDirectionType
   (parent GTK_MENU_DIR_PARENT)
   (child GTK_MENU_DIR_CHILD)
   (next GTK_MENU_DIR_NEXT)
   (prev GTK_MENU_DIR_PREV))

(define-enum GtkMenuFactoryType
   (menu GTK_MENU_FACTORY_MENU)
   (menu-bar GTK_MENU_FACTORY_MENU_BAR)
   (option-menu GTK_MENU_FACTORY_OPTION_MENU))

(define-enum GtkMetricType
   (pixels GTK_PIXELS)
   (inches GTK_INCHES)
   (centimeters GTK_CENTIMETERS))

(define-enum GtkOrientation
   (horizontal GTK_ORIENTATION_HORIZONTAL)
   (vertical GTK_ORIENTATION_VERTICAL))

(define-enum GtkCornerType
   (top-left GTK_CORNER_TOP_LEFT)
   (bottom-left GTK_CORNER_BOTTOM_LEFT)
   (top-right GTK_CORNER_TOP_RIGHT)
   (bottom-right GTK_CORNER_BOTTOM_RIGHT))

(define-enum GtkPackType
   (start GTK_PACK_START)
   (end GTK_PACK_END))

(define-enum GtkPathPriorityType
   (lowest GTK_PATH_PRIO_LOWEST)
   (gtk GTK_PATH_PRIO_GTK)
   (application GTK_PATH_PRIO_APPLICATION)
   (rc GTK_PATH_PRIO_RC)
   (highest GTK_PATH_PRIO_HIGHEST)
   (mask GTK_PATH_PRIO_MASK))

(define-enum GtkPathType
   (widget GTK_PATH_WIDGET)
   (widget-class GTK_PATH_WIDGET_CLASS)
   (class GTK_PATH_CLASS))

(define-enum GtkPolicyType
   (always GTK_POLICY_ALWAYS)
   (automatic GTK_POLICY_AUTOMATIC)
   (never GTK_POLICY_NEVER))

(define-enum GtkPositionType
   (left GTK_POS_LEFT)
   (right GTK_POS_RIGHT)
   (top GTK_POS_TOP)
   (bottom GTK_POS_BOTTOM))

(define-enum GtkPreviewType
   (color GTK_PREVIEW_COLOR)
   (grayscale GTK_PREVIEW_GRAYSCALE))

(define-enum GtkReliefStyle
   (normal GTK_RELIEF_NORMAL)
   (half GTK_RELIEF_HALF)
   (none GTK_RELIEF_NONE))

(define-enum GtkResizeMode
   (parent GTK_RESIZE_PARENT)
   (queue GTK_RESIZE_QUEUE)
   (immediate GTK_RESIZE_IMMEDIATE))

(define-flags GtkSignalRunType
   (first GTK_RUN_FIRST)
   (last GTK_RUN_LAST)
   (both GTK_RUN_BOTH)
   (no-recurse GTK_RUN_NO_RECURSE)
   (action GTK_RUN_ACTION)
   (no-hooks GTK_RUN_NO_HOOKS))

(define-enum GtkScrollType
   (none GTK_SCROLL_NONE)
   (step-backward GTK_SCROLL_STEP_BACKWARD)
   (step-forward GTK_SCROLL_STEP_FORWARD)
   (page-backward GTK_SCROLL_PAGE_BACKWARD)
   (page-forward GTK_SCROLL_PAGE_FORWARD)
   (jump GTK_SCROLL_JUMP))

(define-enum GtkSelectionMode
   (single GTK_SELECTION_SINGLE)
   (browse GTK_SELECTION_BROWSE)
   (multiple GTK_SELECTION_MULTIPLE)
   (extended GTK_SELECTION_EXTENDED))

(define-enum GtkShadowType
   (none GTK_SHADOW_NONE)
   (in GTK_SHADOW_IN)
   (out GTK_SHADOW_OUT)
   (etched-in GTK_SHADOW_ETCHED_IN)
   (etched-out GTK_SHADOW_ETCHED_OUT))

(define-enum GtkStateType
   (normal GTK_STATE_NORMAL)
   (active GTK_STATE_ACTIVE)
   (prelight GTK_STATE_PRELIGHT)
   (selected GTK_STATE_SELECTED)
   (insensitive GTK_STATE_INSENSITIVE))

(define-enum GtkSubmenuDirection
   (left GTK_DIRECTION_LEFT)
   (right GTK_DIRECTION_RIGHT))

(define-enum GtkSubmenuPlacement
   (top-bottom GTK_TOP_BOTTOM)
   (left-right GTK_LEFT_RIGHT))

(define-enum GtkToolbarStyle
   (icons GTK_TOOLBAR_ICONS)
   (text GTK_TOOLBAR_TEXT)
   (both GTK_TOOLBAR_BOTH))

(define-enum GtkTroughType
   (none GTK_TROUGH_NONE)
   (start GTK_TROUGH_START)
   (end GTK_TROUGH_END)
   (jump GTK_TROUGH_JUMP))

(define-enum GtkUpdateType
   (continuous GTK_UPDATE_CONTINUOUS)
   (discontinuous GTK_UPDATE_DISCONTINUOUS)
   (delayed GTK_UPDATE_DELAYED))

(define-enum GtkVisibility
   (none GTK_VISIBILITY_NONE)
   (partial GTK_VISIBILITY_PARTIAL)
   (full GTK_VISIBILITY_FULL))

(define-enum GtkWindowPosition
   (none GTK_WIN_POS_NONE)
   (center GTK_WIN_POS_CENTER)
   (mouse GTK_WIN_POS_MOUSE))

(define-enum GtkWindowType
   (toplevel GTK_WINDOW_TOPLEVEL)
   (dialog GTK_WINDOW_DIALOG)
   (popup GTK_WINDOW_POPUP))

(define-enum GtkSortType
   (ascending GTK_SORT_ASCENDING)
   (descending GTK_SORT_DESCENDING))

; enumerations from "gtkfontsel.h"

(define-enum GtkFontMetricType
   (pixels GTK_FONT_METRIC_PIXELS)
   (points GTK_FONT_METRIC_POINTS))

(define-flags GtkFontType
   (bitmap GTK_FONT_BITMAP)
   (scalable GTK_FONT_SCALABLE)
   (scalable-bitmap GTK_FONT_SCALABLE_BITMAP)
   (all GTK_FONT_ALL))

(define-enum GtkFontFilterType
   (base GTK_FONT_FILTER_BASE)
   (user GTK_FONT_FILTER_USER))

; enumerations from "gtkobject.h"

(define-flags GtkObjectFlags
   (destroyed GTK_DESTROYED)
   (floating GTK_FLOATING)
   (connected GTK_CONNECTED)
   (constructed GTK_CONSTRUCTED))

(define-flags GtkArgFlags
   (readable GTK_ARG_READABLE)
   (writable GTK_ARG_WRITABLE)
   (construct GTK_ARG_CONSTRUCT)
   (construct-only GTK_ARG_CONSTRUCT_ONLY)
   (child-arg GTK_ARG_CHILD_ARG)
   (mask GTK_ARG_MASK)
   (readwrite GTK_ARG_READWRITE))

; enumerations from "gtkpacker.h"

(define-flags GtkPackerOptions
   (expand GTK_PACK_EXPAND)
   (fill-x GTK_FILL_X)
   (fill-y GTK_FILL_Y))

(define-enum GtkSideType
   (top GTK_SIDE_TOP)
   (bottom GTK_SIDE_BOTTOM)
   (left GTK_SIDE_LEFT)
   (right GTK_SIDE_RIGHT))

(define-enum GtkAnchorType
   (center GTK_ANCHOR_CENTER)
   (north GTK_ANCHOR_NORTH)
   (north-west GTK_ANCHOR_NORTH_WEST)
   (north-east GTK_ANCHOR_NORTH_EAST)
   (south GTK_ANCHOR_SOUTH)
   (south-west GTK_ANCHOR_SOUTH_WEST)
   (south-east GTK_ANCHOR_SOUTH_EAST)
   (west GTK_ANCHOR_WEST)
   (east GTK_ANCHOR_EAST)
   (n GTK_ANCHOR_N)
   (nw GTK_ANCHOR_NW)
   (ne GTK_ANCHOR_NE)
   (s GTK_ANCHOR_S)
   (sw GTK_ANCHOR_SW)
   (se GTK_ANCHOR_SE)
   (w GTK_ANCHOR_W)
   (e GTK_ANCHOR_E))

; enumerations from "gtkprivate.h"

(define-flags GtkPrivateFlags
   (user-style PRIVATE_GTK_USER_STYLE)
   (redraw-pending PRIVATE_GTK_REDRAW_PENDING)
   (resize-pending PRIVATE_GTK_RESIZE_PENDING)
   (resize-needed PRIVATE_GTK_RESIZE_NEEDED)
   (leave-pending PRIVATE_GTK_LEAVE_PENDING)
   (has-shape-mask PRIVATE_GTK_HAS_SHAPE_MASK)
   (in-reparent PRIVATE_GTK_IN_REPARENT)
   (is-offscreen PRIVATE_GTK_IS_OFFSCREEN))

; enumerations from "gtkprogressbar.h"

(define-enum GtkProgressBarStyle
   (continuous GTK_PROGRESS_CONTINUOUS)
   (discrete GTK_PROGRESS_DISCRETE))

(define-enum GtkProgressBarOrientation
   (left-to-right GTK_PROGRESS_LEFT_TO_RIGHT)
   (right-to-left GTK_PROGRESS_RIGHT_TO_LEFT)
   (bottom-to-top GTK_PROGRESS_BOTTOM_TO_TOP)
   (top-to-bottom GTK_PROGRESS_TOP_TO_BOTTOM))

; enumerations from "gtkrc.h"

(define-flags GtkRcFlags
   (fg GTK_RC_FG)
   (bg GTK_RC_BG)
   (text GTK_RC_TEXT)
   (base GTK_RC_BASE))

(define-enum GtkRcTokenType
   (invalid GTK_RC_TOKEN_INVALID)
   (include GTK_RC_TOKEN_INCLUDE)
   (normal GTK_RC_TOKEN_NORMAL)
   (active GTK_RC_TOKEN_ACTIVE)
   (prelight GTK_RC_TOKEN_PRELIGHT)
   (selected GTK_RC_TOKEN_SELECTED)
   (insensitive GTK_RC_TOKEN_INSENSITIVE)
   (fg GTK_RC_TOKEN_FG)
   (bg GTK_RC_TOKEN_BG)
   (base GTK_RC_TOKEN_BASE)
   (text GTK_RC_TOKEN_TEXT)
   (font GTK_RC_TOKEN_FONT)
   (fontset GTK_RC_TOKEN_FONTSET)
   (bg-pixmap GTK_RC_TOKEN_BG_PIXMAP)
   (pixmap-path GTK_RC_TOKEN_PIXMAP_PATH)
   (style GTK_RC_TOKEN_STYLE)
   (binding GTK_RC_TOKEN_BINDING)
   (bind GTK_RC_TOKEN_BIND)
   (widget GTK_RC_TOKEN_WIDGET)
   (widget-class GTK_RC_TOKEN_WIDGET_CLASS)
   (class GTK_RC_TOKEN_CLASS)
   (lowest GTK_RC_TOKEN_LOWEST)
   (gtk GTK_RC_TOKEN_GTK)
   (application GTK_RC_TOKEN_APPLICATION)
   (rc GTK_RC_TOKEN_RC)
   (highest GTK_RC_TOKEN_HIGHEST)
   (engine GTK_RC_TOKEN_ENGINE)
   (module-path GTK_RC_TOKEN_MODULE_PATH)
   (last GTK_RC_TOKEN_LAST))

; enumerations from "gtkspinbutton.h"

(define-enum GtkSpinButtonUpdatePolicy
   (always GTK_UPDATE_ALWAYS)
   (if-valid GTK_UPDATE_IF_VALID))

(define-enum GtkSpinType
   (step-forward GTK_SPIN_STEP_FORWARD)
   (step-backward GTK_SPIN_STEP_BACKWARD)
   (page-forward GTK_SPIN_PAGE_FORWARD)
   (page-backward GTK_SPIN_PAGE_BACKWARD)
   (home GTK_SPIN_HOME)
   (end GTK_SPIN_END)
   (user-defined GTK_SPIN_USER_DEFINED))

; enumerations from "gtktoolbar.h"

(define-enum GtkToolbarChildType
   (space GTK_TOOLBAR_CHILD_SPACE)
   (button GTK_TOOLBAR_CHILD_BUTTON)
   (togglebutton GTK_TOOLBAR_CHILD_TOGGLEBUTTON)
   (radiobutton GTK_TOOLBAR_CHILD_RADIOBUTTON)
   (widget GTK_TOOLBAR_CHILD_WIDGET))

(define-enum GtkToolbarSpaceStyle
   (empty GTK_TOOLBAR_SPACE_EMPTY)
   (line GTK_TOOLBAR_SPACE_LINE))

; enumerations from "gtktree.h"

(define-enum GtkTreeViewMode
   (line GTK_TREE_VIEW_LINE)
   (item GTK_TREE_VIEW_ITEM))

; enumerations from "gtktypeutils.h"

(define-enum GtkFundamentalType
   (invalid GTK_TYPE_INVALID)
   (none GTK_TYPE_NONE)
   (char GTK_TYPE_CHAR)
   (uchar GTK_TYPE_UCHAR)
   (bool GTK_TYPE_BOOL)
   (int GTK_TYPE_INT)
   (uint GTK_TYPE_UINT)
   (long GTK_TYPE_LONG)
   (ulong GTK_TYPE_ULONG)
   (float GTK_TYPE_FLOAT)
   (double GTK_TYPE_DOUBLE)
   (string GTK_TYPE_STRING)
   (enum GTK_TYPE_ENUM)
   (flags GTK_TYPE_FLAGS)
   (boxed GTK_TYPE_BOXED)
   (pointer GTK_TYPE_POINTER)
   (signal GTK_TYPE_SIGNAL)
   (args GTK_TYPE_ARGS)
   (callback GTK_TYPE_CALLBACK)
   (c-callback GTK_TYPE_C_CALLBACK)
   (foreign GTK_TYPE_FOREIGN)
   (object GTK_TYPE_OBJECT))

; enumerations from "gtkwidget.h"

(define-flags GtkWidgetFlags
   (toplevel GTK_TOPLEVEL)
   (no-window GTK_NO_WINDOW)
   (realized GTK_REALIZED)
   (mapped GTK_MAPPED)
   (visible GTK_VISIBLE)
   (sensitive GTK_SENSITIVE)
   (parent-sensitive GTK_PARENT_SENSITIVE)
   (can-focus GTK_CAN_FOCUS)
   (has-focus GTK_HAS_FOCUS)
   (can-default GTK_CAN_DEFAULT)
   (has-default GTK_HAS_DEFAULT)
   (has-grab GTK_HAS_GRAB)
   (rc-style GTK_RC_STYLE)
   (composite-child GTK_COMPOSITE_CHILD)
   (no-reparent GTK_NO_REPARENT)
   (app-paintable GTK_APP_PAINTABLE)
   (receives-default GTK_RECEIVES_DEFAULT))

; enumerations from "../gdk/gdktypes.h"

(define-enum GdkWindowType
   (root GDK_WINDOW_ROOT)
   (toplevel GDK_WINDOW_TOPLEVEL)
   (child GDK_WINDOW_CHILD)
   (dialog GDK_WINDOW_DIALOG)
   (temp GDK_WINDOW_TEMP)
   (pixmap GDK_WINDOW_PIXMAP)
   (foreign GDK_WINDOW_FOREIGN))

(define-enum GdkWindowClass
   (output GDK_INPUT_OUTPUT)
   (only GDK_INPUT_ONLY))

(define-enum GdkImageType
   (normal GDK_IMAGE_NORMAL)
   (shared GDK_IMAGE_SHARED)
   (fastest GDK_IMAGE_FASTEST)
   (shared-pixmap GDK_IMAGE_SHARED_PIXMAP))

(define-enum GdkVisualType
   (static-gray GDK_VISUAL_STATIC_GRAY)
   (grayscale GDK_VISUAL_GRAYSCALE)
   (static-color GDK_VISUAL_STATIC_COLOR)
   (pseudo-color GDK_VISUAL_PSEUDO_COLOR)
   (true-color GDK_VISUAL_TRUE_COLOR)
   (direct-color GDK_VISUAL_DIRECT_COLOR))

(define-enum GdkFontType
   (font GDK_FONT_FONT)
   (fontset GDK_FONT_FONTSET))

(define-flags GdkWindowAttributesType
   (title GDK_WA_TITLE)
   (x GDK_WA_X)
   (y GDK_WA_Y)
   (cursor GDK_WA_CURSOR)
   (colormap GDK_WA_COLORMAP)
   (visual GDK_WA_VISUAL)
   (wmclass GDK_WA_WMCLASS)
   (noredir GDK_WA_NOREDIR))

(define-flags GdkWindowHints
   (pos GDK_HINT_POS)
   (min-size GDK_HINT_MIN_SIZE)
   (max-size GDK_HINT_MAX_SIZE)
   (base-size GDK_HINT_BASE_SIZE)
   (aspect GDK_HINT_ASPECT)
   (resize-inc GDK_HINT_RESIZE_INC))

(define-enum GdkFunction
   (copy GDK_COPY)
   (invert GDK_INVERT)
   (xor GDK_XOR)
   (clear GDK_CLEAR)
   (and GDK_AND)
   (and-reverse GDK_AND_REVERSE)
   (and-invert GDK_AND_INVERT)
   (noop GDK_NOOP)
   (or GDK_OR)
   (equiv GDK_EQUIV)
   (or-reverse GDK_OR_REVERSE)
   (copy-invert GDK_COPY_INVERT)
   (or-invert GDK_OR_INVERT)
   (nand GDK_NAND)
   (set GDK_SET))

(define-enum GdkFill
   (solid GDK_SOLID)
   (tiled GDK_TILED)
   (stippled GDK_STIPPLED)
   (opaque-stippled GDK_OPAQUE_STIPPLED))

(define-enum GdkFillRule
   (even-odd-rule GDK_EVEN_ODD_RULE)
   (winding-rule GDK_WINDING_RULE))

(define-enum GdkLineStyle
   (solid GDK_LINE_SOLID)
   (on-off-dash GDK_LINE_ON_OFF_DASH)
   (double-dash GDK_LINE_DOUBLE_DASH))

(define-enum GdkCapStyle
   (not-last GDK_CAP_NOT_LAST)
   (butt GDK_CAP_BUTT)
   (round GDK_CAP_ROUND)
   (projecting GDK_CAP_PROJECTING))

(define-enum GdkJoinStyle
   (miter GDK_JOIN_MITER)
   (round GDK_JOIN_ROUND)
   (bevel GDK_JOIN_BEVEL))

(define-enum GdkCursorType
   (num-glyphs GDK_NUM_GLYPHS)
   (x-cursor GDK_X_CURSOR)
   (arrow GDK_ARROW)
   (based-arrow-down GDK_BASED_ARROW_DOWN)
   (based-arrow-up GDK_BASED_ARROW_UP)
   (boat GDK_BOAT)
   (bogosity GDK_BOGOSITY)
   (bottom-left-corner GDK_BOTTOM_LEFT_CORNER)
   (bottom-right-corner GDK_BOTTOM_RIGHT_CORNER)
   (bottom-side GDK_BOTTOM_SIDE)
   (bottom-tee GDK_BOTTOM_TEE)
   (box-spiral GDK_BOX_SPIRAL)
   (center-ptr GDK_CENTER_PTR)
   (circle GDK_CIRCLE)
   (clock GDK_CLOCK)
   (coffee-mug GDK_COFFEE_MUG)
   (cross GDK_CROSS)
   (cross-reverse GDK_CROSS_REVERSE)
   (crosshair GDK_CROSSHAIR)
   (diamond-cross GDK_DIAMOND_CROSS)
   (dot GDK_DOT)
   (dotbox GDK_DOTBOX)
   (double-arrow GDK_DOUBLE_ARROW)
   (draft-large GDK_DRAFT_LARGE)
   (draft-small GDK_DRAFT_SMALL)
   (draped-box GDK_DRAPED_BOX)
   (exchange GDK_EXCHANGE)
   (fleur GDK_FLEUR)
   (gobbler GDK_GOBBLER)
   (gumby GDK_GUMBY)
   (hand1 GDK_HAND1)
   (hand2 GDK_HAND2)
   (heart GDK_HEART)
   (icon GDK_ICON)
   (iron-cross GDK_IRON_CROSS)
   (left-ptr GDK_LEFT_PTR)
   (left-side GDK_LEFT_SIDE)
   (left-tee GDK_LEFT_TEE)
   (leftbutton GDK_LEFTBUTTON)
   (ll-angle GDK_LL_ANGLE)
   (lr-angle GDK_LR_ANGLE)
   (man GDK_MAN)
   (middlebutton GDK_MIDDLEBUTTON)
   (mouse GDK_MOUSE)
   (pencil GDK_PENCIL)
   (pirate GDK_PIRATE)
   (plus GDK_PLUS)
   (question-arrow GDK_QUESTION_ARROW)
   (right-ptr GDK_RIGHT_PTR)
   (right-side GDK_RIGHT_SIDE)
   (right-tee GDK_RIGHT_TEE)
   (rightbutton GDK_RIGHTBUTTON)
   (rtl-logo GDK_RTL_LOGO)
   (sailboat GDK_SAILBOAT)
   (sb-down-arrow GDK_SB_DOWN_ARROW)
   (sb-h-double-arrow GDK_SB_H_DOUBLE_ARROW)
   (sb-left-arrow GDK_SB_LEFT_ARROW)
   (sb-right-arrow GDK_SB_RIGHT_ARROW)
   (sb-up-arrow GDK_SB_UP_ARROW)
   (sb-v-double-arrow GDK_SB_V_DOUBLE_ARROW)
   (shuttle GDK_SHUTTLE)
   (sizing GDK_SIZING)
   (spider GDK_SPIDER)
   (spraycan GDK_SPRAYCAN)
   (star GDK_STAR)
   (target GDK_TARGET)
   (tcross GDK_TCROSS)
   (top-left-arrow GDK_TOP_LEFT_ARROW)
   (top-left-corner GDK_TOP_LEFT_CORNER)
   (top-right-corner GDK_TOP_RIGHT_CORNER)
   (top-side GDK_TOP_SIDE)
   (top-tee GDK_TOP_TEE)
   (trek GDK_TREK)
   (ul-angle GDK_UL_ANGLE)
   (umbrella GDK_UMBRELLA)
   (ur-angle GDK_UR_ANGLE)
   (watch GDK_WATCH)
   (xterm GDK_XTERM)
   (last-cursor GDK_LAST_CURSOR)
   (cursor-is-pixmap GDK_CURSOR_IS_PIXMAP))

(define-enum GdkFilterReturn
   (continue GDK_FILTER_CONTINUE)
   (translate GDK_FILTER_TRANSLATE)
   (remove GDK_FILTER_REMOVE))

(define-enum GdkVisibilityState
   (unobscured GDK_VISIBILITY_UNOBSCURED)
   (partial GDK_VISIBILITY_PARTIAL)
   (fully-obscured GDK_VISIBILITY_FULLY_OBSCURED))

(define-enum GdkEventType
   (nothing GDK_NOTHING)
   (delete GDK_DELETE)
   (destroy GDK_DESTROY)
   (expose GDK_EXPOSE)
   (motion-notify GDK_MOTION_NOTIFY)
   (button-press GDK_BUTTON_PRESS)
   (2button-press GDK_2BUTTON_PRESS)
   (3button-press GDK_3BUTTON_PRESS)
   (button-release GDK_BUTTON_RELEASE)
   (key-press GDK_KEY_PRESS)
   (key-release GDK_KEY_RELEASE)
   (enter-notify GDK_ENTER_NOTIFY)
   (leave-notify GDK_LEAVE_NOTIFY)
   (focus-change GDK_FOCUS_CHANGE)
   (configure GDK_CONFIGURE)
   (map GDK_MAP)
   (unmap GDK_UNMAP)
   (property-notify GDK_PROPERTY_NOTIFY)
   (selection-clear GDK_SELECTION_CLEAR)
   (selection-request GDK_SELECTION_REQUEST)
   (selection-notify GDK_SELECTION_NOTIFY)
   (proximity-in GDK_PROXIMITY_IN)
   (proximity-out GDK_PROXIMITY_OUT)
   (drag-enter GDK_DRAG_ENTER)
   (drag-leave GDK_DRAG_LEAVE)
   (drag-motion GDK_DRAG_MOTION)
   (drag-status GDK_DRAG_STATUS)
   (drop-start GDK_DROP_START)
   (drop-finished GDK_DROP_FINISHED)
   (client-event GDK_CLIENT_EVENT)
   (visibility-notify GDK_VISIBILITY_NOTIFY)
   (no-expose GDK_NO_EXPOSE))

(define-flags GdkEventMask
   (exposure-mask GDK_EXPOSURE_MASK)
   (pointer-motion-mask GDK_POINTER_MOTION_MASK)
   (pointer-motion-hint-mask GDK_POINTER_MOTION_HINT_MASK)
   (button-motion-mask GDK_BUTTON_MOTION_MASK)
   (button1-motion-mask GDK_BUTTON1_MOTION_MASK)
   (button2-motion-mask GDK_BUTTON2_MOTION_MASK)
   (button3-motion-mask GDK_BUTTON3_MOTION_MASK)
   (button-press-mask GDK_BUTTON_PRESS_MASK)
   (button-release-mask GDK_BUTTON_RELEASE_MASK)
   (key-press-mask GDK_KEY_PRESS_MASK)
   (key-release-mask GDK_KEY_RELEASE_MASK)
   (enter-notify-mask GDK_ENTER_NOTIFY_MASK)
   (leave-notify-mask GDK_LEAVE_NOTIFY_MASK)
   (focus-change-mask GDK_FOCUS_CHANGE_MASK)
   (structure-mask GDK_STRUCTURE_MASK)
   (property-change-mask GDK_PROPERTY_CHANGE_MASK)
   (visibility-notify-mask GDK_VISIBILITY_NOTIFY_MASK)
   (proximity-in-mask GDK_PROXIMITY_IN_MASK)
   (proximity-out-mask GDK_PROXIMITY_OUT_MASK)
   (substructure-mask GDK_SUBSTRUCTURE_MASK)
   (all-events-mask GDK_ALL_EVENTS_MASK))

(define-enum GdkNotifyType
   (ancestor GDK_NOTIFY_ANCESTOR)
   (virtual GDK_NOTIFY_VIRTUAL)
   (inferior GDK_NOTIFY_INFERIOR)
   (nonlinear GDK_NOTIFY_NONLINEAR)
   (nonlinear-virtual GDK_NOTIFY_NONLINEAR_VIRTUAL)
   (unknown GDK_NOTIFY_UNKNOWN))

(define-enum GdkCrossingMode
   (normal GDK_CROSSING_NORMAL)
   (grab GDK_CROSSING_GRAB)
   (ungrab GDK_CROSSING_UNGRAB))

(define-flags GdkModifierType
   (shift-mask GDK_SHIFT_MASK)
   (lock-mask GDK_LOCK_MASK)
   (control-mask GDK_CONTROL_MASK)
   (mod1-mask GDK_MOD1_MASK)
   (mod2-mask GDK_MOD2_MASK)
   (mod3-mask GDK_MOD3_MASK)
   (mod4-mask GDK_MOD4_MASK)
   (mod5-mask GDK_MOD5_MASK)
   (button1-mask GDK_BUTTON1_MASK)
   (button2-mask GDK_BUTTON2_MASK)
   (button3-mask GDK_BUTTON3_MASK)
   (button4-mask GDK_BUTTON4_MASK)
   (button5-mask GDK_BUTTON5_MASK)
   (release-mask GDK_RELEASE_MASK)
   (modifier-mask GDK_MODIFIER_MASK))

(define-enum GdkSubwindowMode
   (clip-by-children GDK_CLIP_BY_CHILDREN)
   (include-inferiors GDK_INCLUDE_INFERIORS))

(define-flags GdkInputCondition
   (read GDK_INPUT_READ)
   (write GDK_INPUT_WRITE)
   (exception GDK_INPUT_EXCEPTION))

(define-enum GdkStatus
   (ok GDK_OK)
   (error GDK_ERROR)
   (error-param GDK_ERROR_PARAM)
   (error-file GDK_ERROR_FILE)
   (error-mem GDK_ERROR_MEM))

(define-enum GdkByteOrder
   (lsb-first GDK_LSB_FIRST)
   (msb-first GDK_MSB_FIRST))

(define-flags GdkGCValuesMask
   (foreground GDK_GC_FOREGROUND)
   (background GDK_GC_BACKGROUND)
   (font GDK_GC_FONT)
   (function GDK_GC_FUNCTION)
   (fill GDK_GC_FILL)
   (tile GDK_GC_TILE)
   (stipple GDK_GC_STIPPLE)
   (clip-mask GDK_GC_CLIP_MASK)
   (subwindow GDK_GC_SUBWINDOW)
   (ts-x-origin GDK_GC_TS_X_ORIGIN)
   (ts-y-origin GDK_GC_TS_Y_ORIGIN)
   (clip-x-origin GDK_GC_CLIP_X_ORIGIN)
   (clip-y-origin GDK_GC_CLIP_Y_ORIGIN)
   (exposures GDK_GC_EXPOSURES)
   (line-width GDK_GC_LINE_WIDTH)
   (line-style GDK_GC_LINE_STYLE)
   (cap-style GDK_GC_CAP_STYLE)
   (join-style GDK_GC_JOIN_STYLE))

(define-enum GdkSelection
   (primary GDK_SELECTION_PRIMARY)
   (secondary GDK_SELECTION_SECONDARY))

(define-enum GdkPropertyState
   (new-value GDK_PROPERTY_NEW_VALUE)
   (delete GDK_PROPERTY_DELETE))

(define-enum GdkPropMode
   (replace GDK_PROP_MODE_REPLACE)
   (prepend GDK_PROP_MODE_PREPEND)
   (append GDK_PROP_MODE_APPEND))

(define-enum GdkInputSource
   (mouse GDK_SOURCE_MOUSE)
   (pen GDK_SOURCE_PEN)
   (eraser GDK_SOURCE_ERASER)
   (cursor GDK_SOURCE_CURSOR))

(define-enum GdkInputMode
   (disabled GDK_MODE_DISABLED)
   (screen GDK_MODE_SCREEN)
   (window GDK_MODE_WINDOW))

(define-enum GdkAxisUse
   (ignore GDK_AXIS_IGNORE)
   (x GDK_AXIS_X)
   (y GDK_AXIS_Y)
   (pressure GDK_AXIS_PRESSURE)
   (xtilt GDK_AXIS_XTILT)
   (ytilt GDK_AXIS_YTILT)
   (last GDK_AXIS_LAST))

(define-enum GdkTarget
   (bitmap GDK_TARGET_BITMAP)
   (colormap GDK_TARGET_COLORMAP)
   (drawable GDK_TARGET_DRAWABLE)
   (pixmap GDK_TARGET_PIXMAP)
   (string GDK_TARGET_STRING))

(define-enum GdkSelectionType
   (atom GDK_SELECTION_TYPE_ATOM)
   (bitmap GDK_SELECTION_TYPE_BITMAP)
   (colormap GDK_SELECTION_TYPE_COLORMAP)
   (drawable GDK_SELECTION_TYPE_DRAWABLE)
   (integer GDK_SELECTION_TYPE_INTEGER)
   (pixmap GDK_SELECTION_TYPE_PIXMAP)
   (window GDK_SELECTION_TYPE_WINDOW)
   (string GDK_SELECTION_TYPE_STRING))

(define-enum GdkExtensionMode
   (none GDK_EXTENSION_EVENTS_NONE)
   (all GDK_EXTENSION_EVENTS_ALL)
   (cursor GDK_EXTENSION_EVENTS_CURSOR))

(define-flags GdkIMStyle
   (preedit-area GDK_IM_PREEDIT_AREA)
   (preedit-callbacks GDK_IM_PREEDIT_CALLBACKS)
   (preedit-position GDK_IM_PREEDIT_POSITION)
   (preedit-nothing GDK_IM_PREEDIT_NOTHING)
   (preedit-none GDK_IM_PREEDIT_NONE)
   (preedit-mask GDK_IM_PREEDIT_MASK)
   (status-area GDK_IM_STATUS_AREA)
   (status-callbacks GDK_IM_STATUS_CALLBACKS)
   (status-nothing GDK_IM_STATUS_NOTHING)
   (status-none GDK_IM_STATUS_NONE)
   (status-mask GDK_IM_STATUS_MASK))

(define-flags GdkICAttributesType
   (style GDK_IC_STYLE)
   (client-window GDK_IC_CLIENT_WINDOW)
   (focus-window GDK_IC_FOCUS_WINDOW)
   (filter-events GDK_IC_FILTER_EVENTS)
   (spot-location GDK_IC_SPOT_LOCATION)
   (line-spacing GDK_IC_LINE_SPACING)
   (cursor GDK_IC_CURSOR)
   (preedit-fontset GDK_IC_PREEDIT_FONTSET)
   (preedit-area GDK_IC_PREEDIT_AREA)
   (preedit-area-needed GDK_IC_PREEDIT_AREA_NEEDED)
   (preedit-foreground GDK_IC_PREEDIT_FOREGROUND)
   (preedit-background GDK_IC_PREEDIT_BACKGROUND)
   (preedit-pixmap GDK_IC_PREEDIT_PIXMAP)
   (preedit-colormap GDK_IC_PREEDIT_COLORMAP)
   (status-fontset GDK_IC_STATUS_FONTSET)
   (status-area GDK_IC_STATUS_AREA)
   (status-area-needed GDK_IC_STATUS_AREA_NEEDED)
   (status-foreground GDK_IC_STATUS_FOREGROUND)
   (status-background GDK_IC_STATUS_BACKGROUND)
   (status-pixmap GDK_IC_STATUS_PIXMAP)
   (status-colormap GDK_IC_STATUS_COLORMAP)
   (all-req GDK_IC_ALL_REQ)
   (client-window GDK_IC_CLIENT_WINDOW)
   (preedit-area-req GDK_IC_PREEDIT_AREA_REQ)
   (preedit-fontset GDK_IC_PREEDIT_FONTSET)
   (preedit-position-req GDK_IC_PREEDIT_POSITION_REQ)
   (preedit-fontset GDK_IC_PREEDIT_FONTSET)
   (status-area-req GDK_IC_STATUS_AREA_REQ)
   (status-fontset GDK_IC_STATUS_FONTSET))

(define-flags GdkWMDecoration
   (all GDK_DECOR_ALL)
   (border GDK_DECOR_BORDER)
   (resizeh GDK_DECOR_RESIZEH)
   (title GDK_DECOR_TITLE)
   (menu GDK_DECOR_MENU)
   (minimize GDK_DECOR_MINIMIZE)
   (maximize GDK_DECOR_MAXIMIZE))

(define-flags GdkWMFunction
   (all GDK_FUNC_ALL)
   (resize GDK_FUNC_RESIZE)
   (move GDK_FUNC_MOVE)
   (minimize GDK_FUNC_MINIMIZE)
   (maximize GDK_FUNC_MAXIMIZE)
   (close GDK_FUNC_CLOSE))

(define-enum GdkColorContextMode
   (undefined GDK_CC_MODE_UNDEFINED)
   (bw GDK_CC_MODE_BW)
   (std-cmap GDK_CC_MODE_STD_CMAP)
   (true GDK_CC_MODE_TRUE)
   (my-gray GDK_CC_MODE_MY_GRAY)
   (palette GDK_CC_MODE_PALETTE))

(define-enum GdkOverlapType
   (in GDK_OVERLAP_RECTANGLE_IN)
   (out GDK_OVERLAP_RECTANGLE_OUT)
   (part GDK_OVERLAP_RECTANGLE_PART))

(define-flags GdkDragAction
   (default GDK_ACTION_DEFAULT)
   (copy GDK_ACTION_COPY)
   (move GDK_ACTION_MOVE)
   (link GDK_ACTION_LINK)
   (private GDK_ACTION_PRIVATE)
   (ask GDK_ACTION_ASK))

(define-enum GdkDragProtocol
   (motif GDK_DRAG_PROTO_MOTIF)
   (xdnd GDK_DRAG_PROTO_XDND)
   (rootwin GDK_DRAG_PROTO_ROOTWIN)
   (none GDK_DRAG_PROTO_NONE)
   (win32-dropfiles GDK_DRAG_PROTO_WIN32_DROPFILES)
   (ole2 GDK_DRAG_PROTO_OLE2))

; enumerations from "../gdk/gdkrgb.h"

(define-enum GdkRgbDither
   (none GDK_RGB_DITHER_NONE)
   (normal GDK_RGB_DITHER_NORMAL)
   (max GDK_RGB_DITHER_MAX))
;; -*- scheme -*-


;;;
;;; manual portion from gtk-boxed.defs
;;;



;;; Gtk boxed types

(define-boxed GtkAccelGroup
  gtk_accel_group_ref
  gtk_accel_group_unref)

(define-boxed GtkSelectionData
)

(define-boxed GtkStyle
  gtk_style_ref
  gtk_style_unref)

(define-boxed GtkCTreeNode
)

;;; Gdk boxed types

                                        ;(define-boxed GdkPoint
                                        ;  gdk_point_copy
                                        ;  gdk_point_destroy)

(define-boxed GdkColormap
  gdk_colormap_ref
  gdk_colormap_unref)

(define-boxed GdkVisual
  gdk_visual_ref
  gdk_visual_unref)

(define-boxed GdkFont
  gdk_font_ref
  gdk_font_unref)

(define-boxed GdkWindow
  gdk_window_ref
  gdk_window_unref)

(define-boxed GdkDragContext
  gdk_drag_context_ref
  gdk_drag_context_unref)
(define-boxed GdkEvent
  gdk_event_copy
  gdk_event_free
  "sizeof(GdkEvent)")

(define-boxed GdkColor
  gdk_color_copy
  gdk_color_free
  "sizeof(GdkColor)")

(define-func gtk_style_get_white_interp
  GdkColor
  ((GtkStyle style)))

;;; Functions

;; Gdk

(define-func gdk_font_load
  GdkFont
  ((string name)))

;; main

(define-func gtk_exit
  none
  ((int code (= "0"))))

(define-func gtk_main
  none
  ())

(define-func gtk_main_quit
  none
  ())

(define-func gtk_main_iteration
  bool
  ())

(define-func gtk_timeout_add_interp
  int
  ((int interval)
   (callback function)))

(define-func gtk_timeout_remove
  none
  ((int tag)))

(define-func gtk_idle_add_interp
  int
  ((callback function)))

(define-func gtk_idle_remove
  none
  ((int tag)))

(define-func gtk_input_add_interp
  int
  ((int source)
   (GdkInputCondition condition)
   (callback callback)))

(define-func gtk_input_remove
  none
  ((int tag)))

(define-func gtk_rc_parse
  none
  ((string file)))

(define-func g_mem_chunk_info
  none
  ())

;; GtkObject

(define-func gtk_object_destroy
  none
  ((GtkObject object)))

;; Signals

(define-func gtk_signal_connect_interp
  int
  ((GtkObject object)
   (string name)
   (callback func)
   (bool after (= "0"))))

;; GtkWidget

(define-object GtkWidget (GtkObject)
  (fields
   (GtkStyle style)))

(define-func gtk_grab_add
  none
  ((GtkWidget widget)))

(define-func gtk_grab_remove
  none
  ((GtkWidget widget)))

(define-func GTK_WIDGET_STATE
  GtkStateType
  ((GtkWidget widget)))

(define-func GTK_WIDGET_FLAGS
  GtkWidgetFlags
  ((GtkWidget widget)))

(define-func GTK_WIDGET_SET_FLAGS
  none
  ((GtkWidget widget)
   (GtkWidgetFlags flags)))

(define-func GTK_WIDGET_UNSET_FLAGS
  none
  ((GtkWidget widget)
   (GtkWidgetFlags flags)))

(define-func gtk_widget_destroy
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unparent
  none
  ((GtkWidget widget)))

(define-func gtk_widget_show
  none
  ((GtkWidget widget)))

(define-func gtk_widget_hide
  none
  ((GtkWidget widget)))

(define-func gtk_widget_map
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unmap
  none
  ((GtkWidget widget)))

(define-func gtk_widget_realize
  none
  ((GtkWidget widget)))

(define-func gtk_widget_unrealize
  none
  ((GtkWidget widget)))

(define-func gtk_widget_add_accelerator
  none
  ((GtkWidget widget)
   (string accel_signal)
   (GtkAccelGroup accel_group)
   (guint accel_key)
   (guint accel_mods)
   (GtkAccelFlags accel_flags)))

(define-func gtk_widget_remove_accelerator
  none
  ((GtkWidget widget)
   (GtkAccelGroup accel_group)
   (guint accel_key)
   (guint accel_mods)))

(define-func gtk_widget_event
  bool
  ((GtkWidget widget)
   (GdkEvent event)))

(define-func gtk_widget_activate
  none
  ((GtkWidget widget)))

(define-func gtk_widget_reparent
  none
  ((GtkWidget widget)
   (GtkWidget new_parent)))

(define-func gtk_widget_popup
  none
  ((GtkWidget widget)
   (int x)
   (int y)))

(define-func gtk_widget_basic
  bool
  ((GtkWidget widget)))

(define-func gtk_widget_grab_focus
  none
  ((GtkWidget widget)))

(define-func gtk_widget_grab_default
  none
  ((GtkWidget widget)))

(define-func gtk_widget_restore_state
  none
  ((GtkWidget widget)))

(define-func gtk_widget_set_name
  none
  ((GtkWidget widget)
   (string name)))

(define-func gtk_widget_get_name
  static_string
  ((GtkWidget widget)))

(define-func gtk_widget_set_state
  none
  ((GtkWidget widget)
   (GtkStateType state)))

(define-func gtk_widget_set_sensitive
  none
  ((GtkWidget widget)
   (bool sensitive)))

(define-func gtk_widget_set_style
  none
  ((GtkWidget widget)
   (GtkStyle style)))

(define-func gtk_widget_set_uposition
  none
  ((GtkWidget widget)
   (int x)
   (int y)))

(define-func gtk_widget_set_usize
  none
  ((GtkWidget widget)
   (int height)
   (int width)))

(define-func gtk_widget_set_events
  none
  ((GtkWidget widget)
   (GdkEventMask events)))

(define-func gtk_widget_set_extension_events
  none
  ((GtkWidget widget)
   (GdkEventMask events)))

(define-func gtk_widget_get_toplevel
  GtkWidget
  ((GtkWidget widget)))

                                        ;(define-func gtk_widget_get_ancestor
                                        ;  GtkWidget
                                        ;  ((GtkWidget widget)
                                        ;   (GtkType type)))

(define-func gtk_widget_get_colormap
  GdkColormap
  ((GtkWidget widget)))

(define-func gtk_widget_get_visual
  GdkVisual
  ((GtkWidget widget)))

(define-func gtk_widget_get_style
  GtkStyle
  ((GtkWidget widget)))

(define-func gtk_widget_get_events
  GdkEventMask
  ((GtkWidget widget)))

(define-func gtk_widget_get_extension_events
  GdkEventMask
  ((GtkWidget widget)))

(define-func gtk_widget_push_colormap
  none
  ((GdkColormap cmap)))

(define-func gtk_widget_push_visual
  none
  ((GdkVisual visual)))

(define-func gtk_widget_push_style
  none
  ((GtkStyle style)))

(define-func gtk_widget_pop_colormap
  none
  ())

(define-func gtk_widget_pop_visual
  none
  ())

(define-func gtk_widget_pop_style
  none
  ())

(define-func gtk_widget_set_default_colormap
  none
  ((GdkColormap cmap)))

(define-func gtk_widget_set_default_visual
  none
  ((GdkVisual visual)))

(define-func gtk_widget_set_default_style
  none
  ((GtkStyle style)))

(define-func gtk_widget_get_default_colormap
  GdkColormap
  ())

(define-func gtk_widget_get_default_visual
  GdkVisual
  ())

(define-func gtk_widget_get_default_style
  GtkStyle
  ())

;;; Container

(define-object GtkContainer (GtkWidget))

(define-func gtk_container_border_width
  none
  ((GtkContainer container)
   (int border_width)))

(define-func gtk_container_add
  none
  ((GtkContainer container)
   (GtkWidget widget)))

(define-func gtk_container_remove
  none
  ((GtkContainer container)
   (GtkWidget widget)))

(define-func gtk_container_disable_resize
  none
  ((GtkContainer container)))

(define-func gtk_container_enable_resize
  none
  ((GtkContainer container)))

(define-func gtk_container_block_resize
  none
  ((GtkContainer container)))

(define-func gtk_container_unblock_resize
  none
  ((GtkContainer container)))

(define-func gtk_container_need_resize
  bool
  ((GtkContainer container)))

(define-func gtk_container_focus
  GtkDirectionType
  ((GtkContainer container)
   (GtkDirectionType direction)))

;;; Bin

(define-object GtkBin (GtkContainer))

;;; Window

(define-object GtkWindow (GtkBin))

(define-func gtk_window_new
  GtkWidget
  ((GtkWindowType type)))

(define-func gtk_window_set_title
  none
  ((GtkWindow window)
   (string title)))

(define-func gtk_window_set_focus
  none
  ((GtkWindow window)
   (GtkWidget focus)))

(define-func gtk_window_set_default
  none
  ((GtkWindow window)
   (GtkWidget default)))

(define-func gtk_window_set_policy
  none
  ((GtkWindow window)
   (bool allow_shrink)
   (bool allow_grow)
   (bool auto_shrink)))

(define-func gtk_window_add_accel_group
  none
  ((GtkWindow window)
   (GtkAccelGroup accel_group)))

(define-func gtk_window_remove_accel_group
  none
  ((GtkWindow window)
   (GtkAccelGroup accel_group)))

(define-func gtk_window_position
  none
  ((GtkWindow window)
   (GtkWindowPosition position)))

;;; Box

(define-object GtkBox (GtkContainer))

(define-func gtk_box_pack_start
  none
  ((GtkBox box)
   (GtkWidget child)
   (bool expand (= "TRUE"))
   (bool fill (= "TRUE"))
   (int padding (= "0"))))

(define-func gtk_box_pack_end
  none
  ((GtkBox box)
   (GtkWidget child)
   (bool expand (= "TRUE"))
   (bool fill (= "TRUE"))
   (int padding (= "0"))))

(define-func gtk_box_pack_start_defaults
  none
  ((GtkBox box)
   (GtkWidget child)))

(define-func gtk_box_pack_end_defaults
  none
  ((GtkBox box)
   (GtkWidget child)))

(define-func gtk_box_set_homogeneous
  none
  ((GtkBox box)
   (bool homogenous)))

(define-func gtk_box_set_spacing
  none
  ((GtkBox box)
   (int spacing)))

;;; Table

(define-object GtkTable (GtkContainer))

(define-func gtk_table_new
  GtkWidget
  ((int rows)
   (int columns)
   (bool homogenous)))

(define-func gtk_table_attach
  none
  ((GtkTable table)
   (GtkWidget child)
   (int left_attach)
   (int right_attach)
   (int top_attach)
   (int bottom_attach)
   (GtkAttachOptions xoptions (= "GTK_EXPAND|GTK_FILL"))
   (GtkAttachOptions yoptions (= "GTK_EXPAND|GTK_FILL"))
   (int xpadding (= "0"))
   (int ypadding (= "0"))))

(define-func gtk_table_attach_defaults
  none
  ((GtkTable table)
   (GtkWidget child)
   (int left_attach)
   (int right_attach)
   (int top_attach)
   (int bottom_attach)))

(define-func gtk_table_set_row_spacing
  none
  ((GtkTable table)
   (int row)
   (int spacing)))

(define-func gtk_table_set_col_spacing
  none
  ((GtkTable table)
   (int column)
   (int spacing)))

(define-func gtk_table_set_row_spacings
  none
  ((GtkTable table)
   (int spacing)))

(define-func gtk_table_set_col_spacings
  none
  ((GtkTable table)
   (int spacing)))

;;; Button

(define-object GtkButton (GtkContainer))

(define-func gtk_button_new
  GtkWidget
  ())

(define-func gtk_button_new_with_label
  GtkWidget
  ((string label)))

(define-func gtk_button_pressed
  none
  ((GtkButton button)))

(define-func gtk_button_released
  none
  ((GtkButton button)))

(define-func gtk_button_clicked
  none
  ((GtkButton button)))

(define-func gtk_button_enter
  none
  ((GtkButton button)))

(define-func gtk_button_leave
  none
  ((GtkButton button)))

;;; ToggleButton

(define-object GtkToggleButton (GtkButton))

(define-func gtk_toggle_button_new
  GtkWidget
  ())

(define-func gtk_toggle_button_new_with_label
  GtkWidget
  ((string label)))

(define-func gtk_toggle_button_set_mode
  none
  ((GtkToggleButton toggle_button)
   (bool draw_indicator)))

(define-func gtk_toggle_button_set_state
  none
  ((GtkToggleButton toggle_button)
   (bool state)))

(define-func gtk_toggle_button_toggled
  none
  ((GtkToggleButton toggle_button)))

;;; CheckButton

(define-object GtkCheckButton (GtkToggleButton))

(define-func gtk_check_button_new
  GtkWidget
  ())

(define-func gtk_check_button_new_with_label
  GtkWidget
  ((string label)))

;;; RadioButton

(define-object GtkRadioButton (GtkCheckButton))

(define-func gtk_radio_button_new_interp
  GtkWidget
  ((GtkRadioButton group (null-ok))))

(define-func gtk_radio_button_new_with_label_interp
  GtkWidget
  ((GtkRadioButton group (null-ok))
   (string label)))

;;; Misc

(define-object GtkMisc (GtkWidget))

(define-func gtk_misc_set_alignment
  none
  ((GtkMisc misc)
   (float xalign)
   (float yalign)))

(define-func gtk_misc_set_padding
  none
  ((GtkMisc misc)
   (int xpad)
   (int ypad)))

;;; Label

(define-object GtkLabel (GtkMisc))

(define-func gtk_label_new
  GtkWidget
  ((string str)))

(define-func gtk_label_set
  none
  ((GtkLabel label)
   (string str)))

(define-func gtk_label_get_interp
  static_string
  ((GtkLabel label)))

;; VBox

(define-object GtkVBox (GtkBox))

(define-func gtk_vbox_new
  GtkWidget
  ((bool homogenous)
   (int spacing)))

;; HBox

(define-object GtkHBox (GtkBox))

(define-func gtk_hbox_new
  GtkWidget
  ((bool homogenous)
   (int spacing)))

;; Separator

(define-object GtkSeparator (GtkWidget))

;; HSeparator

(define-object GtkHSeparator (GtkSeparator))

(define-func gtk_hseparator_new
  GtkWidget
  ())

;; VSeparator

(define-object GtkVSeparator (GtkSeparator))

(define-func gtk_vseparator_new
  GtkWidget
  ())

;; Frame

(define-object GtkFrame (GtkBin))

(define-func gtk_frame_new
  GtkWidget
  ((string label (null-ok))))

(define-func gtk_frame_set_label
  none
  ((GtkFrame frame)
   (string label)))

(define-func gtk_frame_set_label_align
  none
  ((GtkFrame frame)
   (float xalign)
   (float yalign)))

(define-func gtk_frame_set_shadow_type
  none
  ((GtkFrame frame)
   (GtkShadowType type)))

;; Progress Bar

(define-object GtkProgressBar (GtkWidget)
  (fields
   (float percentage)))

(define-func gtk_progress_bar_new
  GtkWidget
  ())

(define-func gtk_progress_bar_update
  none
  ((GtkProgressBar progress_bar)
   (float percentage)))

                                        ;(define-func gtk_progress_bar_percentage
                                        ;  float
                                        ;  ((GtkProgressBar progress_bar)))

;; Tooltips

(define-object GtkTooltips (GtkData))

(define-func gtk_tooltips_new
  GtkTooltips
  ())

(define-func gtk_tooltips_destroy
  none
  ((GtkTooltips tooltips)))

(define-func gtk_tooltips_enable
  none
  ((GtkTooltips tooltips)))

(define-func gtk_tooltips_disable
  none
  ((GtkTooltips tooltips)))

(define-func gtk_tooltips_set_delay
  none
  ((GtkTooltips tooltips)
   (int delay)))

(define-func gtk_tooltips_set_tips
  none
  ((GtkTooltips tooltips)
   (GtkWidget widget)
   (string tips_text (null-ok))))

(define-func gtk_tooltips_set_colors
  none
  ((GtkTooltips tooltips)
   (GdkColor background)
   (GdkColor foreground)))

;; MenuShell

(define-object GtkMenuShell (GtkContainer))

(define-func gtk_menu_shell_append
  none
  ((GtkMenuShell menu_shell)
   (GtkWidget child)))

(define-func gtk_menu_shell_prepend
  none
  ((GtkMenuShell menu_shell)
   (GtkWidget child)))

(define-func gtk_menu_shell_insert
  none
  ((GtkMenuShell menu_shell)
   (GtkWidget child)
   (int position)))

(define-func gtk_menu_shell_deactivate
  none
  ((GtkMenuShell menu_shell)))

;; MenuBar

(define-object GtkMenuBar (GtkMenuShell))

(define-func gtk_menu_bar_new
  GtkWidget
  ())

(define-func gtk_menu_bar_append
  none
  ((GtkMenuBar menu_bar)
   (GtkWidget child)))

(define-func gtk_menu_bar_prepend
  none
  ((GtkMenuBar menu_bar)
   (GtkWidget child)))

(define-func gtk_menu_bar_insert
  none
  ((GtkMenuBar menu_bar)
   (GtkWidget child)
   (int position)))

;; Menu

(define-object GtkMenu (GtkMenuShell))

(define-func gtk_menu_new
  GtkWidget
  ())

(define-func gtk_menu_append
  none
  ((GtkMenu menu)
   (GtkWidget child)))

(define-func gtk_menu_prepend
  none
  ((GtkMenu menu)
   (GtkWidget child)))

(define-func gtk_menu_insert
  none
  ((GtkMenu menu)
   (GtkWidget child)
   (int position)))

(define-func gtk_menu_popup_interp
  none
  ((GtkMenu menu)
   (GtkWidget parent_menu_shell)
   (GtkWidget parent_menu_item)
   (int button)
   (int activate_time)))

(define-func gtk_menu_popdown
  none
  ((GtkMenu menu)))

(define-func gtk_menu_get_active
  GtkWidget
  ((GtkMenu menu)))

(define-func gtk_menu_set_active
  none
  ((GtkMenu menu)
   (int index)))

(define-func gtk_menu_set_accel_group
  none
  ((GtkMenu menu)
   (GtkAccelGroup accel_group)))


;; Item

(define-object GtkItem (GtkBin))

(define-func gtk_item_select 
  none
  ((GtkItem item)))

(define-func gtk_item_deselect 
  none
  ((GtkItem item)))

(define-func gtk_item_toggle 
  none
  ((GtkItem item)))

;; MenuItem

(define-object GtkMenuItem (GtkItem))

(define-func gtk_menu_item_new
  GtkWidget
  ())

(define-func gtk_menu_item_new_with_label
  GtkWidget
  ((string label)))

(define-func gtk_menu_item_set_submenu
  none
  ((GtkMenuItem menu_item)
   (GtkWidget submenu)))

(define-func gtk_menu_item_set_placement
  none
  ((GtkMenuItem menu_item)
   (GtkSubmenuPlacement placement)))

(define-func gtk_menu_item_configure
  none
  ((GtkMenuItem menu_item)
   (bool show_toggle_indicator)
   (bool show_submenu_indicator)))

(define-func gtk_menu_item_select
  none
  ((GtkMenuItem menu_item)))

(define-func gtk_menu_item_deselect
  none
  ((GtkMenuItem menu_item)))

(define-func gtk_menu_item_activate
  none
  ((GtkMenuItem menu_item)))

;; CheckMenuItem

(define-object GtkCheckMenuItem (GtkMenuItem))

(define-func gtk_check_menu_item_new
  GtkWidget
  ())

(define-func gtk_check_menu_item_new_with_label
  GtkWidget
  ((string label)))

(define-func gtk_check_menu_item_set_state
  none
  ((GtkCheckMenuItem check_menu_item)
   (bool state)))

(define-func gtk_check_menu_item_toggled
  none
  ((GtkCheckMenuItem check_menu_item)))

;; RadioMenuItem

(define-object GtkRadioMenuItem (GtkCheckMenuItem))

(define-func gtk_radio_menu_item_new_interp
  GtkWidget
  ((GtkRadioMenuItem group (null-ok))))

(define-func gtk_radio_menu_item_new_with_label_interp
  GtkWidget
  ((GtkRadioMenuItem group (null-ok))
   (string label)))

;; OptionMenu

(define-object GtkOptionMenu (GtkButton))

(define-func gtk_option_menu_new
  GtkWidget
  ())

(define-func gtk_option_menu_get_menu
  GtkWidget
  ((GtkOptionMenu option_menu)))

(define-func gtk_option_menu_set_menu
  none
  ((GtkOptionMenu option_menu)
   (GtkWidget menu)))

(define-func gtk_option_menu_remove_menu
  none
  ((GtkOptionMenu option_menu)))

(define-func gtk_option_menu_set_history
  none
  ((GtkOptionMenu option_menu)
   (int index)))

;; Pixmaps

(define-object GtkPixmap (GtkMisc))

(define-func gtk_pixmap_new_interp
  GtkWidget
  ((string xpm_file)
   (GtkWidget intended_parent)))

;; Data

(define-object GtkData (GtkObject))

;; Adjustment

(define-object GtkAdjustment (GtkData))

(define-func gtk_adjustment_new
  GtkObject
  ((float value)
   (float lower)
   (float upper)
   (float step_increment)
   (float page_increment)
   (float page_size)))

;; ScrolledWidow

(define-object GtkScrolledWindow (GtkContainer))

(define-func gtk_scrolled_window_new
  GtkWidget
  ((GtkAdjustment hadjustment (null-ok) (= "NULL"))
   (GtkAdjustment vadjustment (null-ok) (= "NULL"))))

(define-func gtk_scrolled_window_get_hadjustment
  GtkAdjustment
  ((GtkScrolledWindow scrolled_window)))

(define-func gtk_scrolled_window_get_vadjustment
  GtkAdjustment
  ((GtkScrolledWindow scrolled_window)))

(define-func gtk_scrolled_window_set_policy
  none
  ((GtkScrolledWindow scrolled_window)
   (GtkPolicyType hscrollbar_policy)
   (GtkPolicyType vscrollbar_policy)))

;; ListItem

(define-object GtkListItem (GtkItem))

(define-func gtk_list_item_new
  GtkWidget
  ())

(define-func gtk_list_item_new_with_label
  GtkWidget
  ((string label)))

(define-func gtk_list_item_select
  none
  ((GtkListItem list_item)))

(define-func gtk_list_item_deselect
  none
  ((GtkListItem list_item)))

;; List

(define-object GtkList (GtkContainer))

(define-func gtk_list_new
  GtkWidget
  ())

(define-func gtk_list_append_item
  none
  ((GtkList list)
   (GtkListItem item)))

(define-func gtk_list_prepend_item
  none
  ((GtkList list)
   (GtkListItem item)))

;; XXX many missing

(define-func gtk_list_clear_items
  none
  ((GtkList list)
   (int start)
   (int end)))

(define-func gtk_list_select_item
  none
  ((GtkList list)
   (int item)))

(define-func gtk_list_unselect_item
  none
  ((GtkList list)
   (int item)))

(define-func gtk_list_select_child
  none
  ((GtkList list)
   (GtkWidget child)))

(define-func gtk_list_unselect_child
  none
  ((GtkList list)
   (GtkWidget child)))

(define-func gtk_list_child_position
  int
  ((GtkList list)
   (GtkWidget child)))

(define-func gtk_list_set_selection_mode
  none
  ((GtkList list)
   (GtkSelectionMode mode)))

;; Notebook

(define-object GtkNotebook (GtkContainer)
  (fields
   (GtkPositionType tab_pos)))

(define-func gtk_notebook_new
  GtkWidget
  ())

(define-func gtk_notebook_append_page
  none
  ((GtkNotebook notebook)
   (GtkWidget child)
   (GtkWidget tab_label)))

(define-func gtk_notebook_prepend_page
  none
  ((GtkNotebook notebook)
   (GtkWidget child)
   (GtkWidget tab_label)))

(define-func gtk_notebook_insert_page
  none
  ((GtkNotebook notebook)
   (GtkWidget child)
   (GtkWidget tab_label)
   (int position)))

(define-func gtk_notebook_remove_page
  none
  ((GtkNotebook notebook)
   (int page_num)))

(define-func gtk_notebook_current_page
  int
  ((GtkNotebook notebook)))

(define-func gtk_notebook_set_page
  none
  ((GtkNotebook notebook)
   (int page_num)))

(define-func gtk_notebook_next_page
  none
  ((GtkNotebook notebook)))

(define-func gtk_notebook_prev_page
  none
  ((GtkNotebook notebook)))

(define-func gtk_notebook_set_tab_pos
  none
  ((GtkNotebook notebook)
   (GtkPositionType pos)))

(define-func gtk_notebook_set_show_tabs
  none
  ((GtkNotebook notebook)
   (bool show_tabs)))

(define-func gtk_notebook_set_show_border
  none
  ((GtkNotebook notebook)
   (bool show_border)))

;; Entry

(define-object GtkEntry (GtkWidget))

(define-func gtk_entry_new
  GtkWidget
  ())

(define-func gtk_entry_set_text
  none
  ((GtkEntry entry)
   (string text)))

(define-func gtk_entry_append_text
  none
  ((GtkEntry entry)
   (string text)))

(define-func gtk_entry_prepend_text
  none
  ((GtkEntry entry)
   (string text)))

(define-func gtk_entry_set_position
  none
  ((GtkEntry entry)
   (int position)))

(define-func gtk_entry_get_text
  static_string
  ((GtkEntry entry)))

;; Text

(define-object GtkText (GtkWidget))

(define-func gtk_text_new
  GtkWidget
  ((GtkAdjustment hadj (null-ok))
   (GtkAdjustment vadj (null-ok))))

(define-func gtk_text_set_editable
  none
  ((GtkText text)
   (bool editable)))

(define-func gtk_text_set_adjustments
  none
  ((GtkText text)
   (GtkAdjustment hadj)
   (GtkAdjustment vadj)))

(define-func gtk_text_set_point
  none
  ((GtkText text)
   (uint index)))

(define-func gtk_text_get_point
  uint
  ((GtkText text)))

(define-func gtk_text_get_length
  uint
  ((GtkText text)))

(define-func gtk_text_freeze
  none
  ((GtkText text)))

(define-func gtk_text_thaw
  none
  ((GtkText text)))

(define-func gtk_text_insert
  none
  ((GtkText text)
   (GdkFont font (null-ok))
   (GdkColor fore (null-ok))
   (GdkColor back (null-ok))
   (string chars)
   (int length)))

(define-func gtk_text_backward_delete
  none
  ((GtkText text)
   (uint nchars)))

(define-func gtk_text_foreward_delete
  none
  ((GtkText text)
   (uint nchars)))

;; Alignment

(define-object GtkAlignment (GtkBin))

(define-func gtk_alignment_new
  GtkWidget
  ((float xalign)
   (float yalign)
   (float xscale)
   (float yscale)))

(define-func gtk_alignment_set
  none
  ((GtkAlignment alignment)
   (float xalign)
   (float yalign)
   (float xscale)
   (float yscale)))

;; Color

                                        ; XXX lots missing

(define-func gdk_color_parse_interp
  GdkColor
  ((string spec)))

;; Preview

(define-object GtkPreview (GtkWidget))

;; XXX lots missing

(define-func gtk_preview_set_install_cmap
  none
  ((bool install_cmap)))

(define-func gtk_preview_set_reserved
  none
  ((int nreserved)))

(define-func gtk_preview_get_visual
  GdkVisual
  ())

(define-func gtk_preview_get_cmap
  GdkColormap
  ())

;; ColorSelectionDialog

(define-object GtkColorSelectionDialog (GtkWindow)
  (fields
   (GtkWidget colorsel)
   (GtkWidget main_vbox)
   (GtkWidget ok_button)
   (GtkWidget reset_button)
   (GtkWidget cancel_button)
   (GtkWidget help_button)))

(define-func gtk_color_selection_dialog_new
  GtkWidget
  ((string title)))

;; ColorSelection

(define-object GtkColorSelection (GtkVBox))

(define-func gtk_color_selection_new
  GtkWidget
  ())

(define-func gtk_color_selection_set_update_policy
  none
  ((GtkColorSelection colorsel)
   (GtkUpdateType policy)))

(define-func gtk_color_selection_set_opacity
  none
  ((GtkColorSelection colorsel)
   (bool use_opacity)))

;; Range

(define-object GtkRange (GtkWidget))

(define-func gtk_range_get_adjustment
  GtkAdjustment
  ((GtkRange range)))

(define-func gtk_range_set_update_policy
  none
  ((GtkRange range)
   (GtkUpdateType policy)))

(define-func gtk_range_set_adjustment
  none
  ((GtkRange range)
   (GtkAdjustment adjustment)))

;; Scale

(define-object GtkScale (GtkRange))

(define-func gtk_scale_set_digits
  none
  ((GtkScale scale)
   (bool digits)))

(define-func gtk_scale_set_draw_value
  none
  ((GtkScale scale)
   (bool draw_value)))

(define-func gtk_scale_set_value_pos
  none
  ((GtkScale scale)
   (GtkPositionType pos)))

;; HScale

(define-object GtkHScale (GtkScale))

(define-func gtk_hscale_new
  GtkWidget
  ((GtkAdjustment adjustment)))

;; VScale

(define-object GtkVScale (GtkScale))

(define-func gtk_vscale_new
  GtkWidget
  ((GtkAdjustment adjustment)))

;; Scrollbar

(define-object GtkScrollbar (GtkRange))

;; HScrollbar

(define-object GtkHScrollbar (GtkScrollbar))

(define-func gtk_hscrollbar_new
  GtkWidget
  ((GtkAdjustment adjustment)))

;; VScrollbar

(define-object GtkVScrollbar (GtkScrollbar))

(define-func gtk_vscrollbar_new
  GtkWidget
  ((GtkAdjustment adjustment)))

;; Dialog

(define-object GtkDialog (GtkWindow)
  (fields
   (GtkWidget vbox)
   (GtkWidget action_area)))

(define-func gtk_dialog_new
  GtkWidget
  ())

;; Paned

(define-object GtkPaned (GtkContainer))

(define-func gtk_paned_add1
  none
  ((GtkPaned paned)
   (GtkWidget child)))

(define-func gtk_paned_add2
  none
  ((GtkPaned paned)
   (GtkWidget child)))

(define-func gtk_paned_handle_size
  none
  ((GtkPaned paned)
   (int size)))

(define-func gtk_paned_gutter_size
  none
  ((GtkPaned paned)
   (int size)))

;; HPaned

(define-object GtkHPaned (GtkPaned))

(define-func gtk_hpaned_new
  GtkWidget
  ())

;; VPaned

(define-object GtkVPaned (GtkPaned))

(define-func gtk_vpaned_new
  GtkWidget
  ())

;;; hack

;(define-func panel_register_toy
;  none
;  ((gpointer panel)
;   (GtkWidget applet)
;   (string id)
;   (string params)
;   (int x)
;   (int y)
;   (int flags)))

;(define-func panel_quit
;  none
;  ((gpointer panel)))

;(define-func panel_new_applet
;  none
;  ((gpointer panel)
;   (string applet)
;   (string params)))
