[Gd-chatter] r11484 - branches/opendylan-melange/gtk-c-ffi

hannes at gwydiondylan.org hannes at gwydiondylan.org
Thu Nov 8 00:00:17 CET 2007


Author: hannes
Date: Thu Nov  8 00:00:16 2007
New Revision: 11484

Added:
   branches/opendylan-melange/gtk-c-ffi/gtk-2-12-linux.dylan   (contents, props changed)
   branches/opendylan-melange/gtk-c-ffi/gtk-module-2-12-linux.dylan   (contents, props changed)
Modified:
   branches/opendylan-melange/gtk-c-ffi/gtk-2-8-linux.intr
   branches/opendylan-melange/gtk-c-ffi/gtk-c-ffi-unix.hdp
   branches/opendylan-melange/gtk-c-ffi/gtk-module-2-8-linux.dylan
   branches/opendylan-melange/gtk-c-ffi/library.dylan
Log:
Job: fd

update for gtk-2.12


Added: branches/opendylan-melange/gtk-c-ffi/gtk-2-12-linux.dylan
==============================================================================
--- (empty file)
+++ branches/opendylan-melange/gtk-c-ffi/gtk-2-12-linux.dylan	Thu Nov  8 00:00:16 2007
@@ -0,0 +1,54314 @@
+module: gtk-internal
+
+define constant <gsize> = <C-unsigned-int>;
+
+define constant <GType> = <gsize>;
+
+define C-struct <_GTypeClass>
+  slot GTypeClass-g-type :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GTypeClass> => <_GTypeClass>;
+
+define constant <gpointer> = <C-void*>;
+
+define C-struct <_GSList>
+  slot GSList-data :: <C-void*>;
+  slot GSList-next :: <GSList>;
+end;
+
+define C-pointer-type <GSList> => <_GSList>;
+
+define C-subtype <_GTypeInstance> (<C-void*>) end;
+define constant <GTypeInstance> = <_GTypeInstance>;
+
+define constant <guint> = <C-unsigned-int>;
+
+define C-struct <_GData>
+end;
+
+define C-pointer-type <GData> => <_GData>;
+
+define C-subtype <_GObject> (<_GTypeInstance>) end;
+define constant <GObject> = <_GObject>;
+
+define constant <gchar> = <C-signed-char>;
+
+define C-pointer-type <gchar*> => <gchar>;
+define constant <GParamFlags> = <C-int>;
+define constant $G-PARAM-READABLE = 1;
+define constant $G-PARAM-WRITABLE = 2;
+define constant $G-PARAM-CONSTRUCT = 4;
+define constant $G-PARAM-CONSTRUCT-ONLY = 8;
+define constant $G-PARAM-LAX-VALIDATION = 16;
+define constant $G-PARAM-STATIC-NAME = 32;
+define constant $G-PARAM-PRIVATE = 32;
+define constant $G-PARAM-STATIC-NICK = 64;
+define constant $G-PARAM-STATIC-BLURB = 128;
+
+define C-struct <_GParamSpec>
+  slot GParamSpec-g-type-instance :: <_GTypeInstance>;
+  slot GParamSpec-name :: <gchar*>;
+  slot GParamSpec-flags :: <GParamFlags>;
+  slot GParamSpec-value-type :: <C-unsigned-int>;
+  slot GParamSpec-owner-type :: <C-unsigned-int>;
+  slot GParamSpec-_nick :: <gchar*>;
+  slot GParamSpec-_blurb :: <gchar*>;
+  slot GParamSpec-qdata :: <GData>;
+  slot GParamSpec-ref-count :: <C-unsigned-int>;
+  slot GParamSpec-param-id :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GParamSpec> => <_GParamSpec>;
+
+define constant <gint> = <C-signed-int>;
+
+define constant <glong> = <C-signed-long>;
+
+define constant <gulong> = <C-unsigned-long>;
+
+define constant <gint64> = <C-signed-long>;
+
+define constant <guint64> = <C-unsigned-long>;
+
+define constant <gfloat> = <C-float>;
+
+define constant <gdouble> = <C-double>;
+
+define C-subtype <anonymous-1614> (<C-void*>) end;
+define constant <anonymous-1614<@2>> = <anonymous-1614>;
+define C-struct <_GValue>
+  slot GValue-g-type :: <C-unsigned-int>;
+  array slot GValue-data :: <anonymous-1614>, length: 2;
+end;
+
+define C-pointer-type <GValue> => <_GValue>;
+
+define C-struct <_GObjectConstructParam>
+  slot GObjectConstructParam-pspec :: <GParamSpec>;
+  slot GObjectConstructParam-value :: <GValue>;
+end;
+
+define C-pointer-type <GObjectConstructParam> => <_GObjectConstructParam>;
+
+define constant <anonymous-1760> = <C-function-pointer>;
+define constant <anonymous-1761> = <C-function-pointer>;
+define constant <anonymous-1762> = <C-function-pointer>;
+define constant <anonymous-1763> = <C-function-pointer>;
+define constant <anonymous-1764> = <C-function-pointer>;
+define C-pointer-type <GParamSpec*> => <GParamSpec>;
+define constant <anonymous-1765> = <C-function-pointer>;
+define constant <anonymous-1766> = <C-function-pointer>;
+define constant <anonymous-1767> = <C-function-pointer>;
+define C-pointer-type <gpointer*> => <gpointer>;
+define constant <gpointer<@7>> = <gpointer*>;
+define C-struct <_GObjectClass>
+  slot GObjectClass-g-type-class :: <_GTypeClass>;
+  slot GObjectClass-construct-properties :: <GSList>;
+  slot GObjectClass-constructor :: <anonymous-1760>;
+  slot GObjectClass-set-property :: <anonymous-1761>;
+  slot GObjectClass-get-property :: <anonymous-1762>;
+  slot GObjectClass-dispose :: <anonymous-1763>;
+  slot GObjectClass-finalize :: <anonymous-1764>;
+  slot GObjectClass-dispatch-properties-changed :: <anonymous-1765>;
+  slot GObjectClass-notify :: <anonymous-1766>;
+  slot GObjectClass-constructed :: <anonymous-1767>;
+  array slot GObjectClass-pdummy :: <gpointer>, length: 7;
+end;
+
+define C-pointer-type <GInitiallyUnownedClass> => <_GObjectClass>;
+
+define C-subtype <_GInitiallyUnowned> (<_GObject>) end;
+
+define constant <GInitiallyUnowned> = <_GInitiallyUnowned>;
+
+define constant <guint32> = <C-unsigned-int>;
+
+define C-subtype <_GtkObject> (<_GObject>) end;
+define constant <GtkObject> = <_GtkObject>;
+
+define constant <GtkType> = <GType>;
+
+define constant <guchar> = <C-unsigned-char>;
+
+define constant <gboolean> = <gint>;
+
+define constant <anonymous-3502> = <C-function-pointer>;
+define constant <GtkSignalFunc> = <anonymous-3502>;
+
+define C-struct <anonymous-3503>
+  slot nonymous-3503-f :: <anonymous-3502>;
+  slot nonymous-3503-d :: <C-void*>;
+end;
+
+define C-subtype <anonymous-3504> (<C-void*>) end;
+define C-struct <_GtkArg>
+  slot GtkArg-type :: <C-unsigned-int>;
+  slot GtkArg-name :: <gchar*>;
+  slot GtkArg-d :: <anonymous-3504>;
+end;
+
+define C-pointer-type <GtkArg> => <_GtkArg>;
+
+define constant <anonymous-3515> = <C-function-pointer>;
+define constant <anonymous-3516> = <C-function-pointer>;
+define constant <anonymous-3517> = <C-function-pointer>;
+define C-struct <_GtkObjectClass>
+  slot GtkObjectClass-parent-class :: <_GObjectClass>;
+  slot GtkObjectClass-set-arg :: <anonymous-3515>;
+  slot GtkObjectClass-get-arg :: <anonymous-3516>;
+  slot GtkObjectClass-destroy :: <anonymous-3517>;
+end;
+
+define C-pointer-type <GtkObjectClass> => <_GtkObjectClass>;
+
+define constant <guint16> = <C-unsigned-short>;
+
+define constant <guint8> = <C-unsigned-char>;
+
+define C-struct <_GdkColor>
+  slot GdkColor-pixel :: <C-unsigned-int>;
+  slot GdkColor-red :: <C-unsigned-short>;
+  slot GdkColor-green :: <C-unsigned-short>;
+  slot GdkColor-blue :: <C-unsigned-short>;
+end;
+
+define C-pointer-type <GdkColor> => <_GdkColor>;
+
+define constant <GdkColor<@5>> = <GdkColor>;
+define C-struct <_PangoFontDescription>
+end;
+
+define C-pointer-type <PangoFontDescription> => <_PangoFontDescription>;
+
+define constant <GdkVisualType> = <C-int>;
+define constant $GDK-VISUAL-STATIC-GRAY = 0;
+define constant $GDK-VISUAL-GRAYSCALE = 1;
+define constant $GDK-VISUAL-STATIC-COLOR = 2;
+define constant $GDK-VISUAL-PSEUDO-COLOR = 3;
+define constant $GDK-VISUAL-TRUE-COLOR = 4;
+define constant $GDK-VISUAL-DIRECT-COLOR = 5;
+
+define constant <GdkByteOrder> = <C-int>;
+define constant $GDK-LSB-FIRST = 0;
+define constant $GDK-MSB-FIRST = 1;
+
+define C-subtype <_GdkVisual> (<_GObject>) end;
+define constant <GdkVisual> = <_GdkVisual>;
+
+define C-subtype <_GdkColormap> (<_GObject>) end;
+define constant <GdkColormap> = <_GdkColormap>;
+
+define C-subtype <_GdkGC> (<_GObject>) end;
+define constant <GdkGC> = <_GdkGC>;
+
+define C-pointer-type <GdkGC*> => <GdkGC>;
+define constant <GdkGC<@5>> = <GdkGC*>;
+define C-subtype <_GdkDrawable> (<_GObject>) end;
+define C-subtype <_GdkPixmap> (<_GdkDrawable>) end;
+
+define constant <GdkPixmap> = <_GdkPixmap>;
+
+define C-pointer-type <GdkPixmap*> => <GdkPixmap>;
+define constant <GdkPixmap<@5>> = <GdkPixmap*>;
+define constant <GdkFontType> = <C-int>;
+define constant $GDK-FONT-FONT = 0;
+define constant $GDK-FONT-FONTSET = 1;
+
+define C-struct <_GdkFont>
+  slot GdkFont-type :: <GdkFontType>;
+  slot GdkFont-ascent :: <C-signed-int>;
+  slot GdkFont-descent :: <C-signed-int>;
+end;
+
+define C-pointer-type <GdkFont> => <_GdkFont>;
+
+define C-pointer-type <gchar**> => <gchar*>;
+define constant <gchar*<@5>> = <gchar**>;
+define constant <GtkRcFlags> = <C-int>;
+define constant $GTK-RC-FG = 1;
+define constant $GTK-RC-BG = 2;
+define constant $GTK-RC-TEXT = 4;
+define constant $GTK-RC-BASE = 8;
+
+define C-pointer-type <GtkRcFlags*> => <GtkRcFlags>;
+define constant <GtkRcFlags<@5>> = <GtkRcFlags*>;
+define C-struct <_GArray>
+  slot GArray-data :: <gchar*>;
+  slot GArray-len :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GArray> => <_GArray>;
+
+define C-subtype <_GtkRcStyle> (<_GObject>) end;
+define constant <GtkRcStyle> = <_GtkRcStyle>;
+
+define C-subtype <_GtkStyle> (<_GObject>) end;
+define constant <GtkStyle> = <_GtkStyle>;
+
+define C-struct <_GtkRequisition>
+  slot GtkRequisition-width :: <C-signed-int>;
+  slot GtkRequisition-height :: <C-signed-int>;
+end;
+
+define C-pointer-type <GtkRequisition> => <_GtkRequisition>;
+
+define C-struct <_GdkRectangle>
+  slot GdkRectangle-x :: <C-signed-int>;
+  slot GdkRectangle-y :: <C-signed-int>;
+  slot GdkRectangle-width :: <C-signed-int>;
+  slot GdkRectangle-height :: <C-signed-int>;
+end;
+
+define C-pointer-type <GdkRectangle> => <_GdkRectangle>;
+
+define constant <GtkAllocation> = <GdkRectangle>;
+
+define C-subtype <_GdkWindow> (<_GdkDrawable>) end;
+
+define constant <GdkWindow> = <_GdkWindow>;
+
+define C-subtype <_GtkWidget> (<_GtkObject>, <_AtkImplementorIface>) end;
+define constant <GtkWidget> = <_GtkWidget>;
+
+define constant <anonymous-3797> = <C-function-pointer>;
+define constant <anonymous-3798> = <C-function-pointer>;
+define constant <anonymous-3799> = <C-function-pointer>;
+define constant <anonymous-3800> = <C-function-pointer>;
+define constant <anonymous-3801> = <C-function-pointer>;
+define constant <anonymous-3802> = <C-function-pointer>;
+define constant <anonymous-3803> = <C-function-pointer>;
+define constant <anonymous-3804> = <C-function-pointer>;
+define constant <anonymous-3805> = <C-function-pointer>;
+define constant <anonymous-3806> = <C-function-pointer>;
+define constant <anonymous-3807> = <C-function-pointer>;
+define constant <GtkStateType> = <C-int>;
+define constant $GTK-STATE-NORMAL = 0;
+define constant $GTK-STATE-ACTIVE = 1;
+define constant $GTK-STATE-PRELIGHT = 2;
+define constant $GTK-STATE-SELECTED = 3;
+define constant $GTK-STATE-INSENSITIVE = 4;
+
+define constant <anonymous-3808> = <C-function-pointer>;
+define constant <anonymous-3809> = <C-function-pointer>;
+define constant <anonymous-3810> = <C-function-pointer>;
+define constant <anonymous-3811> = <C-function-pointer>;
+define constant <GtkTextDirection> = <C-int>;
+define constant $GTK-TEXT-DIR-NONE = 0;
+define constant $GTK-TEXT-DIR-LTR = 1;
+define constant $GTK-TEXT-DIR-RTL = 2;
+
+define constant <anonymous-3812> = <C-function-pointer>;
+define constant <anonymous-3813> = <C-function-pointer>;
+define constant <anonymous-3814> = <C-function-pointer>;
+define constant <anonymous-3815> = <C-function-pointer>;
+define constant <anonymous-3816> = <C-function-pointer>;
+define constant <GtkDirectionType> = <C-int>;
+define constant $GTK-DIR-TAB-FORWARD = 0;
+define constant $GTK-DIR-TAB-BACKWARD = 1;
+define constant $GTK-DIR-UP = 2;
+define constant $GTK-DIR-DOWN = 3;
+define constant $GTK-DIR-LEFT = 4;
+define constant $GTK-DIR-RIGHT = 5;
+
+define constant <anonymous-3817> = <C-function-pointer>;
+define constant <GdkEventType> = <C-int>;
+define constant $GDK-NOTHING = -1;
+define constant $GDK-DELETE = 0;
+define constant $GDK-DESTROY = 1;
+define constant $GDK-EXPOSE = 2;
+define constant $GDK-MOTION-NOTIFY = 3;
+define constant $GDK-BUTTON-PRESS = 4;
+define constant $GDK-2BUTTON-PRESS = 5;
+define constant $GDK-3BUTTON-PRESS = 6;
+define constant $GDK-BUTTON-RELEASE = 7;
+define constant $GDK-KEY-PRESS = 8;
+define constant $GDK-KEY-RELEASE = 9;
+define constant $GDK-ENTER-NOTIFY = 10;
+define constant $GDK-LEAVE-NOTIFY = 11;
+define constant $GDK-FOCUS-CHANGE = 12;
+define constant $GDK-CONFIGURE = 13;
+define constant $GDK-MAP = 14;
+define constant $GDK-UNMAP = 15;
+define constant $GDK-PROPERTY-NOTIFY = 16;
+define constant $GDK-SELECTION-CLEAR = 17;
+define constant $GDK-SELECTION-REQUEST = 18;
+define constant $GDK-SELECTION-NOTIFY = 19;
+define constant $GDK-PROXIMITY-IN = 20;
+define constant $GDK-PROXIMITY-OUT = 21;
+define constant $GDK-DRAG-ENTER = 22;
+define constant $GDK-DRAG-LEAVE = 23;
+define constant $GDK-DRAG-MOTION = 24;
+define constant $GDK-DRAG-STATUS = 25;
+define constant $GDK-DROP-START = 26;
+define constant $GDK-DROP-FINISHED = 27;
+define constant $GDK-CLIENT-EVENT = 28;
+define constant $GDK-VISIBILITY-NOTIFY = 29;
+define constant $GDK-NO-EXPOSE = 30;
+define constant $GDK-SCROLL = 31;
+define constant $GDK-WINDOW-STATE = 32;
+define constant $GDK-SETTING = 33;
+define constant $GDK-OWNER-CHANGE = 34;
+define constant $GDK-GRAB-BROKEN = 35;
+
+define constant <gint8> = <C-signed-char>;
+
+define C-struct <_GdkEventAny>
+  slot GdkEventAny-type :: <GdkEventType>;
+  slot GdkEventAny-window :: <GdkWindow>;
+  slot GdkEventAny-send-event :: <C-signed-char>;
+end;
+
+define C-pointer-type <GdkEventAny> => <_GdkEventAny>;
+
+define C-struct <_GdkRegion>
+end;
+
+define C-pointer-type <GdkRegion> => <_GdkRegion>;
+
+define C-struct <_GdkEventExpose>
+  slot GdkEventExpose-type :: <GdkEventType>;
+  slot GdkEventExpose-window :: <GdkWindow>;
+  slot GdkEventExpose-send-event :: <C-signed-char>;
+  slot GdkEventExpose-area :: <_GdkRectangle>;
+  slot GdkEventExpose-region :: <GdkRegion>;
+  slot GdkEventExpose-count :: <C-signed-int>;
+end;
+
+define C-pointer-type <GdkEventExpose> => <_GdkEventExpose>;
+
+define C-struct <_GdkEventNoExpose>
+  slot GdkEventNoExpose-type :: <GdkEventType>;
+  slot GdkEventNoExpose-window :: <GdkWindow>;
+  slot GdkEventNoExpose-send-event :: <C-signed-char>;
+end;
+
+define C-pointer-type <GdkEventNoExpose> => <_GdkEventNoExpose>;
+
+define constant <GdkVisibilityState> = <C-int>;
+define constant $GDK-VISIBILITY-UNOBSCURED = 0;
+define constant $GDK-VISIBILITY-PARTIAL = 1;
+define constant $GDK-VISIBILITY-FULLY-OBSCURED = 2;
+
+define C-struct <_GdkEventVisibility>
+  slot GdkEventVisibility-type :: <GdkEventType>;
+  slot GdkEventVisibility-window :: <GdkWindow>;
+  slot GdkEventVisibility-send-event :: <C-signed-char>;
+  slot GdkEventVisibility-state :: <GdkVisibilityState>;
+end;
+
+define C-pointer-type <GdkEventVisibility> => <_GdkEventVisibility>;
+
+define C-pointer-type <gdouble*> => <gdouble>;
+define constant <gint16> = <C-signed-short>;
+
+define constant <GdkInputSource> = <C-int>;
+define constant $GDK-SOURCE-MOUSE = 0;
+define constant $GDK-SOURCE-PEN = 1;
+define constant $GDK-SOURCE-ERASER = 2;
+define constant $GDK-SOURCE-CURSOR = 3;
+
+define constant <GdkInputMode> = <C-int>;
+define constant $GDK-MODE-DISABLED = 0;
+define constant $GDK-MODE-SCREEN = 1;
+define constant $GDK-MODE-WINDOW = 2;
+
+define constant <GdkAxisUse> = <C-int>;
+define constant $GDK-AXIS-IGNORE = 0;
+define constant $GDK-AXIS-X = 1;
+define constant $GDK-AXIS-Y = 2;
+define constant $GDK-AXIS-PRESSURE = 3;
+define constant $GDK-AXIS-XTILT = 4;
+define constant $GDK-AXIS-YTILT = 5;
+define constant $GDK-AXIS-WHEEL = 6;
+define constant $GDK-AXIS-LAST = 7;
+
+define C-struct <_GdkDeviceAxis>
+  slot GdkDeviceAxis-use :: <GdkAxisUse>;
+  slot GdkDeviceAxis-min :: <C-double>;
+  slot GdkDeviceAxis-max :: <C-double>;
+end;
+
+define C-pointer-type <GdkDeviceAxis> => <_GdkDeviceAxis>;
+
+define constant <GdkModifierType> = <C-int>;
+define constant $GDK-SHIFT-MASK = 1;
+define constant $GDK-LOCK-MASK = 2;
+define constant $GDK-CONTROL-MASK = 4;
+define constant $GDK-MOD1-MASK = 8;
+define constant $GDK-MOD2-MASK = 16;
+define constant $GDK-MOD3-MASK = 32;
+define constant $GDK-MOD4-MASK = 64;
+define constant $GDK-MOD5-MASK = 128;
+define constant $GDK-BUTTON1-MASK = 256;
+define constant $GDK-BUTTON2-MASK = 512;
+define constant $GDK-BUTTON3-MASK = 1024;
+define constant $GDK-BUTTON4-MASK = 2048;
+define constant $GDK-BUTTON5-MASK = 4096;
+define constant $GDK-SUPER-MASK = 67108864;
+define constant $GDK-HYPER-MASK = 134217728;
+define constant $GDK-META-MASK = 268435456;
+
+define C-struct <_GdkDeviceKey>
+  slot GdkDeviceKey-keyval :: <C-unsigned-int>;
+  slot GdkDeviceKey-modifiers :: <GdkModifierType>;
+end;
+
+define C-pointer-type <GdkDeviceKey> => <_GdkDeviceKey>;
+
+define C-subtype <_GdkDevice> (<_GObject>) end;
+define constant <GdkDevice> = <_GdkDevice>;
+
+define C-struct <_GdkEventMotion>
+  slot GdkEventMotion-type :: <GdkEventType>;
+  slot GdkEventMotion-window :: <GdkWindow>;
+  slot GdkEventMotion-send-event :: <C-signed-char>;
+  slot GdkEventMotion-time :: <C-unsigned-int>;
+  slot GdkEventMotion-x :: <C-double>;
+  slot GdkEventMotion-y :: <C-double>;
+  slot GdkEventMotion-axes :: <gdouble*>;
+  slot GdkEventMotion-state :: <C-unsigned-int>;
+  slot GdkEventMotion-is-hint :: <C-signed-short>;
+  slot GdkEventMotion-device :: <GdkDevice>;
+  slot GdkEventMotion-x-root :: <C-double>;
+  slot GdkEventMotion-y-root :: <C-double>;
+end;
+
+define C-pointer-type <GdkEventMotion> => <_GdkEventMotion>;
+
+define C-struct <_GdkEventButton>
+  slot GdkEventButton-type :: <GdkEventType>;
+  slot GdkEventButton-window :: <GdkWindow>;
+  slot GdkEventButton-send-event :: <C-signed-char>;
+  slot GdkEventButton-time :: <C-unsigned-int>;
+  slot GdkEventButton-x :: <C-double>;
+  slot GdkEventButton-y :: <C-double>;
+  slot GdkEventButton-axes :: <gdouble*>;
+  slot GdkEventButton-state :: <C-unsigned-int>;
+  slot GdkEventButton-button :: <C-unsigned-int>;
+  slot GdkEventButton-device :: <GdkDevice>;
+  slot GdkEventButton-x-root :: <C-double>;
+  slot GdkEventButton-y-root :: <C-double>;
+end;
+
+define C-pointer-type <GdkEventButton> => <_GdkEventButton>;
+
+define constant <GdkScrollDirection> = <C-int>;
+define constant $GDK-SCROLL-UP = 0;
+define constant $GDK-SCROLL-DOWN = 1;
+define constant $GDK-SCROLL-LEFT = 2;
+define constant $GDK-SCROLL-RIGHT = 3;
+
+define C-struct <_GdkEventScroll>
+  slot GdkEventScroll-type :: <GdkEventType>;
+  slot GdkEventScroll-window :: <GdkWindow>;
+  slot GdkEventScroll-send-event :: <C-signed-char>;
+  slot GdkEventScroll-time :: <C-unsigned-int>;
+  slot GdkEventScroll-x :: <C-double>;
+  slot GdkEventScroll-y :: <C-double>;
+  slot GdkEventScroll-state :: <C-unsigned-int>;
+  slot GdkEventScroll-direction :: <GdkScrollDirection>;
+  slot GdkEventScroll-device :: <GdkDevice>;
+  slot GdkEventScroll-x-root :: <C-double>;
+  slot GdkEventScroll-y-root :: <C-double>;
+end;
+
+define C-pointer-type <GdkEventScroll> => <_GdkEventScroll>;
+
+define C-struct <_GdkEventKey>
+  slot GdkEventKey-type :: <GdkEventType>;
+  slot GdkEventKey-window :: <GdkWindow>;
+  slot GdkEventKey-send-event :: <C-signed-char>;
+  slot GdkEventKey-time :: <C-unsigned-int>;
+  slot GdkEventKey-state :: <C-unsigned-int>;
+  slot GdkEventKey-keyval :: <C-unsigned-int>;
+  slot GdkEventKey-length :: <C-signed-int>;
+  slot GdkEventKey-string :: <gchar*>;
+  slot GdkEventKey-hardware-keycode :: <C-unsigned-short>;
+  slot GdkEventKey-group :: <C-unsigned-char>;
+  bitfield slot GdkEventKey-is-modifier :: <C-int>, width: 1;
+end;
+
+define C-pointer-type <GdkEventKey> => <_GdkEventKey>;
+
+define constant <GdkCrossingMode> = <C-int>;
+define constant $GDK-CROSSING-NORMAL = 0;
+define constant $GDK-CROSSING-GRAB = 1;
+define constant $GDK-CROSSING-UNGRAB = 2;
+
+define constant <GdkNotifyType> = <C-int>;
+define constant $GDK-NOTIFY-ANCESTOR = 0;
+define constant $GDK-NOTIFY-VIRTUAL = 1;
+define constant $GDK-NOTIFY-INFERIOR = 2;
+define constant $GDK-NOTIFY-NONLINEAR = 3;
+define constant $GDK-NOTIFY-NONLINEAR-VIRTUAL = 4;
+define constant $GDK-NOTIFY-UNKNOWN = 5;
+
+define C-struct <_GdkEventCrossing>
+  slot GdkEventCrossing-type :: <GdkEventType>;
+  slot GdkEventCrossing-window :: <GdkWindow>;
+  slot GdkEventCrossing-send-event :: <C-signed-char>;
+  slot GdkEventCrossing-subwindow :: <GdkWindow>;
+  slot GdkEventCrossing-time :: <C-unsigned-int>;
+  slot GdkEventCrossing-x :: <C-double>;
+  slot GdkEventCrossing-y :: <C-double>;
+  slot GdkEventCrossing-x-root :: <C-double>;
+  slot GdkEventCrossing-y-root :: <C-double>;
+  slot GdkEventCrossing-mode :: <GdkCrossingMode>;
+  slot GdkEventCrossing-detail :: <GdkNotifyType>;
+  slot GdkEventCrossing-focus :: <C-signed-int>;
+  slot GdkEventCrossing-state :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GdkEventCrossing> => <_GdkEventCrossing>;
+
+define C-struct <_GdkEventFocus>
+  slot GdkEventFocus-type :: <GdkEventType>;
+  slot GdkEventFocus-window :: <GdkWindow>;
+  slot GdkEventFocus-send-event :: <C-signed-char>;
+  slot GdkEventFocus-in :: <C-signed-short>;
+end;
+
+define C-pointer-type <GdkEventFocus> => <_GdkEventFocus>;
+
+define C-struct <_GdkEventConfigure>
+  slot GdkEventConfigure-type :: <GdkEventType>;
+  slot GdkEventConfigure-window :: <GdkWindow>;
+  slot GdkEventConfigure-send-event :: <C-signed-char>;
+  slot GdkEventConfigure-x :: <C-signed-int>;
+  slot GdkEventConfigure-y :: <C-signed-int>;
+  slot GdkEventConfigure-width :: <C-signed-int>;
+  slot GdkEventConfigure-height :: <C-signed-int>;
+end;
+
+define C-pointer-type <GdkEventConfigure> => <_GdkEventConfigure>;
+
+define C-struct <_GdkAtom>
+end;
+
+define constant <GdkAtom> = <_GdkAtom>;
+
+define C-struct <_GdkEventProperty>
+  slot GdkEventProperty-type :: <GdkEventType>;
+  slot GdkEventProperty-window :: <GdkWindow>;
+  slot GdkEventProperty-send-event :: <C-signed-char>;
+  slot GdkEventProperty-atom :: <_GdkAtom>;
+  slot GdkEventProperty-time :: <C-unsigned-int>;
+  slot GdkEventProperty-state :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GdkEventProperty> => <_GdkEventProperty>;
+
+define constant <GdkNativeWindow> = <guint32>;
+
+define C-struct <_GdkEventSelection>
+  slot GdkEventSelection-type :: <GdkEventType>;
+  slot GdkEventSelection-window :: <GdkWindow>;
+  slot GdkEventSelection-send-event :: <C-signed-char>;
+  slot GdkEventSelection-selection :: <_GdkAtom>;
+  slot GdkEventSelection-target :: <_GdkAtom>;
+  slot GdkEventSelection-property :: <_GdkAtom>;
+  slot GdkEventSelection-time :: <C-unsigned-int>;
+  slot GdkEventSelection-requestor :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GdkEventSelection> => <_GdkEventSelection>;
+
+define constant <GdkOwnerChange> = <C-int>;
+define constant $GDK-OWNER-CHANGE-NEW-OWNER = 0;
+define constant $GDK-OWNER-CHANGE-DESTROY = 1;
+define constant $GDK-OWNER-CHANGE-CLOSE = 2;
+
+define C-struct <_GdkEventOwnerChange>
+  slot GdkEventOwnerChange-type :: <GdkEventType>;
+  slot GdkEventOwnerChange-window :: <GdkWindow>;
+  slot GdkEventOwnerChange-send-event :: <C-signed-char>;
+  slot GdkEventOwnerChange-owner :: <C-unsigned-int>;
+  slot GdkEventOwnerChange-reason :: <GdkOwnerChange>;
+  slot GdkEventOwnerChange-selection :: <_GdkAtom>;
+  slot GdkEventOwnerChange-time :: <C-unsigned-int>;
+  slot GdkEventOwnerChange-selection-time :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GdkEventOwnerChange> => <_GdkEventOwnerChange>;
+
+define C-struct <_GdkEventProximity>
+  slot GdkEventProximity-type :: <GdkEventType>;
+  slot GdkEventProximity-window :: <GdkWindow>;
+  slot GdkEventProximity-send-event :: <C-signed-char>;
+  slot GdkEventProximity-time :: <C-unsigned-int>;
+  slot GdkEventProximity-device :: <GdkDevice>;
+end;
+
+define C-pointer-type <GdkEventProximity> => <_GdkEventProximity>;
+
+define constant <gushort> = <C-unsigned-short>;
+
+define C-pointer-type <char*> => <C-signed-char>;
+define constant <char<@20>> = <char*>;
+define C-pointer-type <short*> => <C-signed-short>;
+define constant <short<@10>> = <short*>;
+define C-pointer-type <long*> => <C-signed-long>;
+define constant <long<@5>> = <long*>;
+define C-subtype <anonymous-2684> (<C-void*>) end;
+define C-struct <_GdkEventClient>
+  slot GdkEventClient-type :: <GdkEventType>;
+  slot GdkEventClient-window :: <GdkWindow>;
+  slot GdkEventClient-send-event :: <C-signed-char>;
+  slot GdkEventClient-message-type :: <_GdkAtom>;
+  slot GdkEventClient-data-format :: <C-unsigned-short>;
+  slot GdkEventClient-data :: <anonymous-2684>;
+end;
+
+define C-pointer-type <GdkEventClient> => <_GdkEventClient>;
+
+define constant <GdkDragProtocol> = <C-int>;
+define constant $GDK-DRAG-PROTO-MOTIF = 0;
+define constant $GDK-DRAG-PROTO-XDND = 1;
+define constant $GDK-DRAG-PROTO-ROOTWIN = 2;
+define constant $GDK-DRAG-PROTO-NONE = 3;
+define constant $GDK-DRAG-PROTO-WIN32-DROPFILES = 4;
+define constant $GDK-DRAG-PROTO-OLE2 = 5;
+define constant $GDK-DRAG-PROTO-LOCAL = 6;
+
+define C-struct <_GList>
+  slot GList-data :: <C-void*>;
+  slot GList-next :: <GList>;
+  slot GList-prev :: <GList>;
+end;
+
+define C-pointer-type <GList> => <_GList>;
+
+define constant <GdkDragAction> = <C-int>;
+define constant $GDK-ACTION-DEFAULT = 1;
+define constant $GDK-ACTION-COPY = 2;
+define constant $GDK-ACTION-MOVE = 4;
+define constant $GDK-ACTION-LINK = 8;
+define constant $GDK-ACTION-PRIVATE = 16;
+define constant $GDK-ACTION-ASK = 32;
+
+define C-subtype <_GdkDragContext> (<_GObject>) end;
+define constant <GdkDragContext> = <_GdkDragContext>;
+
+define constant <gshort> = <C-signed-short>;
+
+define C-struct <_GdkEventDND>
+  slot GdkEventDND-type :: <GdkEventType>;
+  slot GdkEventDND-window :: <GdkWindow>;
+  slot GdkEventDND-send-event :: <C-signed-char>;
+  slot GdkEventDND-context :: <GdkDragContext>;
+  slot GdkEventDND-time :: <C-unsigned-int>;
+  slot GdkEventDND-x-root :: <C-signed-short>;
+  slot GdkEventDND-y-root :: <C-signed-short>;
+end;
+
+define C-pointer-type <GdkEventDND> => <_GdkEventDND>;
+
+define constant <GdkWindowState> = <C-int>;
+define constant $GDK-WINDOW-STATE-WITHDRAWN = 1;
+define constant $GDK-WINDOW-STATE-ICONIFIED = 2;
+define constant $GDK-WINDOW-STATE-MAXIMIZED = 4;
+define constant $GDK-WINDOW-STATE-STICKY = 8;
+define constant $GDK-WINDOW-STATE-FULLSCREEN = 16;
+define constant $GDK-WINDOW-STATE-ABOVE = 32;
+define constant $GDK-WINDOW-STATE-BELOW = 64;
+
+define C-struct <_GdkEventWindowState>
+  slot GdkEventWindowState-type :: <GdkEventType>;
+  slot GdkEventWindowState-window :: <GdkWindow>;
+  slot GdkEventWindowState-send-event :: <C-signed-char>;
+  slot GdkEventWindowState-changed-mask :: <GdkWindowState>;
+  slot GdkEventWindowState-new-window-state :: <GdkWindowState>;
+end;
+
+define C-pointer-type <GdkEventWindowState> => <_GdkEventWindowState>;
+
+define constant <GdkSettingAction> = <C-int>;
+define constant $GDK-SETTING-ACTION-NEW = 0;
+define constant $GDK-SETTING-ACTION-CHANGED = 1;
+define constant $GDK-SETTING-ACTION-DELETED = 2;
+
+define C-struct <_GdkEventSetting>
+  slot GdkEventSetting-type :: <GdkEventType>;
+  slot GdkEventSetting-window :: <GdkWindow>;
+  slot GdkEventSetting-send-event :: <C-signed-char>;
+  slot GdkEventSetting-action :: <GdkSettingAction>;
+  slot GdkEventSetting-name :: <char*>;
+end;
+
+define C-pointer-type <GdkEventSetting> => <_GdkEventSetting>;
+
+define C-struct <_GdkEventGrabBroken>
+  slot GdkEventGrabBroken-type :: <GdkEventType>;
+  slot GdkEventGrabBroken-window :: <GdkWindow>;
+  slot GdkEventGrabBroken-send-event :: <C-signed-char>;
+  slot GdkEventGrabBroken-keyboard :: <C-signed-int>;
+  slot GdkEventGrabBroken-implicit :: <C-signed-int>;
+  slot GdkEventGrabBroken-grab-window :: <GdkWindow>;
+end;
+
+define C-pointer-type <GdkEventGrabBroken> => <_GdkEventGrabBroken>;
+
+define C-subtype <_GdkEvent> (<C-void*>) end;
+define constant <GdkEvent> = <_GdkEvent>;
+
+define constant <anonymous-3818> = <C-function-pointer>;
+define constant <anonymous-3819> = <C-function-pointer>;
+define constant <anonymous-3820> = <C-function-pointer>;
+define constant <anonymous-3821> = <C-function-pointer>;
+define constant <anonymous-3822> = <C-function-pointer>;
+define constant <anonymous-3823> = <C-function-pointer>;
+define constant <anonymous-3824> = <C-function-pointer>;
+define constant <anonymous-3825> = <C-function-pointer>;
+define constant <anonymous-3826> = <C-function-pointer>;
+define constant <anonymous-3827> = <C-function-pointer>;
+define constant <anonymous-3828> = <C-function-pointer>;
+define constant <anonymous-3829> = <C-function-pointer>;
+define constant <anonymous-3830> = <C-function-pointer>;
+define constant <anonymous-3831> = <C-function-pointer>;
+define constant <anonymous-3832> = <C-function-pointer>;
+define constant <anonymous-3833> = <C-function-pointer>;
+define constant <anonymous-3834> = <C-function-pointer>;
+define constant <anonymous-3835> = <C-function-pointer>;
+define constant <anonymous-3836> = <C-function-pointer>;
+define constant <anonymous-3837> = <C-function-pointer>;
+define constant <anonymous-3838> = <C-function-pointer>;
+define constant <anonymous-3839> = <C-function-pointer>;
+define constant <anonymous-3840> = <C-function-pointer>;
+define constant <anonymous-3841> = <C-function-pointer>;
+define constant <anonymous-3842> = <C-function-pointer>;
+define constant <anonymous-3843> = <C-function-pointer>;
+define constant <anonymous-3844> = <C-function-pointer>;
+define C-pointer-type <guchar*> => <guchar>;
+define C-pointer-type <guint32*> => <guint32>;
+define constant <guint32<@2>> = <guint32*>;
+define C-pointer-type <GdkWindow*> => <GdkWindow>;
+define constant <GdkWindow<@2>> = <GdkWindow*>;
+define C-pointer-type <gint*> => <gint>;
+define constant <gint<@2>> = <gint*>;
+define constant <GdkGC<@32>> = <GdkGC*>;
+define C-struct <_cairo-font-options>
+end;
+
+define C-pointer-type <cairo-font-options-t> => <_cairo-font-options>;
+
+define C-subtype <_GdkScreen> (<_GObject>) end;
+define constant <GdkScreen> = <_GdkScreen>;
+
+define C-pointer-type <GdkScreen*> => <GdkScreen>;
+define C-pointer-type <GdkModifierType*> => <GdkModifierType>;
+define constant <anonymous-2713> = <C-function-pointer>;
+define constant <anonymous-2714> = <C-function-pointer>;
+define constant <anonymous-2715> = <C-function-pointer>;
+define C-struct <_GdkDisplayPointerHooks>
+  slot GdkDisplayPointerHooks-get-pointer :: <anonymous-2713>;
+  slot GdkDisplayPointerHooks-window-get-pointer :: <anonymous-2714>;
+  slot GdkDisplayPointerHooks-window-at-pointer :: <anonymous-2715>;
+end;
+
+define C-pointer-type <GdkDisplayPointerHooks> => <_GdkDisplayPointerHooks>;
+
+define C-subtype <_GdkDisplay> (<_GObject>) end;
+define constant <GdkDisplay> = <_GdkDisplay>;
+
+define C-struct <_GtkSelectionData>
+  slot GtkSelectionData-selection :: <_GdkAtom>;
+  slot GtkSelectionData-target :: <_GdkAtom>;
+  slot GtkSelectionData-type :: <_GdkAtom>;
+  slot GtkSelectionData-format :: <C-signed-int>;
+  slot GtkSelectionData-data :: <guchar*>;
+  slot GtkSelectionData-length :: <C-signed-int>;
+  slot GtkSelectionData-display :: <GdkDisplay>;
+end;
+
+define C-pointer-type <GtkSelectionData> => <_GtkSelectionData>;
+
+define constant <anonymous-3845> = <C-function-pointer>;
+define constant <anonymous-3846> = <C-function-pointer>;
+define constant <anonymous-3847> = <C-function-pointer>;
+define constant <anonymous-3848> = <C-function-pointer>;
+define constant <anonymous-3849> = <C-function-pointer>;
+define constant <anonymous-3850> = <C-function-pointer>;
+define constant <anonymous-3851> = <C-function-pointer>;
+define constant <anonymous-3852> = <C-function-pointer>;
+define constant <anonymous-3853> = <C-function-pointer>;
+define constant <anonymous-3854> = <C-function-pointer>;
+define constant <anonymous-3855> = <C-function-pointer>;
+define constant <GtkWidgetHelpType> = <C-int>;
+define constant $GTK-WIDGET-HELP-TOOLTIP = 0;
+define constant $GTK-WIDGET-HELP-WHATS-THIS = 1;
+
+define constant <anonymous-3856> = <C-function-pointer>;
+define constant <AtkRole> = <C-int>;
+define constant $ATK-ROLE-INVALID = 0;
+define constant $ATK-ROLE-ACCEL-LABEL = 1;
+define constant $ATK-ROLE-ALERT = 2;
+define constant $ATK-ROLE-ANIMATION = 3;
+define constant $ATK-ROLE-ARROW = 4;
+define constant $ATK-ROLE-CALENDAR = 5;
+define constant $ATK-ROLE-CANVAS = 6;
+define constant $ATK-ROLE-CHECK-BOX = 7;
+define constant $ATK-ROLE-CHECK-MENU-ITEM = 8;
+define constant $ATK-ROLE-COLOR-CHOOSER = 9;
+define constant $ATK-ROLE-COLUMN-HEADER = 10;
+define constant $ATK-ROLE-COMBO-BOX = 11;
+define constant $ATK-ROLE-DATE-EDITOR = 12;
+define constant $ATK-ROLE-DESKTOP-ICON = 13;
+define constant $ATK-ROLE-DESKTOP-FRAME = 14;
+define constant $ATK-ROLE-DIAL = 15;
+define constant $ATK-ROLE-DIALOG = 16;
+define constant $ATK-ROLE-DIRECTORY-PANE = 17;
+define constant $ATK-ROLE-DRAWING-AREA = 18;
+define constant $ATK-ROLE-FILE-CHOOSER = 19;
+define constant $ATK-ROLE-FILLER = 20;
+define constant $ATK-ROLE-FONT-CHOOSER = 21;
+define constant $ATK-ROLE-FRAME = 22;
+define constant $ATK-ROLE-GLASS-PANE = 23;
+define constant $ATK-ROLE-HTML-CONTAINER = 24;
+define constant $ATK-ROLE-ICON = 25;
+define constant $ATK-ROLE-IMAGE = 26;
+define constant $ATK-ROLE-INTERNAL-FRAME = 27;
+define constant $ATK-ROLE-LABEL = 28;
+define constant $ATK-ROLE-LAYERED-PANE = 29;
+define constant $ATK-ROLE-LIST = 30;
+define constant $ATK-ROLE-LIST-ITEM = 31;
+define constant $ATK-ROLE-MENU = 32;
+define constant $ATK-ROLE-MENU-BAR = 33;
+define constant $ATK-ROLE-MENU-ITEM = 34;
+define constant $ATK-ROLE-OPTION-PANE = 35;
+define constant $ATK-ROLE-PAGE-TAB = 36;
+define constant $ATK-ROLE-PAGE-TAB-LIST = 37;
+define constant $ATK-ROLE-PANEL = 38;
+define constant $ATK-ROLE-PASSWORD-TEXT = 39;
+define constant $ATK-ROLE-POPUP-MENU = 40;
+define constant $ATK-ROLE-PROGRESS-BAR = 41;
+define constant $ATK-ROLE-PUSH-BUTTON = 42;
+define constant $ATK-ROLE-RADIO-BUTTON = 43;
+define constant $ATK-ROLE-RADIO-MENU-ITEM = 44;
+define constant $ATK-ROLE-ROOT-PANE = 45;
+define constant $ATK-ROLE-ROW-HEADER = 46;
+define constant $ATK-ROLE-SCROLL-BAR = 47;
+define constant $ATK-ROLE-SCROLL-PANE = 48;
+define constant $ATK-ROLE-SEPARATOR = 49;
+define constant $ATK-ROLE-SLIDER = 50;
+define constant $ATK-ROLE-SPLIT-PANE = 51;
+define constant $ATK-ROLE-SPIN-BUTTON = 52;
+define constant $ATK-ROLE-STATUSBAR = 53;
+define constant $ATK-ROLE-TABLE = 54;
+define constant $ATK-ROLE-TABLE-CELL = 55;
+define constant $ATK-ROLE-TABLE-COLUMN-HEADER = 56;
+define constant $ATK-ROLE-TABLE-ROW-HEADER = 57;
+define constant $ATK-ROLE-TEAR-OFF-MENU-ITEM = 58;
+define constant $ATK-ROLE-TERMINAL = 59;
+define constant $ATK-ROLE-TEXT = 60;
+define constant $ATK-ROLE-TOGGLE-BUTTON = 61;
+define constant $ATK-ROLE-TOOL-BAR = 62;
+define constant $ATK-ROLE-TOOL-TIP = 63;
+define constant $ATK-ROLE-TREE = 64;
+define constant $ATK-ROLE-TREE-TABLE = 65;
+define constant $ATK-ROLE-UNKNOWN = 66;
+define constant $ATK-ROLE-VIEWPORT = 67;
+define constant $ATK-ROLE-WINDOW = 68;
+define constant $ATK-ROLE-HEADER = 69;
+define constant $ATK-ROLE-FOOTER = 70;
+define constant $ATK-ROLE-PARAGRAPH = 71;
+define constant $ATK-ROLE-RULER = 72;
+define constant $ATK-ROLE-APPLICATION = 73;
+define constant $ATK-ROLE-AUTOCOMPLETE = 74;
+define constant $ATK-ROLE-EDITBAR = 75;
+define constant $ATK-ROLE-EMBEDDED = 76;
+define constant $ATK-ROLE-ENTRY = 77;
+define constant $ATK-ROLE-CHART = 78;
+define constant $ATK-ROLE-CAPTION = 79;
+define constant $ATK-ROLE-DOCUMENT-FRAME = 80;
+define constant $ATK-ROLE-HEADING = 81;
+define constant $ATK-ROLE-PAGE = 82;
+define constant $ATK-ROLE-SECTION = 83;
+define constant $ATK-ROLE-REDUNDANT-OBJECT = 84;
+define constant $ATK-ROLE-FORM = 85;
+define constant $ATK-ROLE-LINK = 86;
+define constant $ATK-ROLE-INPUT-METHOD-WINDOW = 87;
+define constant $ATK-ROLE-LAST-DEFINED = 88;
+
+define C-struct <_GPtrArray>
+  slot GPtrArray-pdata :: <gpointer*>;
+  slot GPtrArray-len :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GPtrArray> => <_GPtrArray>;
+
+define C-subtype <_AtkRelationSet> (<_GObject>) end;
+define constant <AtkRelationSet> = <_AtkRelationSet>;
+
+define constant <AtkLayer> = <C-int>;
+define constant $ATK-LAYER-INVALID = 0;
+define constant $ATK-LAYER-BACKGROUND = 1;
+define constant $ATK-LAYER-CANVAS = 2;
+define constant $ATK-LAYER-WIDGET = 3;
+define constant $ATK-LAYER-MDI = 4;
+define constant $ATK-LAYER-POPUP = 5;
+define constant $ATK-LAYER-OVERLAY = 6;
+define constant $ATK-LAYER-WINDOW = 7;
+
+define C-subtype <_AtkObject> (<_GObject>) end;
+define constant <AtkObject> = <_AtkObject>;
+
+define constant <anonymous-3857> = <C-function-pointer>;
+define constant <anonymous-3858> = <C-function-pointer>;
+define constant <anonymous-3859> = <C-function-pointer>;
+define constant <anonymous-3860> = <C-function-pointer>;
+define constant <anonymous-3861> = <C-function-pointer>;
+define C-struct <_GtkTooltip>
+end;
+
+define C-pointer-type <GtkTooltip> => <_GtkTooltip>;
+
+define constant <anonymous-3862> = <C-function-pointer>;
+define constant <anonymous-3863> = <C-function-pointer>;
+define constant <anonymous-3864> = <C-function-pointer>;
+define constant <anonymous-3865> = <C-function-pointer>;
+define C-struct <_GtkWidgetClass>
+  slot GtkWidgetClass-parent-class :: <_GtkObjectClass>;
+  slot GtkWidgetClass-activate-signal :: <C-unsigned-int>;
+  slot GtkWidgetClass-set-scroll-adjustments-signal :: <C-unsigned-int>;
+  slot GtkWidgetClass-dispatch-child-properties-changed :: <anonymous-3797>;
+  slot GtkWidgetClass-show :: <anonymous-3798>;
+  slot GtkWidgetClass-show-all :: <anonymous-3799>;
+  slot GtkWidgetClass-hide :: <anonymous-3800>;
+  slot GtkWidgetClass-hide-all :: <anonymous-3801>;
+  slot GtkWidgetClass-map :: <anonymous-3802>;
+  slot GtkWidgetClass-unmap :: <anonymous-3803>;
+  slot GtkWidgetClass-realize :: <anonymous-3804>;
+  slot GtkWidgetClass-unrealize :: <anonymous-3805>;
+  slot GtkWidgetClass-size-request :: <anonymous-3806>;
+  slot GtkWidgetClass-size-allocate :: <anonymous-3807>;
+  slot GtkWidgetClass-state-changed :: <anonymous-3808>;
+  slot GtkWidgetClass-parent-set :: <anonymous-3809>;
+  slot GtkWidgetClass-hierarchy-changed :: <anonymous-3810>;
+  slot GtkWidgetClass-style-set :: <anonymous-3811>;
+  slot GtkWidgetClass-direction-changed :: <anonymous-3812>;
+  slot GtkWidgetClass-grab-notify :: <anonymous-3813>;
+  slot GtkWidgetClass-child-notify :: <anonymous-3814>;
+  slot GtkWidgetClass-mnemonic-activate :: <anonymous-3815>;
+  slot GtkWidgetClass-grab-focus :: <anonymous-3816>;
+  slot GtkWidgetClass-focus :: <anonymous-3817>;
+  slot GtkWidgetClass-event :: <anonymous-3818>;
+  slot GtkWidgetClass-button-press-event :: <anonymous-3819>;
+  slot GtkWidgetClass-button-release-event :: <anonymous-3820>;
+  slot GtkWidgetClass-scroll-event :: <anonymous-3821>;
+  slot GtkWidgetClass-motion-notify-event :: <anonymous-3822>;
+  slot GtkWidgetClass-delete-event :: <anonymous-3823>;
+  slot GtkWidgetClass-destroy-event :: <anonymous-3824>;
+  slot GtkWidgetClass-expose-event :: <anonymous-3825>;
+  slot GtkWidgetClass-key-press-event :: <anonymous-3826>;
+  slot GtkWidgetClass-key-release-event :: <anonymous-3827>;
+  slot GtkWidgetClass-enter-notify-event :: <anonymous-3828>;
+  slot GtkWidgetClass-leave-notify-event :: <anonymous-3829>;
+  slot GtkWidgetClass-configure-event :: <anonymous-3830>;
+  slot GtkWidgetClass-focus-in-event :: <anonymous-3831>;
+  slot GtkWidgetClass-focus-out-event :: <anonymous-3832>;
+  slot GtkWidgetClass-map-event :: <anonymous-3833>;
+  slot GtkWidgetClass-unmap-event :: <anonymous-3834>;
+  slot GtkWidgetClass-property-notify-event :: <anonymous-3835>;
+  slot GtkWidgetClass-selection-clear-event :: <anonymous-3836>;
+  slot GtkWidgetClass-selection-request-event :: <anonymous-3837>;
+  slot GtkWidgetClass-selection-notify-event :: <anonymous-3838>;
+  slot GtkWidgetClass-proximity-in-event :: <anonymous-3839>;
+  slot GtkWidgetClass-proximity-out-event :: <anonymous-3840>;
+  slot GtkWidgetClass-visibility-notify-event :: <anonymous-3841>;
+  slot GtkWidgetClass-client-event :: <anonymous-3842>;
+  slot GtkWidgetClass-no-expose-event :: <anonymous-3843>;
+  slot GtkWidgetClass-window-state-event :: <anonymous-3844>;
+  slot GtkWidgetClass-selection-get :: <anonymous-3845>;
+  slot GtkWidgetClass-selection-received :: <anonymous-3846>;
+  slot GtkWidgetClass-drag-begin :: <anonymous-3847>;
+  slot GtkWidgetClass-drag-end :: <anonymous-3848>;
+  slot GtkWidgetClass-drag-data-get :: <anonymous-3849>;
+  slot GtkWidgetClass-drag-data-delete :: <anonymous-3850>;
+  slot GtkWidgetClass-drag-leave :: <anonymous-3851>;
+  slot GtkWidgetClass-drag-motion :: <anonymous-3852>;
+  slot GtkWidgetClass-drag-drop :: <anonymous-3853>;
+  slot GtkWidgetClass-drag-data-received :: <anonymous-3854>;
+  slot GtkWidgetClass-popup-menu :: <anonymous-3855>;
+  slot GtkWidgetClass-show-help :: <anonymous-3856>;
+  slot GtkWidgetClass-get-accessible :: <anonymous-3857>;
+  slot GtkWidgetClass-screen-changed :: <anonymous-3858>;
+  slot GtkWidgetClass-can-activate-accel :: <anonymous-3859>;
+  slot GtkWidgetClass-grab-broken-event :: <anonymous-3860>;
+  slot GtkWidgetClass-composited-changed :: <anonymous-3861>;
+  slot GtkWidgetClass-query-tooltip :: <anonymous-3862>;
+  slot GtkWidgetClass-_gtk-reserved5 :: <anonymous-3863>;
+  slot GtkWidgetClass-_gtk-reserved6 :: <anonymous-3864>;
+  slot GtkWidgetClass-_gtk-reserved7 :: <anonymous-3865>;
+end;
+
+define C-pointer-type <GtkWidgetClass> => <_GtkWidgetClass>;
+
+define C-subtype <_GtkContainer> (<_GtkWidget>, <_AtkImplementorIface>) end;
+define constant <GtkContainer> = <_GtkContainer>;
+
+define constant <anonymous-4027> = <C-function-pointer>;
+define constant <anonymous-4028> = <C-function-pointer>;
+define constant <anonymous-4029> = <C-function-pointer>;
+define constant <anonymous-3796> = <C-function-pointer>;
+define constant <GtkCallback> = <anonymous-3796>;
+
+define constant <anonymous-4030> = <C-function-pointer>;
+define constant <anonymous-4031> = <C-function-pointer>;
+define constant <anonymous-4032> = <C-function-pointer>;
+define constant <anonymous-4033> = <C-function-pointer>;
+define constant <anonymous-4034> = <C-function-pointer>;
+define constant <anonymous-4035> = <C-function-pointer>;
+define constant <anonymous-4036> = <C-function-pointer>;
+define constant <anonymous-4037> = <C-function-pointer>;
+define constant <anonymous-4038> = <C-function-pointer>;
+define constant <anonymous-4039> = <C-function-pointer>;
+define C-struct <_GtkContainerClass>
+  slot GtkContainerClass-parent-class :: <_GtkWidgetClass>;
+  slot GtkContainerClass-add :: <anonymous-4027>;
+  slot GtkContainerClass-remove :: <anonymous-4028>;
+  slot GtkContainerClass-check-resize :: <anonymous-4029>;
+  slot GtkContainerClass-forall :: <anonymous-4030>;
+  slot GtkContainerClass-set-focus-child :: <anonymous-4031>;
+  slot GtkContainerClass-child-type :: <anonymous-4032>;
+  slot GtkContainerClass-composite-name :: <anonymous-4033>;
+  slot GtkContainerClass-set-child-property :: <anonymous-4034>;
+  slot GtkContainerClass-get-child-property :: <anonymous-4035>;
+  slot GtkContainerClass-_gtk-reserved1 :: <anonymous-4036>;
+  slot GtkContainerClass-_gtk-reserved2 :: <anonymous-4037>;
+  slot GtkContainerClass-_gtk-reserved3 :: <anonymous-4038>;
+  slot GtkContainerClass-_gtk-reserved4 :: <anonymous-4039>;
+end;
+
+define C-pointer-type <GtkContainerClass> => <_GtkContainerClass>;
+
+define C-struct <_GtkBinClass>
+  slot GtkBinClass-parent-class :: <_GtkContainerClass>;
+end;
+
+define C-pointer-type <GtkBinClass> => <_GtkBinClass>;
+
+define C-subtype <_GtkBin> (<_GtkContainer>, <_AtkImplementorIface>) end;
+define constant <GtkBin> = <_GtkBin>;
+
+define C-struct <_GtkWindowGeometryInfo>
+end;
+
+define C-pointer-type <GtkWindowGeometryInfo> => <_GtkWindowGeometryInfo>;
+
+define C-subtype <_GtkWindowGroup> (<_GObject>) end;
+define constant <GtkWindowGroup> = <_GtkWindowGroup>;
+
+define C-subtype <_GtkWindow> (<_GtkBin>, <_AtkImplementorIface>) end;
+define constant <GtkWindow> = <_GtkWindow>;
+
+define constant <anonymous-4101> = <C-function-pointer>;
+define constant <anonymous-4102> = <C-function-pointer>;
+define constant <anonymous-4103> = <C-function-pointer>;
+define constant <anonymous-4104> = <C-function-pointer>;
+define constant <anonymous-4105> = <C-function-pointer>;
+define constant <anonymous-4106> = <C-function-pointer>;
+define constant <anonymous-4107> = <C-function-pointer>;
+define constant <anonymous-4108> = <C-function-pointer>;
+define constant <anonymous-4109> = <C-function-pointer>;
+define constant <anonymous-4110> = <C-function-pointer>;
+define C-struct <_GtkWindowClass>
+  slot GtkWindowClass-parent-class :: <_GtkBinClass>;
+  slot GtkWindowClass-set-focus :: <anonymous-4101>;
+  slot GtkWindowClass-frame-event :: <anonymous-4102>;
+  slot GtkWindowClass-activate-focus :: <anonymous-4103>;
+  slot GtkWindowClass-activate-default :: <anonymous-4104>;
+  slot GtkWindowClass-move-focus :: <anonymous-4105>;
+  slot GtkWindowClass-keys-changed :: <anonymous-4106>;
+  slot GtkWindowClass-_gtk-reserved1 :: <anonymous-4107>;
+  slot GtkWindowClass-_gtk-reserved2 :: <anonymous-4108>;
+  slot GtkWindowClass-_gtk-reserved3 :: <anonymous-4109>;
+  slot GtkWindowClass-_gtk-reserved4 :: <anonymous-4110>;
+end;
+
+define C-pointer-type <GtkWindowClass> => <_GtkWindowClass>;
+
+define C-pointer-type <GObjectClass> => <_GObjectClass>;
+
+define constant <anonymous-4111> = <C-function-pointer>;
+define constant <anonymous-4112> = <C-function-pointer>;
+define constant <anonymous-4113> = <C-function-pointer>;
+define constant <anonymous-4114> = <C-function-pointer>;
+define C-struct <_GtkWindowGroupClass>
+  slot GtkWindowGroupClass-parent-class :: <_GObjectClass>;
+  slot GtkWindowGroupClass-_gtk-reserved1 :: <anonymous-4111>;
+  slot GtkWindowGroupClass-_gtk-reserved2 :: <anonymous-4112>;
+  slot GtkWindowGroupClass-_gtk-reserved3 :: <anonymous-4113>;
+  slot GtkWindowGroupClass-_gtk-reserved4 :: <anonymous-4114>;
+end;
+
+define C-pointer-type <GtkWindowGroupClass> => <_GtkWindowGroupClass>;
+
+define C-function gtk-window-get-type
+  result res :: <GType>;
+  c-name: "gtk_window_get_type";
+end;
+
+define constant <GtkWindowType> = <C-int>;
+define constant $GTK-WINDOW-TOPLEVEL = 0;
+define constant $GTK-WINDOW-POPUP = 1;
+
+define C-function gtk-window-new
+  input parameter arg1 :: <GtkWindowType>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_window_new";
+end;
+
+define C-function gtk-window-set-title
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_window_set_title";
+end;
+
+define C-function gtk-window-get-title
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gchar*>;
+  c-name: "gtk_window_get_title";
+end;
+
+define C-function gtk-window-set-wmclass
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <gchar*>;
+  c-name: "gtk_window_set_wmclass";
+end;
+
+define C-function gtk-window-set-role
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_window_set_role";
+end;
+
+define C-function gtk-window-set-startup-id
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_window_set_startup_id";
+end;
+
+define C-function gtk-window-get-role
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gchar*>;
+  c-name: "gtk_window_get_role";
+end;
+
+define C-struct <_GtkAccelKey>
+  slot GtkAccelKey-accel-key :: <C-unsigned-int>;
+  slot GtkAccelKey-accel-mods :: <GdkModifierType>;
+  bitfield slot GtkAccelKey-accel-flags :: <C-int>, width: 16;
+end;
+
+define C-pointer-type <GtkAccelKey> => <_GtkAccelKey>;
+
+define constant <anonymous-1680> = <C-function-pointer>;
+define constant <anonymous-1668> = <C-function-pointer>;
+define constant <GClosureNotify> = <anonymous-1668>;
+
+define C-struct <_GClosureNotifyData>
+  slot GClosureNotifyData-data :: <C-void*>;
+  slot GClosureNotifyData-notify :: <anonymous-1668>;
+end;
+
+define C-pointer-type <GClosureNotifyData> => <_GClosureNotifyData>;
+
+define C-struct <_GClosure>
+  bitfield slot GClosure-ref-count :: <C-int>, width: 15;
+  bitfield slot GClosure-meta-marshal :: <C-int>, width: 1;
+  bitfield slot GClosure-n-guards :: <C-int>, width: 1;
+  bitfield slot GClosure-n-fnotifiers :: <C-int>, width: 2;
+  bitfield slot GClosure-n-inotifiers :: <C-int>, width: 8;
+  bitfield slot GClosure-in-inotify :: <C-int>, width: 1;
+  bitfield slot GClosure-floating :: <C-int>, width: 1;
+  bitfield slot GClosure-derivative-flag :: <C-int>, width: 1;
+  bitfield slot GClosure-in-marshal :: <C-int>, width: 1;
+  bitfield slot GClosure-is-invalid :: <C-int>, width: 1;
+  slot GClosure-marshal :: <anonymous-1680>;
+  slot GClosure-data :: <C-void*>;
+  slot GClosure-notifiers :: <GClosureNotifyData>;
+end;
+
+define C-pointer-type <GClosure> => <_GClosure>;
+
+define constant <GQuark> = <guint32>;
+
+define C-struct <_GtkAccelGroupEntry>
+  slot GtkAccelGroupEntry-key :: <_GtkAccelKey>;
+  slot GtkAccelGroupEntry-closure :: <GClosure>;
+  slot GtkAccelGroupEntry-accel-path-quark :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GtkAccelGroupEntry> => <_GtkAccelGroupEntry>;
+
+define C-subtype <_GtkAccelGroup> (<_GObject>) end;
+define constant <GtkAccelGroup> = <_GtkAccelGroup>;
+
+define C-function gtk-window-add-accel-group
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkAccelGroup>;
+  c-name: "gtk_window_add_accel_group";
+end;
+
+define C-function gtk-window-remove-accel-group
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkAccelGroup>;
+  c-name: "gtk_window_remove_accel_group";
+end;
+
+define constant <GtkWindowPosition> = <C-int>;
+define constant $GTK-WIN-POS-NONE = 0;
+define constant $GTK-WIN-POS-CENTER = 1;
+define constant $GTK-WIN-POS-MOUSE = 2;
+define constant $GTK-WIN-POS-CENTER-ALWAYS = 3;
+define constant $GTK-WIN-POS-CENTER-ON-PARENT = 4;
+
+define C-function gtk-window-set-position
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkWindowPosition>;
+  c-name: "gtk_window_set_position";
+end;
+
+define C-function gtk-window-activate-focus
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_activate_focus";
+end;
+
+define C-function gtk-window-set-focus
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkWidget>;
+  c-name: "gtk_window_set_focus";
+end;
+
+define C-function gtk-window-get-focus
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_window_get_focus";
+end;
+
+define C-function gtk-window-set-default
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkWidget>;
+  c-name: "gtk_window_set_default";
+end;
+
+define C-function gtk-window-activate-default
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_activate_default";
+end;
+
+define C-function gtk-window-set-transient-for
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkWindow>;
+  c-name: "gtk_window_set_transient_for";
+end;
+
+define C-function gtk-window-get-transient-for
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GtkWindow>;
+  c-name: "gtk_window_get_transient_for";
+end;
+
+define C-function gtk-window-set-opacity
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gdouble>;
+  c-name: "gtk_window_set_opacity";
+end;
+
+define C-function gtk-window-get-opacity
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gdouble>;
+  c-name: "gtk_window_get_opacity";
+end;
+
+define constant <GdkWindowTypeHint> = <C-int>;
+define constant $GDK-WINDOW-TYPE-HINT-NORMAL = 0;
+define constant $GDK-WINDOW-TYPE-HINT-DIALOG = 1;
+define constant $GDK-WINDOW-TYPE-HINT-MENU = 2;
+define constant $GDK-WINDOW-TYPE-HINT-TOOLBAR = 3;
+define constant $GDK-WINDOW-TYPE-HINT-SPLASHSCREEN = 4;
+define constant $GDK-WINDOW-TYPE-HINT-UTILITY = 5;
+define constant $GDK-WINDOW-TYPE-HINT-DOCK = 6;
+define constant $GDK-WINDOW-TYPE-HINT-DESKTOP = 7;
+define constant $GDK-WINDOW-TYPE-HINT-DROPDOWN-MENU = 8;
+define constant $GDK-WINDOW-TYPE-HINT-POPUP-MENU = 9;
+define constant $GDK-WINDOW-TYPE-HINT-TOOLTIP = 10;
+define constant $GDK-WINDOW-TYPE-HINT-NOTIFICATION = 11;
+define constant $GDK-WINDOW-TYPE-HINT-COMBO = 12;
+define constant $GDK-WINDOW-TYPE-HINT-DND = 13;
+
+define C-function gtk-window-set-type-hint
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkWindowTypeHint>;
+  c-name: "gtk_window_set_type_hint";
+end;
+
+define C-function gtk-window-get-type-hint
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GdkWindowTypeHint>;
+  c-name: "gtk_window_get_type_hint";
+end;
+
+define C-function gtk-window-set-skip-taskbar-hint
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_skip_taskbar_hint";
+end;
+
+define C-function gtk-window-get-skip-taskbar-hint
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_skip_taskbar_hint";
+end;
+
+define C-function gtk-window-set-skip-pager-hint
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_skip_pager_hint";
+end;
+
+define C-function gtk-window-get-skip-pager-hint
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_skip_pager_hint";
+end;
+
+define C-function gtk-window-set-urgency-hint
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_urgency_hint";
+end;
+
+define C-function gtk-window-get-urgency-hint
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_urgency_hint";
+end;
+
+define C-function gtk-window-set-accept-focus
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_accept_focus";
+end;
+
+define C-function gtk-window-get-accept-focus
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_accept_focus";
+end;
+
+define C-function gtk-window-set-focus-on-map
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_focus_on_map";
+end;
+
+define C-function gtk-window-get-focus-on-map
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_focus_on_map";
+end;
+
+define C-function gtk-window-set-destroy-with-parent
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_destroy_with_parent";
+end;
+
+define C-function gtk-window-get-destroy-with-parent
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_destroy_with_parent";
+end;
+
+define C-function gtk-window-set-resizable
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_resizable";
+end;
+
+define C-function gtk-window-get-resizable
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_resizable";
+end;
+
+define constant <GdkGravity> = <C-int>;
+define constant $GDK-GRAVITY-NORTH-WEST = 1;
+define constant $GDK-GRAVITY-NORTH = 2;
+define constant $GDK-GRAVITY-NORTH-EAST = 3;
+define constant $GDK-GRAVITY-WEST = 4;
+define constant $GDK-GRAVITY-CENTER = 5;
+define constant $GDK-GRAVITY-EAST = 6;
+define constant $GDK-GRAVITY-SOUTH-WEST = 7;
+define constant $GDK-GRAVITY-SOUTH = 8;
+define constant $GDK-GRAVITY-SOUTH-EAST = 9;
+define constant $GDK-GRAVITY-STATIC = 10;
+
+define C-function gtk-window-set-gravity
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkGravity>;
+  c-name: "gtk_window_set_gravity";
+end;
+
+define C-function gtk-window-get-gravity
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GdkGravity>;
+  c-name: "gtk_window_get_gravity";
+end;
+
+define C-struct <_GdkGeometry>
+  slot GdkGeometry-min-width :: <C-signed-int>;
+  slot GdkGeometry-min-height :: <C-signed-int>;
+  slot GdkGeometry-max-width :: <C-signed-int>;
+  slot GdkGeometry-max-height :: <C-signed-int>;
+  slot GdkGeometry-base-width :: <C-signed-int>;
+  slot GdkGeometry-base-height :: <C-signed-int>;
+  slot GdkGeometry-width-inc :: <C-signed-int>;
+  slot GdkGeometry-height-inc :: <C-signed-int>;
+  slot GdkGeometry-min-aspect :: <C-double>;
+  slot GdkGeometry-max-aspect :: <C-double>;
+  slot GdkGeometry-win-gravity :: <GdkGravity>;
+end;
+
+define C-pointer-type <GdkGeometry> => <_GdkGeometry>;
+
+define constant <GdkWindowHints> = <C-int>;
+define constant $GDK-HINT-POS = 1;
+define constant $GDK-HINT-MIN-SIZE = 2;
+define constant $GDK-HINT-MAX-SIZE = 4;
+define constant $GDK-HINT-BASE-SIZE = 8;
+define constant $GDK-HINT-ASPECT = 16;
+define constant $GDK-HINT-RESIZE-INC = 32;
+define constant $GDK-HINT-WIN-GRAVITY = 64;
+define constant $GDK-HINT-USER-POS = 128;
+define constant $GDK-HINT-USER-SIZE = 256;
+
+define C-function gtk-window-set-geometry-hints
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GtkWidget>;
+  input parameter arg3 :: <GdkGeometry>;
+  input parameter arg4 :: <GdkWindowHints>;
+  c-name: "gtk_window_set_geometry_hints";
+end;
+
+define C-function gtk-window-set-screen
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkScreen>;
+  c-name: "gtk_window_set_screen";
+end;
+
+define C-function gtk-window-get-screen
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GdkScreen>;
+  c-name: "gtk_window_get_screen";
+end;
+
+define C-function gtk-window-is-active
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_is_active";
+end;
+
+define C-function gtk-window-has-toplevel-focus
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_has_toplevel_focus";
+end;
+
+define C-function gtk-window-set-has-frame
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_has_frame";
+end;
+
+define C-function gtk-window-get-has-frame
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_has_frame";
+end;
+
+define C-function gtk-window-set-frame-dimensions
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  input parameter arg5 :: <gint>;
+  c-name: "gtk_window_set_frame_dimensions";
+end;
+
+define C-function gtk-window-get-frame-dimensions
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint*>;
+  input parameter arg3 :: <gint*>;
+  input parameter arg4 :: <gint*>;
+  input parameter arg5 :: <gint*>;
+  c-name: "gtk_window_get_frame_dimensions";
+end;
+
+define C-function gtk-window-set-decorated
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_decorated";
+end;
+
+define C-function gtk-window-get-decorated
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_decorated";
+end;
+
+define C-function gtk-window-set-deletable
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_deletable";
+end;
+
+define C-function gtk-window-get-deletable
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_deletable";
+end;
+
+define C-function gtk-window-set-icon-list
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GList>;
+  c-name: "gtk_window_set_icon_list";
+end;
+
+define C-function gtk-window-get-icon-list
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GList>;
+  c-name: "gtk_window_get_icon_list";
+end;
+
+define C-subtype <_GdkPixbuf> (<_GObject>) end;
+define constant <GdkPixbuf> = <_GdkPixbuf>;
+
+define C-function gtk-window-set-icon
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkPixbuf>;
+  c-name: "gtk_window_set_icon";
+end;
+
+define C-function gtk-window-set-icon-name
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_window_set_icon_name";
+end;
+
+define C-struct <_GError>
+  slot GError-domain :: <C-unsigned-int>;
+  slot GError-code :: <C-signed-int>;
+  slot GError-message :: <gchar*>;
+end;
+
+define C-pointer-type <GError> => <_GError>;
+
+define C-pointer-type <GError*> => <GError>;
+define C-function gtk-window-set-icon-from-file
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <GError*>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_set_icon_from_file";
+end;
+
+define C-function gtk-window-get-icon
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GdkPixbuf>;
+  c-name: "gtk_window_get_icon";
+end;
+
+define C-function gtk-window-get-icon-name
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gchar*>;
+  c-name: "gtk_window_get_icon_name";
+end;
+
+define C-function gtk-window-set-default-icon-list
+  input parameter arg1 :: <GList>;
+  c-name: "gtk_window_set_default_icon_list";
+end;
+
+define C-function gtk-window-get-default-icon-list
+  result res :: <GList>;
+  c-name: "gtk_window_get_default_icon_list";
+end;
+
+define C-function gtk-window-set-default-icon
+  input parameter arg1 :: <GdkPixbuf>;
+  c-name: "gtk_window_set_default_icon";
+end;
+
+define C-function gtk-window-set-default-icon-name
+  input parameter arg1 :: <gchar*>;
+  c-name: "gtk_window_set_default_icon_name";
+end;
+
+define C-function gtk-window-set-default-icon-from-file
+  input parameter arg1 :: <gchar*>;
+  input parameter arg2 :: <GError*>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_set_default_icon_from_file";
+end;
+
+define C-function gtk-window-set-auto-startup-notification
+  input parameter arg1 :: <gboolean>;
+  c-name: "gtk_window_set_auto_startup_notification";
+end;
+
+define C-function gtk-window-set-modal
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_modal";
+end;
+
+define C-function gtk-window-get-modal
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_get_modal";
+end;
+
+define C-function gtk-window-list-toplevels
+  result res :: <GList>;
+  c-name: "gtk_window_list_toplevels";
+end;
+
+define C-function gtk-window-add-mnemonic
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <guint>;
+  input parameter arg3 :: <GtkWidget>;
+  c-name: "gtk_window_add_mnemonic";
+end;
+
+define C-function gtk-window-remove-mnemonic
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <guint>;
+  input parameter arg3 :: <GtkWidget>;
+  c-name: "gtk_window_remove_mnemonic";
+end;
+
+define C-function gtk-window-mnemonic-activate
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <guint>;
+  input parameter arg3 :: <GdkModifierType>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_mnemonic_activate";
+end;
+
+define C-function gtk-window-set-mnemonic-modifier
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkModifierType>;
+  c-name: "gtk_window_set_mnemonic_modifier";
+end;
+
+define C-function gtk-window-get-mnemonic-modifier
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GdkModifierType>;
+  c-name: "gtk_window_get_mnemonic_modifier";
+end;
+
+define C-function gtk-window-activate-key
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkEventKey>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_activate_key";
+end;
+
+define C-function gtk-window-propagate-key-event
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkEventKey>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_propagate_key_event";
+end;
+
+define C-function gtk-window-present
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_present";
+end;
+
+define C-function gtk-window-present-with-time
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <guint32>;
+  c-name: "gtk_window_present_with_time";
+end;
+
+define C-function gtk-window-iconify
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_iconify";
+end;
+
+define C-function gtk-window-deiconify
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_deiconify";
+end;
+
+define C-function gtk-window-stick
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_stick";
+end;
+
+define C-function gtk-window-unstick
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_unstick";
+end;
+
+define C-function gtk-window-maximize
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_maximize";
+end;
+
+define C-function gtk-window-unmaximize
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_unmaximize";
+end;
+
+define C-function gtk-window-fullscreen
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_fullscreen";
+end;
+
+define C-function gtk-window-unfullscreen
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_unfullscreen";
+end;
+
+define C-function gtk-window-set-keep-above
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_keep_above";
+end;
+
+define C-function gtk-window-set-keep-below
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_window_set_keep_below";
+end;
+
+define constant <GdkWindowEdge> = <C-int>;
+define constant $GDK-WINDOW-EDGE-NORTH-WEST = 0;
+define constant $GDK-WINDOW-EDGE-NORTH = 1;
+define constant $GDK-WINDOW-EDGE-NORTH-EAST = 2;
+define constant $GDK-WINDOW-EDGE-WEST = 3;
+define constant $GDK-WINDOW-EDGE-EAST = 4;
+define constant $GDK-WINDOW-EDGE-SOUTH-WEST = 5;
+define constant $GDK-WINDOW-EDGE-SOUTH = 6;
+define constant $GDK-WINDOW-EDGE-SOUTH-EAST = 7;
+
+define C-function gtk-window-begin-resize-drag
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <GdkWindowEdge>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  input parameter arg5 :: <gint>;
+  input parameter arg6 :: <guint32>;
+  c-name: "gtk_window_begin_resize_drag";
+end;
+
+define C-function gtk-window-begin-move-drag
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  input parameter arg5 :: <guint32>;
+  c-name: "gtk_window_begin_move_drag";
+end;
+
+define C-function gtk-window-set-policy
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  c-name: "gtk_window_set_policy";
+end;
+
+define C-function gtk-window-set-default-size
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  c-name: "gtk_window_set_default_size";
+end;
+
+define C-function gtk-window-get-default-size
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint*>;
+  input parameter arg3 :: <gint*>;
+  c-name: "gtk_window_get_default_size";
+end;
+
+define C-function gtk-window-resize
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  c-name: "gtk_window_resize";
+end;
+
+define C-function gtk-window-get-size
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint*>;
+  input parameter arg3 :: <gint*>;
+  c-name: "gtk_window_get_size";
+end;
+
+define C-function gtk-window-move
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  c-name: "gtk_window_move";
+end;
+
+define C-function gtk-window-get-position
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gint*>;
+  input parameter arg3 :: <gint*>;
+  c-name: "gtk_window_get_position";
+end;
+
+define C-function gtk-window-parse-geometry
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <gchar*>;
+  result res :: <gboolean>;
+  c-name: "gtk_window_parse_geometry";
+end;
+
+define C-function gtk-window-get-group
+  input parameter arg1 :: <GtkWindow>;
+  result res :: <GtkWindowGroup>;
+  c-name: "gtk_window_get_group";
+end;
+
+define C-function gtk-window-reshow-with-initial-size
+  input parameter arg1 :: <GtkWindow>;
+  c-name: "gtk_window_reshow_with_initial_size";
+end;
+
+define C-function gtk-window-group-get-type
+  result res :: <GType>;
+  c-name: "gtk_window_group_get_type";
+end;
+
+define C-function gtk-window-group-new
+  result res :: <GtkWindowGroup>;
+  c-name: "gtk_window_group_new";
+end;
+
+define C-function gtk-window-group-add-window
+  input parameter arg1 :: <GtkWindowGroup>;
+  input parameter arg2 :: <GtkWindow>;
+  c-name: "gtk_window_group_add_window";
+end;
+
+define C-function gtk-window-group-remove-window
+  input parameter arg1 :: <GtkWindowGroup>;
+  input parameter arg2 :: <GtkWindow>;
+  c-name: "gtk_window_group_remove_window";
+end;
+
+define C-function gtk-window-remove-embedded-xid
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <guint>;
+  c-name: "gtk_window_remove_embedded_xid";
+end;
+
+define C-function gtk-window-add-embedded-xid
+  input parameter arg1 :: <GtkWindow>;
+  input parameter arg2 :: <guint>;
+  c-name: "gtk_window_add_embedded_xid";
+end;
+
+define constant <anonymous-4226> = <C-function-pointer>;
+define constant <GtkWindowKeysForeachFunc> = <anonymous-4226>;
+
+define constant gtk-window-position = gtk-window-set-position;
+
+define constant <GtkWidgetFlags> = <C-int>;
+define constant $GTK-TOPLEVEL = 16;
+define constant $GTK-NO-WINDOW = 32;
+define constant $GTK-REALIZED = 64;
+define constant $GTK-MAPPED = 128;
+define constant $GTK-VISIBLE = 256;
+define constant $GTK-SENSITIVE = 512;
+define constant $GTK-PARENT-SENSITIVE = 1024;
+define constant $GTK-CAN-FOCUS = 2048;
+define constant $GTK-HAS-FOCUS = 4096;
+define constant $GTK-CAN-DEFAULT = 8192;
+define constant $GTK-HAS-DEFAULT = 16384;
+define constant $GTK-HAS-GRAB = 32768;
+define constant $GTK-RC-STYLE = 65536;
+define constant $GTK-COMPOSITE-CHILD = 131072;
+define constant $GTK-NO-REPARENT = 262144;
+define constant $GTK-APP-PAINTABLE = 524288;
+define constant $GTK-RECEIVES-DEFAULT = 1048576;
+define constant $GTK-DOUBLE-BUFFERED = 2097152;
+define constant $GTK-NO-SHOW-ALL = 4194304;
+
+define C-struct <_GtkWidgetAuxInfo>
+  slot GtkWidgetAuxInfo-x :: <C-signed-int>;
+  slot GtkWidgetAuxInfo-y :: <C-signed-int>;
+  slot GtkWidgetAuxInfo-width :: <C-signed-int>;
+  slot GtkWidgetAuxInfo-height :: <C-signed-int>;
+  bitfield slot GtkWidgetAuxInfo-x-set :: <C-int>, width: 1;
+  bitfield slot GtkWidgetAuxInfo-y-set :: <C-int>, width: 1;
+end;
+
+define C-pointer-type <GtkWidgetAuxInfo> => <_GtkWidgetAuxInfo>;
+
+define C-subtype <_GdkBitmap> (<_GdkDrawable>) end;
+
+define constant <GdkBitmap> = <_GdkBitmap>;
+
+define C-struct <_GtkWidgetShapeInfo>
+  slot GtkWidgetShapeInfo-offset-x :: <C-signed-short>;
+  slot GtkWidgetShapeInfo-offset-y :: <C-signed-short>;
+  slot GtkWidgetShapeInfo-shape-mask :: <GdkBitmap>;
+end;
+
+define C-pointer-type <GtkWidgetShapeInfo> => <_GtkWidgetShapeInfo>;
+
+define C-subtype <_GtkClipboard> (<_GObject>) end;
+define constant <GtkClipboard> = <_GtkClipboard>;
+
+define C-function gtk-widget-get-type
+  result res :: <GType>;
+  c-name: "gtk_widget_get_type";
+end;
+
+define C-function gtk-widget-new
+  input parameter arg1 :: <GType>;
+  input parameter arg2 :: <gchar*>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_widget_new";
+end;
+
+define C-function gtk-widget-destroy
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_destroy";
+end;
+
+define C-pointer-type <GtkWidget*> => <GtkWidget>;
+define C-function gtk-widget-destroyed
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget*>;
+  c-name: "gtk_widget_destroyed";
+end;
+
+define C-function gtk-widget-ref
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_widget_ref";
+end;
+
+define C-function gtk-widget-unref
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_unref";
+end;
+
+define C-function gtk-widget-set
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_set";
+end;
+
+define C-function gtk-widget-unparent
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_unparent";
+end;
+
+define C-function gtk-widget-show
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_show";
+end;
+
+define C-function gtk-widget-show-now
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_show_now";
+end;
+
+define C-function gtk-widget-hide
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_hide";
+end;
+
+define C-function gtk-widget-show-all
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_show_all";
+end;
+
+define C-function gtk-widget-hide-all
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_hide_all";
+end;
+
+define C-function gtk-widget-set-no-show-all
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_no_show_all";
+end;
+
+define C-function gtk-widget-get-no-show-all
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_get_no_show_all";
+end;
+
+define C-function gtk-widget-map
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_map";
+end;
+
+define C-function gtk-widget-unmap
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_unmap";
+end;
+
+define C-function gtk-widget-realize
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_realize";
+end;
+
+define C-function gtk-widget-unrealize
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_unrealize";
+end;
+
+define C-function gtk-widget-queue-draw
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_queue_draw";
+end;
+
+define C-function gtk-widget-queue-draw-area
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  input parameter arg5 :: <gint>;
+  c-name: "gtk_widget_queue_draw_area";
+end;
+
+define C-function gtk-widget-queue-clear
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_queue_clear";
+end;
+
+define C-function gtk-widget-queue-clear-area
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  input parameter arg5 :: <gint>;
+  c-name: "gtk_widget_queue_clear_area";
+end;
+
+define C-function gtk-widget-queue-resize
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_queue_resize";
+end;
+
+define C-function gtk-widget-queue-resize-no-redraw
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_queue_resize_no_redraw";
+end;
+
+define C-function gtk-widget-draw
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkRectangle>;
+  c-name: "gtk_widget_draw";
+end;
+
+define C-function gtk-widget-size-request
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkRequisition>;
+  c-name: "gtk_widget_size_request";
+end;
+
+define C-function gtk-widget-size-allocate
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkAllocation>;
+  c-name: "gtk_widget_size_allocate";
+end;
+
+define C-function gtk-widget-get-child-requisition
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkRequisition>;
+  c-name: "gtk_widget_get_child_requisition";
+end;
+
+define constant <GtkAccelFlags> = <C-int>;
+define constant $GTK-ACCEL-VISIBLE = 1;
+define constant $GTK-ACCEL-LOCKED = 2;
+define constant $GTK-ACCEL-MASK = 7;
+
+define C-function gtk-widget-add-accelerator
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <GtkAccelGroup>;
+  input parameter arg4 :: <guint>;
+  input parameter arg5 :: <GdkModifierType>;
+  input parameter arg6 :: <GtkAccelFlags>;
+  c-name: "gtk_widget_add_accelerator";
+end;
+
+define C-function gtk-widget-remove-accelerator
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkAccelGroup>;
+  input parameter arg3 :: <guint>;
+  input parameter arg4 :: <GdkModifierType>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_remove_accelerator";
+end;
+
+define C-function gtk-widget-set-accel-path
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <GtkAccelGroup>;
+  c-name: "gtk_widget_set_accel_path";
+end;
+
+define C-function gtk-widget-list-accel-closures
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GList>;
+  c-name: "gtk_widget_list_accel_closures";
+end;
+
+define C-function gtk-widget-can-activate-accel
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <guint>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_can_activate_accel";
+end;
+
+define C-function gtk-widget-mnemonic-activate
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_mnemonic_activate";
+end;
+
+define C-function gtk-widget-event
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkEvent>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_event";
+end;
+
+define C-function gtk-widget-send-expose
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkEvent>;
+  result res :: <gint>;
+  c-name: "gtk_widget_send_expose";
+end;
+
+define C-function gtk-widget-activate
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_activate";
+end;
+
+define C-subtype <_GtkAdjustment> (<_GtkObject>) end;
+define constant <GtkAdjustment> = <_GtkAdjustment>;
+
+define C-function gtk-widget-set-scroll-adjustments
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkAdjustment>;
+  input parameter arg3 :: <GtkAdjustment>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_set_scroll_adjustments";
+end;
+
+define C-function gtk-widget-reparent
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget>;
+  c-name: "gtk_widget_reparent";
+end;
+
+define C-function gtk-widget-intersect
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkRectangle>;
+  input parameter arg3 :: <GdkRectangle>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_intersect";
+end;
+
+define C-function gtk-widget-region-intersect
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkRegion>;
+  result res :: <GdkRegion>;
+  c-name: "gtk_widget_region_intersect";
+end;
+
+define C-function gtk-widget-freeze-child-notify
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_freeze_child_notify";
+end;
+
+define C-function gtk-widget-child-notify
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_child_notify";
+end;
+
+define C-function gtk-widget-thaw-child-notify
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_thaw_child_notify";
+end;
+
+define C-function gtk-widget-is-focus
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_is_focus";
+end;
+
+define C-function gtk-widget-grab-focus
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_grab_focus";
+end;
+
+define C-function gtk-widget-grab-default
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_grab_default";
+end;
+
+define C-function gtk-widget-set-name
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_set_name";
+end;
+
+define C-function gtk-widget-get-name
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gchar*>;
+  c-name: "gtk_widget_get_name";
+end;
+
+define C-function gtk-widget-set-state
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkStateType>;
+  c-name: "gtk_widget_set_state";
+end;
+
+define C-function gtk-widget-set-sensitive
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_sensitive";
+end;
+
+define C-function gtk-widget-set-app-paintable
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_app_paintable";
+end;
+
+define C-function gtk-widget-set-double-buffered
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_double_buffered";
+end;
+
+define C-function gtk-widget-set-redraw-on-allocate
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_redraw_on_allocate";
+end;
+
+define C-function gtk-widget-set-parent
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget>;
+  c-name: "gtk_widget_set_parent";
+end;
+
+define C-function gtk-widget-set-parent-window
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkWindow>;
+  c-name: "gtk_widget_set_parent_window";
+end;
+
+define C-function gtk-widget-set-child-visible
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_child_visible";
+end;
+
+define C-function gtk-widget-get-child-visible
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_get_child_visible";
+end;
+
+define C-function gtk-widget-get-parent
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_widget_get_parent";
+end;
+
+define C-function gtk-widget-get-parent-window
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkWindow>;
+  c-name: "gtk_widget_get_parent_window";
+end;
+
+define C-function gtk-widget-child-focus
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkDirectionType>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_child_focus";
+end;
+
+define C-function gtk-widget-keynav-failed
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkDirectionType>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_keynav_failed";
+end;
+
+define C-function gtk-widget-error-bell
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_error_bell";
+end;
+
+define C-function gtk-widget-set-size-request
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  c-name: "gtk_widget_set_size_request";
+end;
+
+define C-function gtk-widget-get-size-request
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint*>;
+  input parameter arg3 :: <gint*>;
+  c-name: "gtk_widget_get_size_request";
+end;
+
+define C-function gtk-widget-set-uposition
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  c-name: "gtk_widget_set_uposition";
+end;
+
+define C-function gtk-widget-set-usize
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  input parameter arg3 :: <gint>;
+  c-name: "gtk_widget_set_usize";
+end;
+
+define C-function gtk-widget-set-events
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  c-name: "gtk_widget_set_events";
+end;
+
+define C-function gtk-widget-add-events
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint>;
+  c-name: "gtk_widget_add_events";
+end;
+
+define constant <GdkExtensionMode> = <C-int>;
+define constant $GDK-EXTENSION-EVENTS-NONE = 0;
+define constant $GDK-EXTENSION-EVENTS-ALL = 1;
+define constant $GDK-EXTENSION-EVENTS-CURSOR = 2;
+
+define C-function gtk-widget-set-extension-events
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkExtensionMode>;
+  c-name: "gtk_widget_set_extension_events";
+end;
+
+define C-function gtk-widget-get-extension-events
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkExtensionMode>;
+  c-name: "gtk_widget_get_extension_events";
+end;
+
+define C-function gtk-widget-get-toplevel
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_widget_get_toplevel";
+end;
+
+define C-function gtk-widget-get-ancestor
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GType>;
+  result res :: <GtkWidget>;
+  c-name: "gtk_widget_get_ancestor";
+end;
+
+define C-function gtk-widget-get-colormap
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkColormap>;
+  c-name: "gtk_widget_get_colormap";
+end;
+
+define C-function gtk-widget-get-visual
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkVisual>;
+  c-name: "gtk_widget_get_visual";
+end;
+
+define C-function gtk-widget-get-screen
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkScreen>;
+  c-name: "gtk_widget_get_screen";
+end;
+
+define C-function gtk-widget-has-screen
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_has_screen";
+end;
+
+define C-function gtk-widget-get-display
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkDisplay>;
+  c-name: "gtk_widget_get_display";
+end;
+
+define C-function gtk-widget-get-root-window
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GdkWindow>;
+  c-name: "gtk_widget_get_root_window";
+end;
+
+define C-struct <_GtkSettingsPropertyValue>
+end;
+
+define C-pointer-type <GtkSettingsPropertyValue> => <_GtkSettingsPropertyValue>;
+
+define C-struct <_GtkRcContext>
+end;
+
+define C-pointer-type <GtkRcContext> => <_GtkRcContext>;
+
+define C-subtype <_GtkSettings> (<_GObject>) end;
+define constant <GtkSettings> = <_GtkSettings>;
+
+define C-function gtk-widget-get-settings
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkSettings>;
+  c-name: "gtk_widget_get_settings";
+end;
+
+define C-function gtk-widget-get-clipboard
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkAtom>;
+  result res :: <GtkClipboard>;
+  c-name: "gtk_widget_get_clipboard";
+end;
+
+define C-function gtk-widget-get-accessible
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <AtkObject>;
+  c-name: "gtk_widget_get_accessible";
+end;
+
+define C-function gtk-widget-set-colormap
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkColormap>;
+  c-name: "gtk_widget_set_colormap";
+end;
+
+define C-function gtk-widget-get-events
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gint>;
+  c-name: "gtk_widget_get_events";
+end;
+
+define C-function gtk-widget-get-pointer
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gint*>;
+  input parameter arg3 :: <gint*>;
+  c-name: "gtk_widget_get_pointer";
+end;
+
+define C-function gtk-widget-is-ancestor
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_is_ancestor";
+end;
+
+define C-function gtk-widget-translate-coordinates
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  input parameter arg5 :: <gint*>;
+  input parameter arg6 :: <gint*>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_translate_coordinates";
+end;
+
+define C-function gtk-widget-hide-on-delete
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_hide_on_delete";
+end;
+
+define C-function gtk-widget-set-style
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkStyle>;
+  c-name: "gtk_widget_set_style";
+end;
+
+define C-function gtk-widget-ensure-style
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_ensure_style";
+end;
+
+define C-function gtk-widget-get-style
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkStyle>;
+  c-name: "gtk_widget_get_style";
+end;
+
+define C-function gtk-widget-modify-style
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkRcStyle>;
+  c-name: "gtk_widget_modify_style";
+end;
+
+define C-function gtk-widget-get-modifier-style
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkRcStyle>;
+  c-name: "gtk_widget_get_modifier_style";
+end;
+
+define C-function gtk-widget-modify-fg
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkStateType>;
+  input parameter arg3 :: <GdkColor>;
+  c-name: "gtk_widget_modify_fg";
+end;
+
+define C-function gtk-widget-modify-bg
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkStateType>;
+  input parameter arg3 :: <GdkColor>;
+  c-name: "gtk_widget_modify_bg";
+end;
+
+define C-function gtk-widget-modify-text
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkStateType>;
+  input parameter arg3 :: <GdkColor>;
+  c-name: "gtk_widget_modify_text";
+end;
+
+define C-function gtk-widget-modify-base
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkStateType>;
+  input parameter arg3 :: <GdkColor>;
+  c-name: "gtk_widget_modify_base";
+end;
+
+define C-function gtk-widget-modify-cursor
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkColor>;
+  input parameter arg3 :: <GdkColor>;
+  c-name: "gtk_widget_modify_cursor";
+end;
+
+define C-function gtk-widget-modify-font
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <PangoFontDescription>;
+  c-name: "gtk_widget_modify_font";
+end;
+
+define C-subtype <_PangoContext> (<_GObject>) end;
+define constant <PangoContext> = <_PangoContext>;
+
+define C-function gtk-widget-create-pango-context
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <PangoContext>;
+  c-name: "gtk_widget_create_pango_context";
+end;
+
+define C-function gtk-widget-get-pango-context
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <PangoContext>;
+  c-name: "gtk_widget_get_pango_context";
+end;
+
+define C-subtype <_PangoLayout> (<_GObject>) end;
+define constant <PangoLayout> = <_PangoLayout>;
+
+define C-function gtk-widget-create-pango-layout
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  result res :: <PangoLayout>;
+  c-name: "gtk_widget_create_pango_layout";
+end;
+
+define constant <GtkIconSize> = <C-int>;
+define constant $GTK-ICON-SIZE-INVALID = 0;
+define constant $GTK-ICON-SIZE-MENU = 1;
+define constant $GTK-ICON-SIZE-SMALL-TOOLBAR = 2;
+define constant $GTK-ICON-SIZE-LARGE-TOOLBAR = 3;
+define constant $GTK-ICON-SIZE-BUTTON = 4;
+define constant $GTK-ICON-SIZE-DND = 5;
+define constant $GTK-ICON-SIZE-DIALOG = 6;
+
+define C-function gtk-widget-render-icon
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <GtkIconSize>;
+  input parameter arg4 :: <gchar*>;
+  result res :: <GdkPixbuf>;
+  c-name: "gtk_widget_render_icon";
+end;
+
+define C-function gtk-widget-set-composite-name
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_set_composite_name";
+end;
+
+define C-function gtk-widget-get-composite-name
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gchar*>;
+  c-name: "gtk_widget_get_composite_name";
+end;
+
+define C-function gtk-widget-reset-rc-styles
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_reset_rc_styles";
+end;
+
+define C-function gtk-widget-push-colormap
+  input parameter arg1 :: <GdkColormap>;
+  c-name: "gtk_widget_push_colormap";
+end;
+
+define C-function gtk-widget-push-composite-child
+  c-name: "gtk_widget_push_composite_child";
+end;
+
+define C-function gtk-widget-pop-composite-child
+  c-name: "gtk_widget_pop_composite_child";
+end;
+
+define C-function gtk-widget-pop-colormap
+  c-name: "gtk_widget_pop_colormap";
+end;
+
+define C-function gtk-widget-class-install-style-property
+  input parameter arg1 :: <GtkWidgetClass>;
+  input parameter arg2 :: <GParamSpec>;
+  c-name: "gtk_widget_class_install_style_property";
+end;
+
+define C-struct <_GString>
+  slot GString-str :: <gchar*>;
+  slot GString-len :: <C-unsigned-int>;
+  slot GString-allocated-len :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GString> => <_GString>;
+
+define constant <anonymous-3555> = <C-function-pointer>;
+define constant <GtkRcPropertyParser> = <anonymous-3555>;
+
+define C-function gtk-widget-class-install-style-property-parser
+  input parameter arg1 :: <GtkWidgetClass>;
+  input parameter arg2 :: <GParamSpec>;
+  input parameter arg3 :: <GtkRcPropertyParser>;
+  c-name: "gtk_widget_class_install_style_property_parser";
+end;
+
+define C-function gtk-widget-class-find-style-property
+  input parameter arg1 :: <GtkWidgetClass>;
+  input parameter arg2 :: <gchar*>;
+  result res :: <GParamSpec>;
+  c-name: "gtk_widget_class_find_style_property";
+end;
+
+define C-pointer-type <guint*> => <guint>;
+define C-function gtk-widget-class-list-style-properties
+  input parameter arg1 :: <GtkWidgetClass>;
+  input parameter arg2 :: <guint*>;
+  result res :: <GParamSpec*>;
+  c-name: "gtk_widget_class_list_style_properties";
+end;
+
+define C-function gtk-widget-style-get-property
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <GValue>;
+  c-name: "gtk_widget_style_get_property";
+end;
+
+define constant <__gnuc-va-list> = <C-void*>;
+
+define constant <va-list> = <__gnuc-va-list>;
+
+define C-function gtk-widget-style-get-valist
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  input parameter arg3 :: <va-list>;
+  c-name: "gtk_widget_style_get_valist";
+end;
+
+define C-function gtk-widget-style-get
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_style_get";
+end;
+
+define C-function gtk-widget-set-default-colormap
+  input parameter arg1 :: <GdkColormap>;
+  c-name: "gtk_widget_set_default_colormap";
+end;
+
+define C-function gtk-widget-get-default-style
+  result res :: <GtkStyle>;
+  c-name: "gtk_widget_get_default_style";
+end;
+
+define C-function gtk-widget-get-default-colormap
+  result res :: <GdkColormap>;
+  c-name: "gtk_widget_get_default_colormap";
+end;
+
+define C-function gtk-widget-get-default-visual
+  result res :: <GdkVisual>;
+  c-name: "gtk_widget_get_default_visual";
+end;
+
+define C-function gtk-widget-set-direction
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkTextDirection>;
+  c-name: "gtk_widget_set_direction";
+end;
+
+define C-function gtk-widget-get-direction
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkTextDirection>;
+  c-name: "gtk_widget_get_direction";
+end;
+
+define C-function gtk-widget-set-default-direction
+  input parameter arg1 :: <GtkTextDirection>;
+  c-name: "gtk_widget_set_default_direction";
+end;
+
+define C-function gtk-widget-get-default-direction
+  result res :: <GtkTextDirection>;
+  c-name: "gtk_widget_get_default_direction";
+end;
+
+define C-function gtk-widget-is-composited
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_is_composited";
+end;
+
+define C-function gtk-widget-shape-combine-mask
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkBitmap>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  c-name: "gtk_widget_shape_combine_mask";
+end;
+
+define C-function gtk-widget-input-shape-combine-mask
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GdkBitmap>;
+  input parameter arg3 :: <gint>;
+  input parameter arg4 :: <gint>;
+  c-name: "gtk_widget_input_shape_combine_mask";
+end;
+
+define C-function gtk-widget-reset-shapes
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_reset_shapes";
+end;
+
+define C-function gtk-widget-path
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <guint*>;
+  input parameter arg3 :: <gchar**>;
+  input parameter arg4 :: <gchar**>;
+  c-name: "gtk_widget_path";
+end;
+
+define C-function gtk-widget-class-path
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <guint*>;
+  input parameter arg3 :: <gchar**>;
+  input parameter arg4 :: <gchar**>;
+  c-name: "gtk_widget_class_path";
+end;
+
+define C-function gtk-widget-list-mnemonic-labels
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GList>;
+  c-name: "gtk_widget_list_mnemonic_labels";
+end;
+
+define C-function gtk-widget-add-mnemonic-label
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget>;
+  c-name: "gtk_widget_add_mnemonic_label";
+end;
+
+define C-function gtk-widget-remove-mnemonic-label
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWidget>;
+  c-name: "gtk_widget_remove_mnemonic_label";
+end;
+
+define C-function gtk-widget-set-tooltip-window
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <GtkWindow>;
+  c-name: "gtk_widget_set_tooltip_window";
+end;
+
+define C-function gtk-widget-get-tooltip-window
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <GtkWindow>;
+  c-name: "gtk_widget_get_tooltip_window";
+end;
+
+define C-function gtk-widget-trigger-tooltip-query
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "gtk_widget_trigger_tooltip_query";
+end;
+
+define C-function gtk-widget-set-tooltip-text
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_set_tooltip_text";
+end;
+
+define C-function gtk-widget-get-tooltip-text
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gchar*>;
+  c-name: "gtk_widget_get_tooltip_text";
+end;
+
+define C-function gtk-widget-set-tooltip-markup
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "gtk_widget_set_tooltip_markup";
+end;
+
+define C-function gtk-widget-get-tooltip-markup
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gchar*>;
+  c-name: "gtk_widget_get_tooltip_markup";
+end;
+
+define C-function gtk-widget-set-has-tooltip
+  input parameter arg1 :: <GtkWidget>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "gtk_widget_set_has_tooltip";
+end;
+
+define C-function gtk-widget-get-has-tooltip
+  input parameter arg1 :: <GtkWidget>;
+  result res :: <gboolean>;
+  c-name: "gtk_widget_get_has_tooltip";
+end;
+
+define C-function gtk-requisition-get-type
+  result res :: <GType>;
+  c-name: "gtk_requisition_get_type";
+end;
+
+define C-function gtk-requisition-copy
+  input parameter arg1 :: <GtkRequisition>;
+  result res :: <GtkRequisition>;
+  c-name: "gtk_requisition_copy";
+end;
+
+define C-function gtk-requisition-free
+  input parameter arg1 :: <GtkRequisition>;
+  c-name: "gtk_requisition_free";
+end;
+
+define C-function _gtk-widget-propagate-composited-changed
+  input parameter arg1 :: <GtkWidget>;
+  c-name: "_gtk_widget_propagate_composited_changed";
+end;
+
+define C-function atk-role-register
+  input parameter arg1 :: <gchar*>;
+  result res :: <AtkRole>;
+  c-name: "atk_role_register";
+end;
+
+define constant <AtkAttributeSet> = <GSList>;
+
+define C-struct <_AtkAttribute>
+  slot AtkAttribute-name :: <gchar*>;
+  slot AtkAttribute-value :: <gchar*>;
+end;
+
+define C-pointer-type <AtkAttribute> => <_AtkAttribute>;
+
+define C-struct <_AtkImplementor>
+end;
+
+define C-pointer-type <AtkImplementor> => <_AtkImplementor>;
+
+define C-struct <_GTypeInterface>
+  slot GTypeInterface-g-type :: <C-unsigned-int>;
+  slot GTypeInterface-g-instance-type :: <C-unsigned-int>;
+end;
+
+define C-pointer-type <GTypeInterface> => <_GTypeInterface>;
+
+define constant <anonymous-3766> = <C-function-pointer>;
+define C-subtype <_AtkImplementorIface> (<C-void*>) end;
+define constant <AtkImplementorIface> = <_AtkImplementorIface>;
+
+define constant <anonymous-3740> = <C-function-pointer>;
+define constant <anonymous-3741> = <C-function-pointer>;
+define constant <anonymous-3742> = <C-function-pointer>;
+define constant <anonymous-3743> = <C-function-pointer>;
+define constant <anonymous-3744> = <C-function-pointer>;
+define constant <anonymous-3745> = <C-function-pointer>;
+define constant <anonymous-3746> = <C-function-pointer>;
+define constant <anonymous-3747> = <C-function-pointer>;
+define constant <anonymous-3748> = <C-function-pointer>;
+define constant <anonymous-3749> = <C-function-pointer>;
+define C-subtype <_AtkStateSet> (<_GObject>) end;
+define constant <AtkStateSet> = <_AtkStateSet>;
+
+define constant <anonymous-3750> = <C-function-pointer>;
+define constant <anonymous-3751> = <C-function-pointer>;
+define constant <anonymous-3752> = <C-function-pointer>;
+define constant <anonymous-3753> = <C-function-pointer>;
+define constant <anonymous-3754> = <C-function-pointer>;
+define C-struct <_AtkPropertyValues>
+  slot AtkPropertyValues-property-name :: <gchar*>;
+  slot AtkPropertyValues-old-value :: <_GValue>;
+  slot AtkPropertyValues-new-value :: <_GValue>;
+end;
+
+define C-pointer-type <AtkPropertyValues> => <_AtkPropertyValues>;
+
+define constant <anonymous-3739> = <C-function-pointer>;
+define constant <AtkPropertyChangeHandler> = <anonymous-3739>;
+
+define C-pointer-type <AtkPropertyChangeHandler*> => <AtkPropertyChangeHandler>;
+define constant <anonymous-3755> = <C-function-pointer>;
+define constant <anonymous-3756> = <C-function-pointer>;
+define constant <anonymous-3757> = <C-function-pointer>;
+define constant <anonymous-3758> = <C-function-pointer>;
+define constant <anonymous-3759> = <C-function-pointer>;
+define constant <anonymous-3760> = <C-function-pointer>;
+define constant <anonymous-3761> = <C-function-pointer>;
+define constant <anonymous-3762> = <C-function-pointer>;
+define constant <anonymous-3763> = <C-function-pointer>;
+define constant <anonymous-3764> = <C-function-pointer>;
+define constant <anonymous-3738> = <C-function-pointer>;
+define constant <AtkFunction> = <anonymous-3738>;
+
+define C-struct <_AtkObjectClass>
+  slot AtkObjectClass-parent :: <_GObjectClass>;
+  slot AtkObjectClass-get-name :: <anonymous-3740>;
+  slot AtkObjectClass-get-description :: <anonymous-3741>;
+  slot AtkObjectClass-get-parent :: <anonymous-3742>;
+  slot AtkObjectClass-get-n-children :: <anonymous-3743>;
+  slot AtkObjectClass-ref-child :: <anonymous-3744>;
+  slot AtkObjectClass-get-index-in-parent :: <anonymous-3745>;
+  slot AtkObjectClass-ref-relation-set :: <anonymous-3746>;
+  slot AtkObjectClass-get-role :: <anonymous-3747>;
+  slot AtkObjectClass-get-layer :: <anonymous-3748>;
+  slot AtkObjectClass-get-mdi-zorder :: <anonymous-3749>;
+  slot AtkObjectClass-ref-state-set :: <anonymous-3750>;
+  slot AtkObjectClass-set-name :: <anonymous-3751>;
+  slot AtkObjectClass-set-description :: <anonymous-3752>;
+  slot AtkObjectClass-set-parent :: <anonymous-3753>;
+  slot AtkObjectClass-set-role :: <anonymous-3754>;
+  slot AtkObjectClass-connect-property-change-handler :: <anonymous-3755>;
+  slot AtkObjectClass-remove-property-change-handler :: <anonymous-3756>;
+  slot AtkObjectClass-initialize :: <anonymous-3757>;
+  slot AtkObjectClass-children-changed :: <anonymous-3758>;
+  slot AtkObjectClass-focus-event :: <anonymous-3759>;
+  slot AtkObjectClass-property-change :: <anonymous-3760>;
+  slot AtkObjectClass-state-change :: <anonymous-3761>;
+  slot AtkObjectClass-visible-data-changed :: <anonymous-3762>;
+  slot AtkObjectClass-active-descendant-changed :: <anonymous-3763>;
+  slot AtkObjectClass-get-attributes :: <anonymous-3764>;
+  slot AtkObjectClass-pad1 :: <anonymous-3738>;
+  slot AtkObjectClass-pad2 :: <anonymous-3738>;
+end;
+
+define C-pointer-type <AtkObjectClass> => <_AtkObjectClass>;
+
+define C-function atk-object-get-type
+  result res :: <GType>;
+  c-name: "atk_object_get_type";
+end;
+
+define C-function atk-implementor-get-type
+  result res :: <GType>;
+  c-name: "atk_implementor_get_type";
+end;
+
+define C-function atk-implementor-ref-accessible
+  input parameter arg1 :: <AtkImplementor>;
+  result res :: <AtkObject>;
+  c-name: "atk_implementor_ref_accessible";
+end;
+
+define C-function atk-object-get-name
+  input parameter arg1 :: <AtkObject>;
+  result res :: <gchar*>;
+  c-name: "atk_object_get_name";
+end;
+
+define C-function atk-object-get-description
+  input parameter arg1 :: <AtkObject>;
+  result res :: <gchar*>;
+  c-name: "atk_object_get_description";
+end;
+
+define C-function atk-object-get-parent
+  input parameter arg1 :: <AtkObject>;
+  result res :: <AtkObject>;
+  c-name: "atk_object_get_parent";
+end;
+
+define C-function atk-object-get-n-accessible-children
+  input parameter arg1 :: <AtkObject>;
+  result res :: <gint>;
+  c-name: "atk_object_get_n_accessible_children";
+end;
+
+define C-function atk-object-ref-accessible-child
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <gint>;
+  result res :: <AtkObject>;
+  c-name: "atk_object_ref_accessible_child";
+end;
+
+define C-function atk-object-ref-relation-set
+  input parameter arg1 :: <AtkObject>;
+  result res :: <AtkRelationSet>;
+  c-name: "atk_object_ref_relation_set";
+end;
+
+define C-function atk-object-get-role
+  input parameter arg1 :: <AtkObject>;
+  result res :: <AtkRole>;
+  c-name: "atk_object_get_role";
+end;
+
+define C-function atk-object-get-layer
+  input parameter arg1 :: <AtkObject>;
+  result res :: <AtkLayer>;
+  c-name: "atk_object_get_layer";
+end;
+
+define C-function atk-object-get-mdi-zorder
+  input parameter arg1 :: <AtkObject>;
+  result res :: <gint>;
+  c-name: "atk_object_get_mdi_zorder";
+end;
+
+define C-function atk-object-get-attributes
+  input parameter arg1 :: <AtkObject>;
+  result res :: <AtkAttributeSet>;
+  c-name: "atk_object_get_attributes";
+end;
+
+define C-function atk-object-ref-state-set
+  input parameter arg1 :: <AtkObject>;
+  result res :: <AtkStateSet>;
+  c-name: "atk_object_ref_state_set";
+end;
+
+define C-function atk-object-get-index-in-parent
+  input parameter arg1 :: <AtkObject>;
+  result res :: <gint>;
+  c-name: "atk_object_get_index_in_parent";
+end;
+
+define C-function atk-object-set-name
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "atk_object_set_name";
+end;
+
+define C-function atk-object-set-description
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <gchar*>;
+  c-name: "atk_object_set_description";
+end;
+
+define C-function atk-object-set-parent
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <AtkObject>;
+  c-name: "atk_object_set_parent";
+end;
+
+define C-function atk-object-set-role
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <AtkRole>;
+  c-name: "atk_object_set_role";
+end;
+
+define C-function atk-object-connect-property-change-handler
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <AtkPropertyChangeHandler*>;
+  result res :: <guint>;
+  c-name: "atk_object_connect_property_change_handler";
+end;
+
+define C-function atk-object-remove-property-change-handler
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <guint>;
+  c-name: "atk_object_remove_property_change_handler";
+end;
+
+define constant <AtkState> = <guint64>;
+
+define C-function atk-object-notify-state-change
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <AtkState>;
+  input parameter arg3 :: <gboolean>;
+  c-name: "atk_object_notify_state_change";
+end;
+
+define C-function atk-object-initialize
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <gpointer>;
+  c-name: "atk_object_initialize";
+end;
+
+define C-function atk-role-get-name
+  input parameter arg1 :: <AtkRole>;
+  result res :: <gchar*>;
+  c-name: "atk_role_get_name";
+end;
+
+define C-function atk-role-for-name
+  input parameter arg1 :: <gchar*>;
+  result res :: <AtkRole>;
+  c-name: "atk_role_for_name";
+end;
+
+define constant <AtkRelationType> = <C-int>;
+define constant $ATK-RELATION-NULL = 0;
+define constant $ATK-RELATION-CONTROLLED-BY = 1;
+define constant $ATK-RELATION-CONTROLLER-FOR = 2;
+define constant $ATK-RELATION-LABEL-FOR = 3;
+define constant $ATK-RELATION-LABELLED-BY = 4;
+define constant $ATK-RELATION-MEMBER-OF = 5;
+define constant $ATK-RELATION-NODE-CHILD-OF = 6;
+define constant $ATK-RELATION-FLOWS-TO = 7;
+define constant $ATK-RELATION-FLOWS-FROM = 8;
+define constant $ATK-RELATION-SUBWINDOW-OF = 9;
+define constant $ATK-RELATION-EMBEDS = 10;
+define constant $ATK-RELATION-EMBEDDED-BY = 11;
+define constant $ATK-RELATION-POPUP-FOR = 12;
+define constant $ATK-RELATION-PARENT-WINDOW-OF = 13;
+define constant $ATK-RELATION-DESCRIBED-BY = 14;
+define constant $ATK-RELATION-DESCRIPTION-FOR = 15;
+define constant $ATK-RELATION-LAST-DEFINED = 16;
+
+define C-function atk-object-add-relationship
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <AtkRelationType>;
+  input parameter arg3 :: <AtkObject>;
+  result res :: <gboolean>;
+  c-name: "atk_object_add_relationship";
+end;
+
+define C-function atk-object-remove-relationship
+  input parameter arg1 :: <AtkObject>;
+  input parameter arg2 :: <AtkRelationType>;
+  input parameter arg3 :: <AtkObject>;
+  result res :: <gboolean>;
+  c-name: "atk_object_remove_relationship";
+end;
+
+define C-function atk-role-get-localized-name
+  input parameter arg1 :: <AtkRole>;
+  result res :: <gchar*>;
+  c-name: "atk_role_get_localized_name";
+end;
+
+define constant <AtkStateType> = <C-int>;
+define constant $ATK-STATE-INVALID = 0;
+define constant $ATK-STATE-ACTIVE = 1;
+define constant $ATK-STATE-ARMED = 2;
+define constant $ATK-STATE-BUSY = 3;
+define constant $ATK-STATE-CHECKED = 4;
+define constant $ATK-STATE-DEFUNCT = 5;
+define constant $ATK-STATE-EDITABLE = 6;
+define constant $ATK-STATE-ENABLED = 7;
+define constant $ATK-STATE-EXPANDABLE = 8;
+define constant $ATK-STATE-EXPANDED = 9;
+define constant $ATK-STATE-FOCUSABLE = 10;
+define constant $ATK-STATE-FOCUSED = 11;
+define constant $ATK-STATE-HORIZONTAL = 12;
+define constant $ATK-STATE-ICONIFIED = 13;
+define constant $ATK-STATE-MODAL = 14;
+define constant $ATK-STATE-MULTI-LINE = 15;
+define constant $ATK-STATE-MULTISELECTABLE = 16;
+define constant $ATK-STATE-OPAQUE = 17;
+define constant $ATK-STATE-PRESSED = 18;
+define constant $ATK-STATE-RESIZABLE = 19;
+define constant $ATK-STATE-SELECTABLE = 20;
+define constant $ATK-STATE-SELECTED = 21;
+define constant $ATK-STATE-SENSITIVE = 22;
+define constant $ATK-STATE-SHOWING = 23;
+define constant $ATK-STATE-SINGLE-LINE = 24;
+define constant $ATK-STATE-STALE = 25;
+define constant $ATK-STATE-TRANSIENT = 26;
+define constant $ATK-STATE-VERTICAL = 27;
+define constant $ATK-STATE-VISIBLE = 28;
+define constant $ATK-STATE-MANAGES-DESCENDANTS = 29;
+define constant $ATK-STATE-INDETERMINATE = 30;
+define constant $ATK-STATE-TRUNCATED = 31;
+define constant $ATK-STATE-REQUIRED = 32;
+define constant $ATK-STATE-INVALID-ENTRY = 33;
+define constant $ATK-STATE-SUPPORTS-AUTOCOMPLETION = 34;
+define constant $ATK-STATE-SELECTABLE-TEXT = 35;
+define constant $ATK-STATE-DEFAULT = 36;
+define constant $ATK-STATE-ANIMATED = 37;
+define constant $ATK-STATE-VISITED = 38;
+define constant $ATK-STATE-LAST-DEFINED = 39;
+
+define C-function atk-state-type-register
+  input parameter arg1 :: <gchar*>;
+  result res :: <AtkStateType>;
+  c-name: "atk_state_type_register";
+end;
+
+define C-function atk-state-type-get-name
+  input parameter arg1 :: <AtkStateType>;
+  result res :: <gchar*>;
+  c-name: "atk_state_type_get_name";
+end;
+
+define C-function atk-state-type-for-name
+  input parameter arg1 :: <gchar*>;
+  result res :: <AtkStateType>;
+  c-name: "atk_state_type_for_name";
+end;
+
+define C-function g-value-set-char
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <gchar>;
+  c-name: "g_value_set_char";
+end;
+
+define C-function g-value-get-char
+  input parameter arg1 :: <GValue>;
+  result res :: <gchar>;
+  c-name: "g_value_get_char";
+end;
+
+define C-function g-value-set-uchar
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <guchar>;
+  c-name: "g_value_set_uchar";
+end;
+
+define C-function g-value-get-uchar
+  input parameter arg1 :: <GValue>;
+  result res :: <guchar>;
+  c-name: "g_value_get_uchar";
+end;
+
+define C-function g-value-set-boolean
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <gboolean>;
+  c-name: "g_value_set_boolean";
+end;
+
+define C-function g-value-get-boolean
+  input parameter arg1 :: <GValue>;
+  result res :: <gboolean>;
+  c-name: "g_value_get_boolean";
+end;
+
+define C-function g-value-set-int
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <gint>;
+  c-name: "g_value_set_int";
+end;
+
+define C-function g-value-get-int
+  input parameter arg1 :: <GValue>;
+  result res :: <gint>;
+  c-name: "g_value_get_int";
+end;
+
+define C-function g-value-set-uint
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <guint>;
+  c-name: "g_value_set_uint";
+end;
+
+define C-function g-value-get-uint
+  input parameter arg1 :: <GValue>;
+  result res :: <guint>;
+  c-name: "g_value_get_uint";
+end;
+
+define C-function g-value-set-long
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <glong>;
+  c-name: "g_value_set_long";
+end;
+
+define C-function g-value-get-long
+  input parameter arg1 :: <GValue>;
+  result res :: <glong>;
+  c-name: "g_value_get_long";
+end;
+
+define C-function g-value-set-ulong
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <gulong>;
+  c-name: "g_value_set_ulong";
+end;
+
+define C-function g-value-get-ulong
+  input parameter arg1 :: <GValue>;
+  result res :: <gulong>;
+  c-name: "g_value_get_ulong";
+end;
+
+define C-function g-value-set-int64
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <gint64>;
+  c-name: "g_value_set_int64";
+end;
+
+define C-function g-value-get-int64
+  input parameter arg1 :: <GValue>;
+  result res :: <gint64>;
+  c-name: "g_value_get_int64";
+end;
+
+define C-function g-value-set-uint64
+  input parameter arg1 :: <GValue>;
+  input parameter arg2 :: <guint64>;
+  c-name: "g_value_set_uint64";
+end;
+
+define C-function g-value-get-uint64
+  input parameter arg1 :: <GValue>;
+  result res :: <guint64>;
+  c-name: "g_value_get_uint64";
+end;
+
+define C-function g-value-set-