summary refs log tree commit diff stats
path: root/lib/oldwrappers/gtk/gdk2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oldwrappers/gtk/gdk2.nim')
-rwxr-xr-xlib/oldwrappers/gtk/gdk2.nim3958
1 files changed, 0 insertions, 3958 deletions
diff --git a/lib/oldwrappers/gtk/gdk2.nim b/lib/oldwrappers/gtk/gdk2.nim
deleted file mode 100755
index 0ca5056b5..000000000
--- a/lib/oldwrappers/gtk/gdk2.nim
+++ /dev/null
@@ -1,3958 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2, gdk2pixbuf, pango
-
-when defined(win32):
-  const
-    gdklib = "libgdk-win32-2.0-0.dll"
-    GDK_HAVE_WCHAR_H = 1
-    GDK_HAVE_WCTYPE_H = 1
-elif defined(darwin):
-  #    linklib gtk-x11-2.0
-  #    linklib gdk-x11-2.0
-  #    linklib pango-1.0.0
-  #    linklib glib-2.0.0
-  #    linklib gobject-2.0.0
-  #    linklib gdk_pixbuf-2.0.0
-  #    linklib atk-1.0.0
-  const
-    gdklib = "gdk-x11-2.0"
-else:
-  const
-    gdklib = "libgdk-x11-2.0.so"
-const
-  NUMPTSTOBUFFER* = 200
-  GDK_MAX_TIMECOORD_AXES* = 128
-
-type
-  PGdkDeviceClass* = ptr TGdkDeviceClass
-  TGdkDeviceClass* = object of TGObjectClass
-
-  PGdkVisualClass* = ptr TGdkVisualClass
-  TGdkVisualClass* = object of TGObjectClass
-
-  PGdkColor* = ptr TGdkColor
-  TGdkColor* {.final, pure.} = object
-    pixel*: guint32
-    red*: guint16
-    green*: guint16
-    blue*: guint16
-
-  PGdkColormap* = ptr TGdkColormap
-  PGdkDrawable* = ptr TGdkDrawable
-  TGdkDrawable* = object of TGObject
-
-  PGdkWindow* = ptr TGdkWindow
-  TGdkWindow* = TGdkDrawable
-  PGdkPixmap* = ptr TGdkPixmap
-  TGdkPixmap* = TGdkDrawable
-  PGdkBitmap* = ptr TGdkBitmap
-  TGdkBitmap* = TGdkDrawable
-  PGdkFontType* = ptr TGdkFontType
-  TGdkFontType* = enum
-    GDK_FONT_FONT, GDK_FONT_FONTSET
-  PGdkFont* = ptr TGdkFont
-  TGdkFont* {.final, pure.} = object
-    `type`*: TGdkFontType
-    ascent*: gint
-    descent*: gint
-
-  PGdkFunction* = ptr TGdkFunction
-  TGdkFunction* = enum
-    GDK_COPY, GDK_INVERT, GDK_XOR, GDK_CLEAR, GDK_AND, GDK_AND_REVERSE,
-    GDK_AND_INVERT, GDK_NOOP, GDK_OR, GDK_EQUIV, GDK_OR_REVERSE,
-    GDK_COPY_INVERT, GDK_OR_INVERT, GDK_NAND, GDK_NOR, GDK_SET
-  PGdkCapStyle* = ptr TGdkCapStyle
-  TGdkCapStyle* = enum
-    GDK_CAP_NOT_LAST, GDK_CAP_BUTT, GDK_CAP_ROUND, GDK_CAP_PROJECTING
-  PGdkFill* = ptr TGdkFill
-  TGdkFill* = enum
-    GDK_SOLID, GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED
-  PGdkJoinStyle* = ptr TGdkJoinStyle
-  TGdkJoinStyle* = enum
-    GDK_JOIN_MITER, GDK_JOIN_ROUND, GDK_JOIN_BEVEL
-  PGdkLineStyle* = ptr TGdkLineStyle
-  TGdkLineStyle* = enum
-    GDK_LINE_SOLID, GDK_LINE_ON_OFF_DASH, GDK_LINE_DOUBLE_DASH
-  PGdkSubwindowMode* = ptr TGdkSubwindowMode
-  TGdkSubwindowMode* = int
-  PGdkGCValuesMask* = ptr TGdkGCValuesMask
-  TGdkGCValuesMask* = int32
-  PGdkGCValues* = ptr TGdkGCValues
-  TGdkGCValues* {.final, pure.} = object
-    foreground*: TGdkColor
-    background*: TGdkColor
-    font*: PGdkFont
-    `function`*: TGdkFunction
-    fill*: TGdkFill
-    tile*: PGdkPixmap
-    stipple*: PGdkPixmap
-    clip_mask*: PGdkPixmap
-    subwindow_mode*: TGdkSubwindowMode
-    ts_x_origin*: gint
-    ts_y_origin*: gint
-    clip_x_origin*: gint
-    clip_y_origin*: gint
-    graphics_exposures*: gint
-    line_width*: gint
-    line_style*: TGdkLineStyle
-    cap_style*: TGdkCapStyle
-    join_style*: TGdkJoinStyle
-
-  PGdkGC* = ptr TGdkGC
-  TGdkGC* = object of TGObject
-    clip_x_origin*: gint
-    clip_y_origin*: gint
-    ts_x_origin*: gint
-    ts_y_origin*: gint
-    colormap*: PGdkColormap
-
-  PGdkImageType* = ptr TGdkImageType
-  TGdkImageType* = enum
-    GDK_IMAGE_NORMAL, GDK_IMAGE_SHARED, GDK_IMAGE_FASTEST
-  PGdkImage* = ptr TGdkImage
-  PGdkDevice* = ptr TGdkDevice
-  PGdkTimeCoord* = ptr TGdkTimeCoord
-  PPGdkTimeCoord* = ptr PGdkTimeCoord
-  PGdkRgbDither* = ptr TGdkRgbDither
-  TGdkRgbDither* = enum
-    GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_NORMAL, GDK_RGB_DITHER_MAX
-  PGdkDisplay* = ptr TGdkDisplay
-  PGdkScreen* = ptr TGdkScreen
-  TGdkScreen* = object of TGObject
-
-  PGdkInputCondition* = ptr TGdkInputCondition
-  TGdkInputCondition* = int32
-  PGdkStatus* = ptr TGdkStatus
-  TGdkStatus* = int32
-  TGdkPoint* {.final, pure.} = object
-    x*: gint
-    y*: gint
-
-  PGdkPoint* = ptr TGdkPoint
-  PPGdkPoint* = ptr PGdkPoint
-  PGdkSpan* = ptr TGdkSpan
-  PGdkWChar* = ptr TGdkWChar
-  TGdkWChar* = guint32
-  PGdkSegment* = ptr TGdkSegment
-  TGdkSegment* {.final, pure.} = object
-    x1*: gint
-    y1*: gint
-    x2*: gint
-    y2*: gint
-
-  PGdkRectangle* = ptr TGdkRectangle
-  TGdkRectangle* {.final, pure.} = object
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-
-  PGdkAtom* = ptr TGdkAtom
-  TGdkAtom* = gulong
-  PGdkByteOrder* = ptr TGdkByteOrder
-  TGdkByteOrder* = enum
-    GDK_LSB_FIRST, GDK_MSB_FIRST
-  PGdkModifierType* = ptr TGdkModifierType
-  TGdkModifierType* = gint
-  PGdkVisualType* = ptr TGdkVisualType
-  TGdkVisualType* = enum
-    GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR,
-    GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_DIRECT_COLOR
-  PGdkVisual* = ptr TGdkVisual
-  TGdkVisual* = object of TGObject
-    TheType*: TGdkVisualType
-    depth*: gint
-    byte_order*: TGdkByteOrder
-    colormap_size*: gint
-    bits_per_rgb*: gint
-    red_mask*: guint32
-    red_shift*: gint
-    red_prec*: gint
-    green_mask*: guint32
-    green_shift*: gint
-    green_prec*: gint
-    blue_mask*: guint32
-    blue_shift*: gint
-    blue_prec*: gint
-    screen*: PGdkScreen
-
-  PGdkColormapClass* = ptr TGdkColormapClass
-  TGdkColormapClass* = object of TGObjectClass
-
-  TGdkColormap* = object of TGObject
-    size*: gint
-    colors*: PGdkColor
-    visual*: PGdkVisual
-    windowing_data*: gpointer
-    screen*: PGdkScreen
-
-  PGdkCursorType* = ptr TGdkCursorType
-  TGdkCursorType* = gint
-  PGdkCursor* = ptr TGdkCursor
-  TGdkCursor* {.final, pure.} = object
-    `type`*: TGdkCursorType
-    ref_count*: guint
-
-  PGdkDragAction* = ptr TGdkDragAction
-  TGdkDragAction* = int32
-  PGdkDragProtocol* = ptr TGdkDragProtocol
-  TGdkDragProtocol* = enum
-    GDK_DRAG_PROTO_MOTIF, GDK_DRAG_PROTO_XDND, GDK_DRAG_PROTO_ROOTWIN,
-    GDK_DRAG_PROTO_NONE, GDK_DRAG_PROTO_WIN32_DROPFILES, GDK_DRAG_PROTO_OLE2,
-    GDK_DRAG_PROTO_LOCAL
-  PGdkDragContext* = ptr TGdkDragContext
-  TGdkDragContext* = object of TGObject
-    protocol*: TGdkDragProtocol
-    is_source*: gboolean
-    source_window*: PGdkWindow
-    dest_window*: PGdkWindow
-    targets*: PGList
-    actions*: TGdkDragAction
-    suggested_action*: TGdkDragAction
-    action*: TGdkDragAction
-    start_time*: guint32
-    windowing_data*: gpointer
-
-  PGdkDragContextClass* = ptr TGdkDragContextClass
-  TGdkDragContextClass* = object of TGObjectClass
-
-  PGdkRegionBox* = ptr TGdkRegionBox
-  TGdkRegionBox* = TGdkSegment
-  PGdkRegion* = ptr TGdkRegion
-  TGdkRegion* {.final, pure.} = object
-    size*: int32
-    numRects*: int32
-    rects*: PGdkRegionBox
-    extents*: TGdkRegionBox
-
-  PPOINTBLOCK* = ptr TPOINTBLOCK
-  TPOINTBLOCK* {.final, pure.} = object
-    pts*: array[0..(NUMPTSTOBUFFER) - 1, TGdkPoint]
-    next*: PPOINTBLOCK
-
-  PGdkDrawableClass* = ptr TGdkDrawableClass
-  TGdkDrawableClass* = object of TGObjectClass
-    create_gc*: proc (drawable: PGdkDrawable, values: PGdkGCValues,
-                      mask: TGdkGCValuesMask): PGdkGC{.cdecl.}
-    draw_rectangle*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                           x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_arc*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint,
-                     y: gint, width: gint, height: gint, angle1: gint,
-                     angle2: gint){.cdecl.}
-    draw_polygon*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                         points: PGdkPoint, npoints: gint){.cdecl.}
-    draw_text*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC,
-                      x: gint, y: gint, text: cstring, text_length: gint){.cdecl.}
-    draw_text_wc*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC,
-                         x: gint, y: gint, text: PGdkWChar, text_length: gint){.
-        cdecl.}
-    draw_drawable*: proc (drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                          xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                          width: gint, height: gint){.cdecl.}
-    draw_points*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                        npoints: gint){.cdecl.}
-    draw_segments*: proc (drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
-                          nsegs: gint){.cdecl.}
-    draw_lines*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                       npoints: gint){.cdecl.}
-    draw_glyphs*: proc (drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont,
-                        x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl.}
-    draw_image*: proc (drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage,
-                       xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                       width: gint, height: gint){.cdecl.}
-    get_depth*: proc (drawable: PGdkDrawable): gint{.cdecl.}
-    get_size*: proc (drawable: PGdkDrawable, width: Pgint, height: Pgint){.cdecl.}
-    set_colormap*: proc (drawable: PGdkDrawable, cmap: PGdkColormap){.cdecl.}
-    get_colormap*: proc (drawable: PGdkDrawable): PGdkColormap{.cdecl.}
-    get_visual*: proc (drawable: PGdkDrawable): PGdkVisual{.cdecl.}
-    get_screen*: proc (drawable: PGdkDrawable): PGdkScreen{.cdecl.}
-    get_image*: proc (drawable: PGdkDrawable, x: gint, y: gint, width: gint,
-                      height: gint): PGdkImage{.cdecl.}
-    get_clip_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.}
-    get_visible_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.}
-    get_composite_drawable*: proc (drawable: PGdkDrawable, x: gint, y: gint,
-                                   width: gint, height: gint,
-                                   composite_x_offset: Pgint,
-                                   composite_y_offset: Pgint): PGdkDrawable{.
-        cdecl.}
-    `draw_pixbuf`*: proc (drawable: PGdkDrawable, gc: PGdkGC,
-                          pixbuf: PGdkPixbuf, src_x: gint, src_y: gint,
-                          dest_x: gint, dest_y: gint, width: gint, height: gint,
-                          dither: TGdkRgbDither, x_dither: gint, y_dither: gint){.
-        cdecl.}
-    `copy_to_image`*: proc (drawable: PGdkDrawable, image: PGdkImage,
-                            src_x: gint, src_y: gint, dest_x: gint,
-                            dest_y: gint, width: gint, height: gint): PGdkImage{.
-        cdecl.}
-    `gdk_reserved1`: proc (){.cdecl.}
-    `gdk_reserved2`: proc (){.cdecl.}
-    `gdk_reserved3`: proc (){.cdecl.}
-    `gdk_reserved4`: proc (){.cdecl.}
-    `gdk_reserved5`: proc (){.cdecl.}
-    `gdk_reserved6`: proc (){.cdecl.}
-    `gdk_reserved7`: proc (){.cdecl.}
-    `gdk_reserved9`: proc (){.cdecl.}
-    `gdk_reserved10`: proc (){.cdecl.}
-    `gdk_reserved11`: proc (){.cdecl.}
-    `gdk_reserved12`: proc (){.cdecl.}
-    `gdk_reserved13`: proc (){.cdecl.}
-    `gdk_reserved14`: proc (){.cdecl.}
-    `gdk_reserved15`: proc (){.cdecl.}
-    `gdk_reserved16`: proc (){.cdecl.}
-
-  PGdkEvent* = ptr TGdkEvent
-  TGdkEventFunc* = proc (event: PGdkEvent, data: gpointer){.cdecl.}
-  PGdkXEvent* = ptr TGdkXEvent
-  TGdkXEvent* = proc ()
-  PGdkFilterReturn* = ptr TGdkFilterReturn
-  TGdkFilterReturn* = enum
-    GDK_FILTER_CONTINUE, GDK_FILTER_TRANSLATE, GDK_FILTER_REMOVE
-  TGdkFilterFunc* = proc (xevent: PGdkXEvent, event: PGdkEvent, data: gpointer): TGdkFilterReturn{.
-      cdecl.}
-  PGdkEventType* = ptr TGdkEventType
-  TGdkEventType* = gint
-  PGdkEventMask* = ptr TGdkEventMask
-  TGdkEventMask* = gint32
-  PGdkVisibilityState* = ptr TGdkVisibilityState
-  TGdkVisibilityState* = enum
-    GDK_VISIBILITY_UNOBSCURED, GDK_VISIBILITY_PARTIAL,
-    GDK_VISIBILITY_FULLY_OBSCURED
-  PGdkScrollDirection* = ptr TGdkScrollDirection
-  TGdkScrollDirection* = enum
-    GDK_SCROLL_UP, GDK_SCROLL_DOWN, GDK_SCROLL_LEFT, GDK_SCROLL_RIGHT
-  PGdkNotifyType* = ptr TGdkNotifyType
-  TGdkNotifyType* = int
-  PGdkCrossingMode* = ptr TGdkCrossingMode
-  TGdkCrossingMode* = enum
-    GDK_CROSSING_NORMAL, GDK_CROSSING_GRAB, GDK_CROSSING_UNGRAB
-  PGdkPropertyState* = ptr TGdkPropertyState
-  TGdkPropertyState* = enum
-    GDK_PROPERTY_NEW_VALUE, GDK_PROPERTY_STATE_DELETE
-  PGdkWindowState* = ptr TGdkWindowState
-  TGdkWindowState* = gint
-  PGdkSettingAction* = ptr TGdkSettingAction
-  TGdkSettingAction* = enum
-    GDK_SETTING_ACTION_NEW, GDK_SETTING_ACTION_CHANGED,
-    GDK_SETTING_ACTION_DELETED
-  PGdkEventAny* = ptr TGdkEventAny
-  TGdkEventAny* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-
-  PGdkEventExpose* = ptr TGdkEventExpose
-  TGdkEventExpose* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    area*: TGdkRectangle
-    region*: PGdkRegion
-    count*: gint
-
-  PGdkEventNoExpose* = ptr TGdkEventNoExpose
-  TGdkEventNoExpose* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-
-  PGdkEventVisibility* = ptr TGdkEventVisibility
-  TGdkEventVisibility* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    state*: TGdkVisibilityState
-
-  PGdkEventMotion* = ptr TGdkEventMotion
-  TGdkEventMotion* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    axes*: Pgdouble
-    state*: guint
-    is_hint*: gint16
-    device*: PGdkDevice
-    x_root*: gdouble
-    y_root*: gdouble
-
-  PGdkEventButton* = ptr TGdkEventButton
-  TGdkEventButton* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    axes*: Pgdouble
-    state*: guint
-    button*: guint
-    device*: PGdkDevice
-    x_root*: gdouble
-    y_root*: gdouble
-
-  PGdkEventScroll* = ptr TGdkEventScroll
-  TGdkEventScroll* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    state*: guint
-    direction*: TGdkScrollDirection
-    device*: PGdkDevice
-    x_root*: gdouble
-    y_root*: gdouble
-
-  PGdkEventKey* = ptr TGdkEventKey
-  TGdkEventKey* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    state*: guint
-    keyval*: guint
-    length*: gint
-    `string`*: cstring
-    hardware_keycode*: guint16
-    group*: guint8
-
-  PGdkEventCrossing* = ptr TGdkEventCrossing
-  TGdkEventCrossing* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    subwindow*: PGdkWindow
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    x_root*: gdouble
-    y_root*: gdouble
-    mode*: TGdkCrossingMode
-    detail*: TGdkNotifyType
-    focus*: gboolean
-    state*: guint
-
-  PGdkEventFocus* = ptr TGdkEventFocus
-  TGdkEventFocus* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    `in`*: gint16
-
-  PGdkEventConfigure* = ptr TGdkEventConfigure
-  TGdkEventConfigure* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-
-  PGdkEventProperty* = ptr TGdkEventProperty
-  TGdkEventProperty* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    atom*: TGdkAtom
-    time*: guint32
-    state*: guint
-
-  TGdkNativeWindow* = pointer
-  PGdkEventSelection* = ptr TGdkEventSelection
-  TGdkEventSelection* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    selection*: TGdkAtom
-    target*: TGdkAtom
-    `property`*: TGdkAtom
-    time*: guint32
-    requestor*: TGdkNativeWindow
-
-  PGdkEventProximity* = ptr TGdkEventProximity
-  TGdkEventProximity* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    device*: PGdkDevice
-
-  PmatDUMMY* = ptr TmatDUMMY
-  TmatDUMMY* {.final, pure.} = object
-    b*: array[0..19, char]
-
-  PGdkEventClient* = ptr TGdkEventClient
-  TGdkEventClient* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    message_type*: TGdkAtom
-    data_format*: gushort
-    b*: array[0..19, char]
-
-  PGdkEventSetting* = ptr TGdkEventSetting
-  TGdkEventSetting* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    action*: TGdkSettingAction
-    name*: cstring
-
-  PGdkEventWindowState* = ptr TGdkEventWindowState
-  TGdkEventWindowState* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    changed_mask*: TGdkWindowState
-    new_window_state*: TGdkWindowState
-
-  PGdkEventDND* = ptr TGdkEventDND
-  TGdkEventDND* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    context*: PGdkDragContext
-    time*: guint32
-    x_root*: gshort
-    y_root*: gshort
-
-  TGdkEvent* {.final, pure.} = object
-    data*: array[0..255, char] # union of
-                               # `type`: TGdkEventType
-                               #  any: TGdkEventAny
-                               #  expose: TGdkEventExpose
-                               #  no_expose: TGdkEventNoExpose
-                               #  visibility: TGdkEventVisibility
-                               #  motion: TGdkEventMotion
-                               #  button: TGdkEventButton
-                               #  scroll: TGdkEventScroll
-                               #  key: TGdkEventKey
-                               #  crossing: TGdkEventCrossing
-                               #  focus_change: TGdkEventFocus
-                               #  configure: TGdkEventConfigure
-                               #  `property`: TGdkEventProperty
-                               #  selection: TGdkEventSelection
-                               #  proximity: TGdkEventProximity
-                               #  client: TGdkEventClient
-                               #  dnd: TGdkEventDND
-                               #  window_state: TGdkEventWindowState
-                               #  setting: TGdkEventSetting
-
-  PGdkGCClass* = ptr TGdkGCClass
-  TGdkGCClass* = object of TGObjectClass
-    get_values*: proc (gc: PGdkGC, values: PGdkGCValues){.cdecl.}
-    set_values*: proc (gc: PGdkGC, values: PGdkGCValues, mask: TGdkGCValuesMask){.
-        cdecl.}
-    set_dashes*: proc (gc: PGdkGC, dash_offset: gint,
-                       dash_list: openarray[gint8]){.cdecl.}
-    `gdk_reserved1`*: proc (){.cdecl.}
-    `gdk_reserved2`*: proc (){.cdecl.}
-    `gdk_reserved3`*: proc (){.cdecl.}
-    `gdk_reserved4`*: proc (){.cdecl.}
-
-  PGdkImageClass* = ptr TGdkImageClass
-  TGdkImageClass* = object of TGObjectClass
-
-  TGdkImage* = object of TGObject
-    `type`*: TGdkImageType
-    visual*: PGdkVisual
-    byte_order*: TGdkByteOrder
-    width*: gint
-    height*: gint
-    depth*: guint16
-    bpp*: guint16
-    bpl*: guint16
-    bits_per_pixel*: guint16
-    mem*: gpointer
-    colormap*: PGdkColormap
-    windowing_data*: gpointer
-
-  PGdkExtensionMode* = ptr TGdkExtensionMode
-  TGdkExtensionMode* = enum
-    GDK_EXTENSION_EVENTS_NONE, GDK_EXTENSION_EVENTS_ALL,
-    GDK_EXTENSION_EVENTS_CURSOR
-  PGdkInputSource* = ptr TGdkInputSource
-  TGdkInputSource* = enum
-    GDK_SOURCE_MOUSE, GDK_SOURCE_PEN, GDK_SOURCE_ERASER, GDK_SOURCE_CURSOR
-  PGdkInputMode* = ptr TGdkInputMode
-  TGdkInputMode* = enum
-    GDK_MODE_DISABLED, GDK_MODE_SCREEN, GDK_MODE_WINDOW
-  PGdkAxisUse* = ptr TGdkAxisUse
-  TGdkAxisUse* = int32
-  PGdkDeviceKey* = ptr TGdkDeviceKey
-  TGdkDeviceKey* {.final, pure.} = object
-    keyval*: guint
-    modifiers*: TGdkModifierType
-
-  PGdkDeviceAxis* = ptr TGdkDeviceAxis
-  TGdkDeviceAxis* {.final, pure.} = object
-    use*: TGdkAxisUse
-    min*: gdouble
-    max*: gdouble
-
-  TGdkDevice* = object of TGObject
-    name*: cstring
-    source*: TGdkInputSource
-    mode*: TGdkInputMode
-    has_cursor*: gboolean
-    num_axes*: gint
-    axes*: PGdkDeviceAxis
-    num_keys*: gint
-    keys*: PGdkDeviceKey
-
-  TGdkTimeCoord* {.final, pure.} = object
-    time*: guint32
-    axes*: array[0..(GDK_MAX_TIMECOORD_AXES) - 1, gdouble]
-
-  PGdkKeymapKey* = ptr TGdkKeymapKey
-  TGdkKeymapKey* {.final, pure.} = object
-    keycode*: guint
-    group*: gint
-    level*: gint
-
-  PGdkKeymap* = ptr TGdkKeymap
-  TGdkKeymap* = object of TGObject
-    display*: PGdkDisplay
-
-  PGdkKeymapClass* = ptr TGdkKeymapClass
-  TGdkKeymapClass* = object of TGObjectClass
-    direction_changed*: proc (keymap: PGdkKeymap){.cdecl.}
-
-  PGdkPangoAttrStipple* = ptr TGdkPangoAttrStipple
-  TGdkPangoAttrStipple* {.final, pure.} = object
-    attr*: TPangoAttribute
-    stipple*: PGdkBitmap
-
-  PGdkPangoAttrEmbossed* = ptr TGdkPangoAttrEmbossed
-  TGdkPangoAttrEmbossed* {.final, pure.} = object
-    attr*: TPangoAttribute
-    embossed*: gboolean
-
-  PGdkPixmapObject* = ptr TGdkPixmapObject
-  TGdkPixmapObject* = object of TGdkDrawable
-    impl*: PGdkDrawable
-    depth*: gint
-
-  PGdkPixmapObjectClass* = ptr TGdkPixmapObjectClass
-  TGdkPixmapObjectClass* = object of TGdkDrawableClass
-
-  PGdkPropMode* = ptr TGdkPropMode
-  TGdkPropMode* = enum
-    GDK_PROP_MODE_REPLACE, GDK_PROP_MODE_PREPEND, GDK_PROP_MODE_APPEND
-  PGdkFillRule* = ptr TGdkFillRule
-  TGdkFillRule* = enum
-    GDK_EVEN_ODD_RULE, GDK_WINDING_RULE
-  PGdkOverlapType* = ptr TGdkOverlapType
-  TGdkOverlapType* = enum
-    GDK_OVERLAP_RECTANGLE_IN, GDK_OVERLAP_RECTANGLE_OUT,
-    GDK_OVERLAP_RECTANGLE_PART
-  TGdkSpanFunc* = proc (span: PGdkSpan, data: gpointer){.cdecl.}
-  PGdkRgbCmap* = ptr TGdkRgbCmap
-  TGdkRgbCmap* {.final, pure.} = object
-    colors*: array[0..255, guint32]
-    n_colors*: gint
-    info_list*: PGSList
-
-  TGdkDisplay* = object of TGObject
-    queued_events*: PGList
-    queued_tail*: PGList
-    button_click_time*: array[0..1, guint32]
-    button_window*: array[0..1, PGdkWindow]
-    button_number*: array[0..1, guint]
-    double_click_time*: guint
-
-  PGdkDisplayClass* = ptr TGdkDisplayClass
-  TGdkDisplayClass* = object of TGObjectClass
-    get_display_name*: proc (display: PGdkDisplay): cstring{.cdecl.}
-    get_n_screens*: proc (display: PGdkDisplay): gint{.cdecl.}
-    get_screen*: proc (display: PGdkDisplay, screen_num: gint): PGdkScreen{.
-        cdecl.}
-    get_default_screen*: proc (display: PGdkDisplay): PGdkScreen{.cdecl.}
-
-  PGdkScreenClass* = ptr TGdkScreenClass
-  TGdkScreenClass* = object of TGObjectClass
-    get_display*: proc (screen: PGdkScreen): PGdkDisplay{.cdecl.}
-    get_width*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_height*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_width_mm*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_height_mm*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_root_depth*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_screen_num*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_root_window*: proc (screen: PGdkScreen): PGdkWindow{.cdecl.}
-    get_default_colormap*: proc (screen: PGdkScreen): PGdkColormap{.cdecl.}
-    set_default_colormap*: proc (screen: PGdkScreen, colormap: PGdkColormap){.
-        cdecl.}
-    get_window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{.
-        cdecl.}
-    get_n_monitors*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_monitor_geometry*: proc (screen: PGdkScreen, monitor_num: gint,
-                                 dest: PGdkRectangle){.cdecl.}
-
-  PGdkGrabStatus* = ptr TGdkGrabStatus
-  TGdkGrabStatus* = int
-  TGdkInputFunction* = proc (data: gpointer, source: gint,
-                             condition: TGdkInputCondition){.cdecl.}
-  TGdkDestroyNotify* = proc (data: gpointer){.cdecl.}
-  TGdkSpan* {.final, pure.} = object
-    x*: gint
-    y*: gint
-    width*: gint
-
-  PGdkWindowClass* = ptr TGdkWindowClass
-  TGdkWindowClass* = enum
-    GDK_INPUT_OUTPUT, GDK_INPUT_ONLY
-  PGdkWindowType* = ptr TGdkWindowType
-  TGdkWindowType* = enum
-    GDK_WINDOW_ROOT, GDK_WINDOW_TOPLEVEL, GDK_WINDOW_CHILD, GDK_WINDOW_DIALOG,
-    GDK_WINDOW_TEMP, GDK_WINDOW_FOREIGN
-  PGdkWindowAttributesType* = ptr TGdkWindowAttributesType
-  TGdkWindowAttributesType* = int32
-  PGdkWindowHints* = ptr TGdkWindowHints
-  TGdkWindowHints* = int32
-  PGdkWindowTypeHint* = ptr TGdkWindowTypeHint
-  TGdkWindowTypeHint* = enum
-    GDK_WINDOW_TYPE_HINT_NORMAL, GDK_WINDOW_TYPE_HINT_DIALOG,
-    GDK_WINDOW_TYPE_HINT_MENU, GDK_WINDOW_TYPE_HINT_TOOLBAR
-  PGdkWMDecoration* = ptr TGdkWMDecoration
-  TGdkWMDecoration* = int32
-  PGdkWMFunction* = ptr TGdkWMFunction
-  TGdkWMFunction* = int32
-  PGdkGravity* = ptr TGdkGravity
-  TGdkGravity* = int
-  PGdkWindowEdge* = ptr TGdkWindowEdge
-  TGdkWindowEdge* = enum
-    GDK_WINDOW_EDGE_NORTH_WEST, GDK_WINDOW_EDGE_NORTH,
-    GDK_WINDOW_EDGE_NORTH_EAST, GDK_WINDOW_EDGE_WEST, GDK_WINDOW_EDGE_EAST,
-    GDK_WINDOW_EDGE_SOUTH_WEST, GDK_WINDOW_EDGE_SOUTH,
-    GDK_WINDOW_EDGE_SOUTH_EAST
-  PGdkWindowAttr* = ptr TGdkWindowAttr
-  TGdkWindowAttr* {.final, pure.} = object
-    title*: cstring
-    event_mask*: gint
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-    wclass*: TGdkWindowClass
-    visual*: PGdkVisual
-    colormap*: PGdkColormap
-    window_type*: TGdkWindowType
-    cursor*: PGdkCursor
-    wmclass_name*: cstring
-    wmclass_class*: cstring
-    override_redirect*: gboolean
-
-  PGdkGeometry* = ptr TGdkGeometry
-  TGdkGeometry* {.final, pure.} = object
-    min_width*: gint
-    min_height*: gint
-    max_width*: gint
-    max_height*: gint
-    base_width*: gint
-    base_height*: gint
-    width_inc*: gint
-    height_inc*: gint
-    min_aspect*: gdouble
-    max_aspect*: gdouble
-    win_gravity*: TGdkGravity
-
-  PGdkPointerHooks* = ptr TGdkPointerHooks
-  TGdkPointerHooks* {.final, pure.} = object
-    get_pointer*: proc (window: PGdkWindow, x: Pgint, y: Pgint,
-                        mask: PGdkModifierType): PGdkWindow{.cdecl.}
-    window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{.
-        cdecl.}
-
-  PGdkWindowObject* = ptr TGdkWindowObject
-  TGdkWindowObject* = object of TGdkDrawable
-    impl*: PGdkDrawable
-    parent*: PGdkWindowObject
-    user_data*: gpointer
-    x*: gint
-    y*: gint
-    extension_events*: gint
-    filters*: PGList
-    children*: PGList
-    bg_color*: TGdkColor
-    bg_pixmap*: PGdkPixmap
-    paint_stack*: PGSList
-    update_area*: PGdkRegion
-    update_freeze_count*: guint
-    window_type*: guint8
-    depth*: guint8
-    resize_count*: guint8
-    state*: TGdkWindowState
-    flag0*: guint16
-    event_mask*: TGdkEventMask
-
-  PGdkWindowObjectClass* = ptr TGdkWindowObjectClass
-  TGdkWindowObjectClass* = object of TGdkDrawableClass
-
-  gdk_window_invalidate_maybe_recurse_child_func* = proc (para1: PGdkWindow,
-      para2: gpointer): gboolean
-
-proc GDK_TYPE_COLORMAP*(): GType
-proc GDK_COLORMAP*(anObject: pointer): PGdkColormap
-proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass
-proc GDK_IS_COLORMAP*(anObject: pointer): bool
-proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool
-proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass
-proc GDK_TYPE_COLOR*(): GType
-proc gdk_colormap_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                      importc: "gdk_colormap_get_type".}
-proc gdk_colormap_new*(visual: PGdkVisual, allocate: gboolean): PGdkColormap{.
-    cdecl, dynlib: gdklib, importc: "gdk_colormap_new".}
-proc gdk_colormap_alloc_colors*(colormap: PGdkColormap, colors: PGdkColor,
-                                ncolors: gint, writeable: gboolean,
-                                best_match: gboolean, success: Pgboolean): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_colors".}
-proc gdk_colormap_alloc_color*(colormap: PGdkColormap, color: PGdkColor,
-                               writeable: gboolean, best_match: gboolean): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_color".}
-proc gdk_colormap_free_colors*(colormap: PGdkColormap, colors: PGdkColor,
-                               ncolors: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_colormap_free_colors".}
-proc gdk_colormap_query_color*(colormap: PGdkColormap, pixel: gulong,
-                               result: PGdkColor){.cdecl, dynlib: gdklib,
-    importc: "gdk_colormap_query_color".}
-proc gdk_colormap_get_visual*(colormap: PGdkColormap): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_colormap_get_visual".}
-proc gdk_color_copy*(color: PGdkColor): PGdkColor{.cdecl, dynlib: gdklib,
-    importc: "gdk_color_copy".}
-proc gdk_color_free*(color: PGdkColor){.cdecl, dynlib: gdklib,
-                                        importc: "gdk_color_free".}
-proc gdk_color_parse*(spec: cstring, color: PGdkColor): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_color_parse".}
-proc gdk_color_hash*(colora: PGdkColor): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_color_hash".}
-proc gdk_color_equal*(colora: PGdkColor, colorb: PGdkColor): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_color_equal".}
-proc gdk_color_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_color_get_type".}
-const
-  GDK_CURSOR_IS_PIXMAP* = - (1)
-  GDK_X_CURSOR* = 0
-  GDK_ARROW* = 2
-  GDK_BASED_ARROW_DOWN* = 4
-  GDK_BASED_ARROW_UP* = 6
-  GDK_BOAT* = 8
-  GDK_BOGOSITY* = 10
-  GDK_BOTTOM_LEFT_CORNER* = 12
-  GDK_BOTTOM_RIGHT_CORNER* = 14
-  GDK_BOTTOM_SIDE* = 16
-  GDK_BOTTOM_TEE* = 18
-  GDK_BOX_SPIRAL* = 20
-  GDK_CENTER_PTR* = 22
-  GDK_CIRCLE* = 24
-  GDK_CLOCK* = 26
-  GDK_COFFEE_MUG* = 28
-  GDK_CROSS* = 30
-  GDK_CROSS_REVERSE* = 32
-  GDK_CROSSHAIR* = 34
-  GDK_DIAMOND_CROSS* = 36
-  GDK_DOT* = 38
-  GDK_DOTBOX* = 40
-  GDK_DOUBLE_ARROW* = 42
-  GDK_DRAFT_LARGE* = 44
-  GDK_DRAFT_SMALL* = 46
-  GDK_DRAPED_BOX* = 48
-  GDK_EXCHANGE* = 50
-  GDK_FLEUR* = 52
-  GDK_GOBBLER* = 54
-  GDK_GUMBY* = 56
-  GDK_HAND1* = 58
-  GDK_HAND2* = 60
-  GDK_HEART* = 62
-  GDK_ICON* = 64
-  GDK_IRON_CROSS* = 66
-  GDK_LEFT_PTR* = 68
-  GDK_LEFT_SIDE* = 70
-  GDK_LEFT_TEE* = 72
-  GDK_LEFTBUTTON* = 74
-  GDK_LL_ANGLE* = 76
-  GDK_LR_ANGLE* = 78
-  GDK_MAN* = 80
-  GDK_MIDDLEBUTTON* = 82
-  GDK_MOUSE* = 84
-  GDK_PENCIL* = 86
-  GDK_PIRATE* = 88
-  GDK_PLUS* = 90
-  GDK_QUESTION_ARROW* = 92
-  GDK_RIGHT_PTR* = 94
-  GDK_RIGHT_SIDE* = 96
-  GDK_RIGHT_TEE* = 98
-  GDK_RIGHTBUTTON* = 100
-  GDK_RTL_LOGO* = 102
-  GDK_SAILBOAT* = 104
-  GDK_SB_DOWN_ARROW* = 106
-  GDK_SB_H_DOUBLE_ARROW* = 108
-  GDK_SB_LEFT_ARROW* = 110
-  GDK_SB_RIGHT_ARROW* = 112
-  GDK_SB_UP_ARROW* = 114
-  GDK_SB_V_DOUBLE_ARROW* = 116
-  GDK_SHUTTLE* = 118
-  GDK_SIZING* = 120
-  GDK_SPIDER* = 122
-  GDK_SPRAYCAN* = 124
-  GDK_STAR* = 126
-  GDK_TARGET* = 128
-  GDK_TCROSS* = 130
-  GDK_TOP_LEFT_ARROW* = 132
-  GDK_TOP_LEFT_CORNER* = 134
-  GDK_TOP_RIGHT_CORNER* = 136
-  GDK_TOP_SIDE* = 138
-  GDK_TOP_TEE* = 140
-  GDK_TREK* = 142
-  GDK_UL_ANGLE* = 144
-  GDK_UMBRELLA* = 146
-  GDK_UR_ANGLE* = 148
-  GDK_WATCH* = 150
-  GDK_XTERM* = 152
-  GDK_LAST_CURSOR* = GDK_XTERM + 1
-
-proc GDK_TYPE_CURSOR*(): GType
-proc gdk_cursor_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_cursor_get_type".}
-proc gdk_cursor_new_for_screen*(screen: PGdkScreen, cursor_type: TGdkCursorType): PGdkCursor{.
-    cdecl, dynlib: gdklib, importc: "gdk_cursor_new_for_screen".}
-proc gdk_cursor_new_from_pixmap*(source: PGdkPixmap, mask: PGdkPixmap,
-                                 fg: PGdkColor, bg: PGdkColor, x: gint, y: gint): PGdkCursor{.
-    cdecl, dynlib: gdklib, importc: "gdk_cursor_new_from_pixmap".}
-proc gdk_cursor_get_screen*(cursor: PGdkCursor): PGdkScreen{.cdecl,
-    dynlib: gdklib, importc: "gdk_cursor_get_screen".}
-proc gdk_cursor_ref*(cursor: PGdkCursor): PGdkCursor{.cdecl, dynlib: gdklib,
-    importc: "gdk_cursor_ref".}
-proc gdk_cursor_unref*(cursor: PGdkCursor){.cdecl, dynlib: gdklib,
-    importc: "gdk_cursor_unref".}
-const
-  GDK_ACTION_DEFAULT* = 1 shl 0
-  GDK_ACTION_COPY* = 1 shl 1
-  GDK_ACTION_MOVE* = 1 shl 2
-  GDK_ACTION_LINK* = 1 shl 3
-  GDK_ACTION_PRIVATE* = 1 shl 4
-  GDK_ACTION_ASK* = 1 shl 5
-
-proc GDK_TYPE_DRAG_CONTEXT*(): GType
-proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext
-proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass
-proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool
-proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool
-proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass
-proc gdk_drag_context_get_type*(): GType{.cdecl, dynlib: gdklib,
-    importc: "gdk_drag_context_get_type".}
-proc gdk_drag_context_new*(): PGdkDragContext{.cdecl, dynlib: gdklib,
-    importc: "gdk_drag_context_new".}
-proc gdk_drag_status*(context: PGdkDragContext, action: TGdkDragAction,
-                      time: guint32){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_drag_status".}
-proc gdk_drop_reply*(context: PGdkDragContext, ok: gboolean, time: guint32){.
-    cdecl, dynlib: gdklib, importc: "gdk_drop_reply".}
-proc gdk_drop_finish*(context: PGdkDragContext, success: gboolean, time: guint32){.
-    cdecl, dynlib: gdklib, importc: "gdk_drop_finish".}
-proc gdk_drag_get_selection*(context: PGdkDragContext): TGdkAtom{.cdecl,
-    dynlib: gdklib, importc: "gdk_drag_get_selection".}
-proc gdk_drag_begin*(window: PGdkWindow, targets: PGList): PGdkDragContext{.
-    cdecl, dynlib: gdklib, importc: "gdk_drag_begin".}
-proc gdk_drag_get_protocol_for_display*(display: PGdkDisplay, xid: guint32,
-                                        protocol: PGdkDragProtocol): guint32{.
-    cdecl, dynlib: gdklib, importc: "gdk_drag_get_protocol_for_display".}
-proc gdk_drag_find_window*(context: PGdkDragContext, drag_window: PGdkWindow,
-                           x_root: gint, y_root: gint, w: var PGdkWindow,
-                           protocol: PGdkDragProtocol){.cdecl, dynlib: gdklib,
-    importc: "gdk_drag_find_window".}
-proc gdk_drag_motion*(context: PGdkDragContext, dest_window: PGdkWindow,
-                      protocol: TGdkDragProtocol, x_root: gint, y_root: gint,
-                      suggested_action: TGdkDragAction,
-                      possible_actions: TGdkDragAction, time: guint32): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_drag_motion".}
-proc gdk_drag_drop*(context: PGdkDragContext, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_drag_drop".}
-proc gdk_drag_abort*(context: PGdkDragContext, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_drag_abort".}
-proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool
-proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion)
-proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool
-proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox,
-                               Rx1, Ry1, Rx2, Ry2: gint): bool
-proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox,
-                        rx1, ry1, rx2, ry2: gint)
-proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox,
-                           rx1, ry1, rx2, ry2: gint)
-proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool
-proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool
-proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool
-proc GDK_TYPE_DRAWABLE*(): GType
-proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable
-proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass
-proc GDK_IS_DRAWABLE*(anObject: Pointer): bool
-proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool
-proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass
-proc gdk_drawable_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                      importc: "gdk_drawable_get_type".}
-proc gdk_drawable_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint){.
-    cdecl, dynlib: gdklib, importc: "gdk_drawable_get_size".}
-proc gdk_drawable_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap){.
-    cdecl, dynlib: gdklib, importc: "gdk_drawable_set_colormap".}
-proc gdk_drawable_get_colormap*(drawable: PGdkDrawable): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_colormap".}
-proc gdk_drawable_get_visual*(drawable: PGdkDrawable): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_visual".}
-proc gdk_drawable_get_depth*(drawable: PGdkDrawable): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_depth".}
-proc gdk_drawable_get_screen*(drawable: PGdkDrawable): PGdkScreen{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_screen".}
-proc gdk_drawable_get_display*(drawable: PGdkDrawable): PGdkDisplay{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_display".}
-proc gdk_draw_point*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_point".}
-proc gdk_draw_line*(drawable: PGdkDrawable, gc: PGdkGC, x1: gint, y1: gint,
-                    x2: gint, y2: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_line".}
-proc gdk_draw_rectangle*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                         x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_rectangle".}
-proc gdk_draw_arc*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint,
-                   y: gint, width: gint, height: gint, angle1: gint,
-                   angle2: gint){.cdecl, dynlib: gdklib, importc: "gdk_draw_arc".}
-proc gdk_draw_polygon*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                       points: PGdkPoint, npoints: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_polygon".}
-proc gdk_draw_drawable*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                        xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                        width: gint, height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_drawable".}
-proc gdk_draw_image*(drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage,
-                     xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                     width: gint, height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_image".}
-proc gdk_draw_points*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                      npoints: gint){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_draw_points".}
-proc gdk_draw_segments*(drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
-                        nsegs: gint){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_draw_segments".}
-proc gdk_draw_lines*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                     npoints: gint){.cdecl, dynlib: gdklib,
-                                     importc: "gdk_draw_lines".}
-proc gdk_draw_glyphs*(drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont,
-                      x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_glyphs".}
-proc gdk_draw_layout_line*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                           line: PPangoLayoutLine){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_layout_line".}
-proc gdk_draw_layout*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                      layout: PPangoLayout){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_layout".}
-proc gdk_draw_layout_line_with_colors*(drawable: PGdkDrawable, gc: PGdkGC,
-                                       x: gint, y: gint, line: PPangoLayoutLine,
-                                       foreground: PGdkColor,
-                                       background: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_layout_line_with_colors".}
-proc gdk_draw_layout_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                                  y: gint, layout: PPangoLayout,
-                                  foreground: PGdkColor, background: PGdkColor){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_layout_with_colors".}
-proc gdk_drawable_get_image*(drawable: PGdkDrawable, x: gint, y: gint,
-                             width: gint, height: gint): PGdkImage{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_image".}
-proc gdk_drawable_get_clip_region*(drawable: PGdkDrawable): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_clip_region".}
-proc gdk_drawable_get_visible_region*(drawable: PGdkDrawable): PGdkRegion{.
-    cdecl, dynlib: gdklib, importc: "gdk_drawable_get_visible_region".}
-const
-  GDK_NOTHING* = - (1)
-  GDK_DELETE* = 0
-  GDK_DESTROY* = 1
-  GDK_EXPOSE* = 2
-  GDK_MOTION_NOTIFY* = 3
-  GDK_BUTTON_PRESS* = 4
-  GDK_2BUTTON_PRESS* = 5
-  GDK_3BUTTON_PRESS* = 6
-  GDK_BUTTON_RELEASE* = 7
-  GDK_KEY_PRESS* = 8
-  GDK_KEY_RELEASE* = 9
-  GDK_ENTER_NOTIFY* = 10
-  GDK_LEAVE_NOTIFY* = 11
-  GDK_FOCUS_CHANGE* = 12
-  GDK_CONFIGURE* = 13
-  GDK_MAP* = 14
-  GDK_UNMAP* = 15
-  GDK_PROPERTY_NOTIFY* = 16
-  GDK_SELECTION_CLEAR* = 17
-  GDK_SELECTION_REQUEST* = 18
-  GDK_SELECTION_NOTIFY* = 19
-  GDK_PROXIMITY_IN* = 20
-  GDK_PROXIMITY_OUT* = 21
-  GDK_DRAG_ENTER* = 22
-  GDK_DRAG_LEAVE* = 23
-  GDK_DRAG_MOTION_EVENT* = 24
-  GDK_DRAG_STATUS_EVENT* = 25
-  GDK_DROP_START* = 26
-  GDK_DROP_FINISHED* = 27
-  GDK_CLIENT_EVENT* = 28
-  GDK_VISIBILITY_NOTIFY* = 29
-  GDK_NO_EXPOSE* = 30
-  GDK_SCROLL* = 31
-  GDK_WINDOW_STATE* = 32
-  GDK_SETTING* = 33
-  GDK_NOTIFY_ANCESTOR* = 0
-  GDK_NOTIFY_VIRTUAL* = 1
-  GDK_NOTIFY_INFERIOR* = 2
-  GDK_NOTIFY_NONLINEAR* = 3
-  GDK_NOTIFY_NONLINEAR_VIRTUAL* = 4
-  GDK_NOTIFY_UNKNOWN* = 5
-
-proc GDK_TYPE_EVENT*(): GType
-const
-  G_PRIORITY_DEFAULT* = 0
-  GDK_PRIORITY_EVENTS* = G_PRIORITY_DEFAULT
-    #GDK_PRIORITY_REDRAW* = G_PRIORITY_HIGH_IDLE + 20
-  GDK_EXPOSURE_MASK* = 1 shl 1
-  GDK_POINTER_MOTION_MASK* = 1 shl 2
-  GDK_POINTER_MOTION_HINT_MASK* = 1 shl 3
-  GDK_BUTTON_MOTION_MASK* = 1 shl 4
-  GDK_BUTTON1_MOTION_MASK* = 1 shl 5
-  GDK_BUTTON2_MOTION_MASK* = 1 shl 6
-  GDK_BUTTON3_MOTION_MASK* = 1 shl 7
-  GDK_BUTTON_PRESS_MASK* = 1 shl 8
-  GDK_BUTTON_RELEASE_MASK* = 1 shl 9
-  GDK_KEY_PRESS_MASK* = 1 shl 10
-  GDK_KEY_RELEASE_MASK* = 1 shl 11
-  GDK_ENTER_NOTIFY_MASK* = 1 shl 12
-  GDK_LEAVE_NOTIFY_MASK* = 1 shl 13
-  GDK_FOCUS_CHANGE_MASK* = 1 shl 14
-  GDK_STRUCTURE_MASK* = 1 shl 15
-  GDK_PROPERTY_CHANGE_MASK* = 1 shl 16
-  GDK_VISIBILITY_NOTIFY_MASK* = 1 shl 17
-  GDK_PROXIMITY_IN_MASK* = 1 shl 18
-  GDK_PROXIMITY_OUT_MASK* = 1 shl 19
-  GDK_SUBSTRUCTURE_MASK* = 1 shl 20
-  GDK_SCROLL_MASK* = 1 shl 21
-  GDK_ALL_EVENTS_MASK* = 0x003FFFFE
-  GDK_WINDOW_STATE_WITHDRAWN* = 1 shl 0
-  GDK_WINDOW_STATE_ICONIFIED* = 1 shl 1
-  GDK_WINDOW_STATE_MAXIMIZED* = 1 shl 2
-  GDK_WINDOW_STATE_STICKY* = 1 shl 3
-
-proc gdk_event_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_event_get_type".}
-proc gdk_events_pending*(): gboolean{.cdecl, dynlib: gdklib,
-                                      importc: "gdk_events_pending".}
-proc gdk_event_get*(): PGdkEvent{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_event_get".}
-proc gdk_event_peek*(): PGdkEvent{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_event_peek".}
-proc gdk_event_get_graphics_expose*(window: PGdkWindow): PGdkEvent{.cdecl,
-    dynlib: gdklib, importc: "gdk_event_get_graphics_expose".}
-proc gdk_event_put*(event: PGdkEvent){.cdecl, dynlib: gdklib,
-                                       importc: "gdk_event_put".}
-proc gdk_event_copy*(event: PGdkEvent): PGdkEvent{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_copy".}
-proc gdk_event_free*(event: PGdkEvent){.cdecl, dynlib: gdklib,
-                                        importc: "gdk_event_free".}
-proc gdk_event_get_time*(event: PGdkEvent): guint32{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_get_time".}
-proc gdk_event_get_state*(event: PGdkEvent, state: PGdkModifierType): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_event_get_state".}
-proc gdk_event_get_coords*(event: PGdkEvent, x_win: Pgdouble, y_win: Pgdouble): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_event_get_coords".}
-proc gdk_event_get_root_coords*(event: PGdkEvent, x_root: Pgdouble,
-                                y_root: Pgdouble): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_event_get_root_coords".}
-proc gdk_event_get_axis*(event: PGdkEvent, axis_use: TGdkAxisUse,
-                         value: Pgdouble): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_get_axis".}
-proc gdk_event_handler_set*(func: TGdkEventFunc, data: gpointer,
-                            notify: TGDestroyNotify){.cdecl, dynlib: gdklib,
-    importc: "gdk_event_handler_set".}
-proc gdk_set_show_events*(show_events: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_show_events".}
-proc gdk_get_show_events*(): gboolean{.cdecl, dynlib: gdklib,
-                                       importc: "gdk_get_show_events".}
-proc GDK_TYPE_FONT*(): GType
-proc gdk_font_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_font_get_type".}
-proc gdk_font_load_for_display*(display: PGdkDisplay, font_name: cstring): PGdkFont{.
-    cdecl, dynlib: gdklib, importc: "gdk_font_load_for_display".}
-proc gdk_fontset_load_for_display*(display: PGdkDisplay, fontset_name: cstring): PGdkFont{.
-    cdecl, dynlib: gdklib, importc: "gdk_fontset_load_for_display".}
-proc gdk_font_from_description_for_display*(display: PGdkDisplay,
-    font_desc: PPangoFontDescription): PGdkFont{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_from_description_for_display".}
-proc gdk_font_ref*(font: PGdkFont): PGdkFont{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_ref".}
-proc gdk_font_unref*(font: PGdkFont){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_font_unref".}
-proc gdk_font_id*(font: PGdkFont): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_id".}
-proc gdk_font_equal*(fonta: PGdkFont, fontb: PGdkFont): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_font_equal".}
-proc gdk_string_width*(font: PGdkFont, `string`: cstring): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_string_width".}
-proc gdk_text_width*(font: PGdkFont, text: cstring, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_width".}
-proc gdk_text_width_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_width_wc".}
-proc gdk_char_width*(font: PGdkFont, character: gchar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_width".}
-proc gdk_char_width_wc*(font: PGdkFont, character: TGdkWChar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_width_wc".}
-proc gdk_string_measure*(font: PGdkFont, `string`: cstring): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_string_measure".}
-proc gdk_text_measure*(font: PGdkFont, text: cstring, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_measure".}
-proc gdk_char_measure*(font: PGdkFont, character: gchar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_measure".}
-proc gdk_string_height*(font: PGdkFont, `string`: cstring): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_string_height".}
-proc gdk_text_height*(font: PGdkFont, text: cstring, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_height".}
-proc gdk_char_height*(font: PGdkFont, character: gchar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_height".}
-proc gdk_text_extents*(font: PGdkFont, text: cstring, text_length: gint,
-                       lbearing: Pgint, rbearing: Pgint, width: Pgint,
-                       ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_text_extents".}
-proc gdk_text_extents_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint,
-                          lbearing: Pgint, rbearing: Pgint, width: Pgint,
-                          ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_text_extents_wc".}
-proc gdk_string_extents*(font: PGdkFont, `string`: cstring, lbearing: Pgint,
-                         rbearing: Pgint, width: Pgint, ascent: Pgint,
-                         descent: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_string_extents".}
-proc gdk_font_get_display*(font: PGdkFont): PGdkDisplay{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_get_display".}
-const
-  GDK_GC_FOREGROUND* = 1 shl 0
-  GDK_GC_BACKGROUND* = 1 shl 1
-  GDK_GC_FONT* = 1 shl 2
-  GDK_GC_FUNCTION* = 1 shl 3
-  GDK_GC_FILL* = 1 shl 4
-  GDK_GC_TILE* = 1 shl 5
-  GDK_GC_STIPPLE* = 1 shl 6
-  GDK_GC_CLIP_MASK* = 1 shl 7
-  GDK_GC_SUBWINDOW* = 1 shl 8
-  GDK_GC_TS_X_ORIGIN* = 1 shl 9
-  GDK_GC_TS_Y_ORIGIN* = 1 shl 10
-  GDK_GC_CLIP_X_ORIGIN* = 1 shl 11
-  GDK_GC_CLIP_Y_ORIGIN* = 1 shl 12
-  GDK_GC_EXPOSURES* = 1 shl 13
-  GDK_GC_LINE_WIDTH* = 1 shl 14
-  GDK_GC_LINE_STYLE* = 1 shl 15
-  GDK_GC_CAP_STYLE* = 1 shl 16
-  GDK_GC_JOIN_STYLE* = 1 shl 17
-  GDK_CLIP_BY_CHILDREN* = 0
-  GDK_INCLUDE_INFERIORS* = 1
-
-proc GDK_TYPE_GC*(): GType
-proc GDK_GC*(anObject: Pointer): PGdkGC
-proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass
-proc GDK_IS_GC*(anObject: Pointer): bool
-proc GDK_IS_GC_CLASS*(klass: Pointer): bool
-proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass
-proc gdk_gc_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                importc: "gdk_gc_get_type".}
-proc gdk_gc_new*(drawable: PGdkDrawable): PGdkGC{.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_new".}
-proc gdk_gc_new_with_values*(drawable: PGdkDrawable, values: PGdkGCValues,
-                             values_mask: TGdkGCValuesMask): PGdkGC{.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_new_with_values".}
-proc gdk_gc_get_values*(gc: PGdkGC, values: PGdkGCValues){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_get_values".}
-proc gdk_gc_set_values*(gc: PGdkGC, values: PGdkGCValues,
-                        values_mask: TGdkGCValuesMask){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_values".}
-proc gdk_gc_set_foreground*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_foreground".}
-proc gdk_gc_set_background*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_background".}
-proc gdk_gc_set_function*(gc: PGdkGC, `function`: TGdkFunction){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_function".}
-proc gdk_gc_set_fill*(gc: PGdkGC, fill: TGdkFill){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_fill".}
-proc gdk_gc_set_tile*(gc: PGdkGC, tile: PGdkPixmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_tile".}
-proc gdk_gc_set_stipple*(gc: PGdkGC, stipple: PGdkPixmap){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_stipple".}
-proc gdk_gc_set_ts_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_ts_origin".}
-proc gdk_gc_set_clip_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_clip_origin".}
-proc gdk_gc_set_clip_mask*(gc: PGdkGC, mask: PGdkBitmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_clip_mask".}
-proc gdk_gc_set_clip_rectangle*(gc: PGdkGC, rectangle: PGdkRectangle){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_clip_rectangle".}
-proc gdk_gc_set_clip_region*(gc: PGdkGC, region: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_clip_region".}
-proc gdk_gc_set_subwindow*(gc: PGdkGC, mode: TGdkSubwindowMode){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_subwindow".}
-proc gdk_gc_set_exposures*(gc: PGdkGC, exposures: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_exposures".}
-proc gdk_gc_set_line_attributes*(gc: PGdkGC, line_width: gint,
-                                 line_style: TGdkLineStyle,
-                                 cap_style: TGdkCapStyle,
-                                 join_style: TGdkJoinStyle){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_line_attributes".}
-proc gdk_gc_set_dashes*(gc: PGdkGC, dash_offset: gint,
-                        dash_list: openarray[gint8]){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_dashes".}
-proc gdk_gc_offset*(gc: PGdkGC, x_offset: gint, y_offset: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_offset".}
-proc gdk_gc_copy*(dst_gc: PGdkGC, src_gc: PGdkGC){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_copy".}
-proc gdk_gc_set_colormap*(gc: PGdkGC, colormap: PGdkColormap){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_colormap".}
-proc gdk_gc_get_colormap*(gc: PGdkGC): PGdkColormap{.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_get_colormap".}
-proc gdk_gc_set_rgb_fg_color*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_rgb_fg_color".}
-proc gdk_gc_set_rgb_bg_color*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_rgb_bg_color".}
-proc gdk_gc_get_screen*(gc: PGdkGC): PGdkScreen{.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_get_screen".}
-proc GDK_TYPE_IMAGE*(): GType
-proc GDK_IMAGE*(anObject: Pointer): PGdkImage
-proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass
-proc GDK_IS_IMAGE*(anObject: Pointer): bool
-proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool
-proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass
-proc gdk_image_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_image_get_type".}
-proc gdk_image_new*(`type`: TGdkImageType, visual: PGdkVisual, width: gint,
-                    height: gint): PGdkImage{.cdecl, dynlib: gdklib,
-    importc: "gdk_image_new".}
-proc gdk_image_put_pixel*(image: PGdkImage, x: gint, y: gint, pixel: guint32){.
-    cdecl, dynlib: gdklib, importc: "gdk_image_put_pixel".}
-proc gdk_image_get_pixel*(image: PGdkImage, x: gint, y: gint): guint32{.cdecl,
-    dynlib: gdklib, importc: "gdk_image_get_pixel".}
-proc gdk_image_set_colormap*(image: PGdkImage, colormap: PGdkColormap){.cdecl,
-    dynlib: gdklib, importc: "gdk_image_set_colormap".}
-proc gdk_image_get_colormap*(image: PGdkImage): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_image_get_colormap".}
-const
-  GDK_AXIS_IGNORE* = 0
-  GDK_AXIS_X* = 1
-  GDK_AXIS_Y* = 2
-  GDK_AXIS_PRESSURE* = 3
-  GDK_AXIS_XTILT* = 4
-  GDK_AXIS_YTILT* = 5
-  GDK_AXIS_WHEEL* = 6
-  GDK_AXIS_LAST* = 7
-
-proc GDK_TYPE_DEVICE*(): GType
-proc GDK_DEVICE*(anObject: Pointer): PGdkDevice
-proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass
-proc GDK_IS_DEVICE*(anObject: Pointer): bool
-proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool
-proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass
-proc gdk_device_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_device_get_type".}
-proc gdk_device_set_source*(device: PGdkDevice, source: TGdkInputSource){.cdecl,
-    dynlib: gdklib, importc: "gdk_device_set_source".}
-proc gdk_device_set_mode*(device: PGdkDevice, mode: TGdkInputMode): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_device_set_mode".}
-proc gdk_device_set_key*(device: PGdkDevice, index: guint, keyval: guint,
-                         modifiers: TGdkModifierType){.cdecl, dynlib: gdklib,
-    importc: "gdk_device_set_key".}
-proc gdk_device_set_axis_use*(device: PGdkDevice, index: guint, use: TGdkAxisUse){.
-    cdecl, dynlib: gdklib, importc: "gdk_device_set_axis_use".}
-proc gdk_device_get_state*(device: PGdkDevice, window: PGdkWindow,
-                           axes: Pgdouble, mask: PGdkModifierType){.cdecl,
-    dynlib: gdklib, importc: "gdk_device_get_state".}
-proc gdk_device_get_history*(device: PGdkDevice, window: PGdkWindow,
-                             start: guint32, stop: guint32,
-                             s: var PPGdkTimeCoord, n_events: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_device_get_history".}
-proc gdk_device_free_history*(events: PPGdkTimeCoord, n_events: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_device_free_history".}
-proc gdk_device_get_axis*(device: PGdkDevice, axes: Pgdouble, use: TGdkAxisUse,
-                          value: Pgdouble): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_device_get_axis".}
-proc gdk_input_set_extension_events*(window: PGdkWindow, mask: gint,
-                                     mode: TGdkExtensionMode){.cdecl,
-    dynlib: gdklib, importc: "gdk_input_set_extension_events".}
-proc gdk_device_get_core_pointer*(): PGdkDevice{.cdecl, dynlib: gdklib,
-    importc: "gdk_device_get_core_pointer".}
-proc GDK_TYPE_KEYMAP*(): GType
-proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap
-proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass
-proc GDK_IS_KEYMAP*(anObject: Pointer): bool
-proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool
-proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass
-proc gdk_keymap_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_keymap_get_type".}
-proc gdk_keymap_get_for_display*(display: PGdkDisplay): PGdkKeymap{.cdecl,
-    dynlib: gdklib, importc: "gdk_keymap_get_for_display".}
-proc gdk_keymap_lookup_key*(keymap: PGdkKeymap, key: PGdkKeymapKey): guint{.
-    cdecl, dynlib: gdklib, importc: "gdk_keymap_lookup_key".}
-proc gdk_keymap_translate_keyboard_state*(keymap: PGdkKeymap,
-    hardware_keycode: guint, state: TGdkModifierType, group: gint,
-    keyval: Pguint, effective_group: Pgint, level: Pgint,
-    consumed_modifiers: PGdkModifierType): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_keymap_translate_keyboard_state".}
-proc gdk_keymap_get_entries_for_keyval*(keymap: PGdkKeymap, keyval: guint,
-                                        s: var PGdkKeymapKey, n_keys: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_keymap_get_entries_for_keyval".}
-proc gdk_keymap_get_entries_for_keycode*(keymap: PGdkKeymap,
-    hardware_keycode: guint, s: var PGdkKeymapKey, sasdf: var Pguint,
-    n_entries: Pgint): gboolean{.cdecl, dynlib: gdklib,
-                                 importc: "gdk_keymap_get_entries_for_keycode".}
-proc gdk_keymap_get_direction*(keymap: PGdkKeymap): TPangoDirection{.cdecl,
-    dynlib: gdklib, importc: "gdk_keymap_get_direction".}
-proc gdk_keyval_name*(keyval: guint): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_name".}
-proc gdk_keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_from_name".}
-proc gdk_keyval_convert_case*(symbol: guint, lower: Pguint, upper: Pguint){.
-    cdecl, dynlib: gdklib, importc: "gdk_keyval_convert_case".}
-proc gdk_keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_to_upper".}
-proc gdk_keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_to_lower".}
-proc gdk_keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_is_upper".}
-proc gdk_keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_is_lower".}
-proc gdk_keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_to_unicode".}
-proc gdk_unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_unicode_to_keyval".}
-const
-  GDK_KEY_VoidSymbol* = 0x00FFFFFF
-  GDK_KEY_BackSpace* = 0x0000FF08
-  GDK_KEY_Tab* = 0x0000FF09
-  GDK_KEY_Linefeed* = 0x0000FF0A
-  GDK_KEY_Clear* = 0x0000FF0B
-  GDK_KEY_Return* = 0x0000FF0D
-  GDK_KEY_Pause* = 0x0000FF13
-  GDK_KEY_Scroll_Lock* = 0x0000FF14
-  GDK_KEY_Sys_Req* = 0x0000FF15
-  GDK_KEY_Escape* = 0x0000FF1B
-  GDK_KEY_Delete* = 0x0000FFFF
-  GDK_KEY_Multi_key* = 0x0000FF20
-  GDK_KEY_Codeinput* = 0x0000FF37
-  GDK_KEY_SingleCandidate* = 0x0000FF3C
-  GDK_KEY_MultipleCandidate* = 0x0000FF3D
-  GDK_KEY_PreviousCandidate* = 0x0000FF3E
-  GDK_KEY_Kanji* = 0x0000FF21
-  GDK_KEY_Muhenkan* = 0x0000FF22
-  GDK_KEY_Henkan_Mode* = 0x0000FF23
-  GDK_KEY_Henkan* = 0x0000FF23
-  GDK_KEY_Romaji* = 0x0000FF24
-  GDK_KEY_Hiragana* = 0x0000FF25
-  GDK_KEY_Katakana* = 0x0000FF26
-  GDK_KEY_Hiragana_Katakana* = 0x0000FF27
-  GDK_KEY_Zenkaku* = 0x0000FF28
-  GDK_KEY_Hankaku* = 0x0000FF29
-  GDK_KEY_Zenkaku_Hankaku* = 0x0000FF2A
-  GDK_KEY_Touroku* = 0x0000FF2B
-  GDK_KEY_Massyo* = 0x0000FF2C
-  GDK_KEY_Kana_Lock* = 0x0000FF2D
-  GDK_KEY_Kana_Shift* = 0x0000FF2E
-  GDK_KEY_Eisu_Shift* = 0x0000FF2F
-  GDK_KEY_Eisu_toggle* = 0x0000FF30
-  GDK_KEY_Kanji_Bangou* = 0x0000FF37
-  GDK_KEY_Zen_Koho* = 0x0000FF3D
-  GDK_KEY_Mae_Koho* = 0x0000FF3E
-  GDK_KEY_Home* = 0x0000FF50
-  GDK_KEY_Left* = 0x0000FF51
-  GDK_KEY_Up* = 0x0000FF52
-  GDK_KEY_Right* = 0x0000FF53
-  GDK_KEY_Down* = 0x0000FF54
-  GDK_KEY_Prior* = 0x0000FF55
-  GDK_KEY_Page_Up* = 0x0000FF55
-  GDK_KEY_Next* = 0x0000FF56
-  GDK_KEY_Page_Down* = 0x0000FF56
-  GDK_KEY_End* = 0x0000FF57
-  GDK_KEY_Begin* = 0x0000FF58
-  GDK_KEY_Select* = 0x0000FF60
-  GDK_KEY_Print* = 0x0000FF61
-  GDK_KEY_Execute* = 0x0000FF62
-  GDK_KEY_Insert* = 0x0000FF63
-  GDK_KEY_Undo* = 0x0000FF65
-  GDK_KEY_Redo* = 0x0000FF66
-  GDK_KEY_Menu* = 0x0000FF67
-  GDK_KEY_Find* = 0x0000FF68
-  GDK_KEY_Cancel* = 0x0000FF69
-  GDK_KEY_Help* = 0x0000FF6A
-  GDK_KEY_Break* = 0x0000FF6B
-  GDK_KEY_Mode_switch* = 0x0000FF7E
-  GDK_KEY_script_switch* = 0x0000FF7E
-  GDK_KEY_Num_Lock* = 0x0000FF7F
-  GDK_KEY_KP_Space* = 0x0000FF80
-  GDK_KEY_KP_Tab* = 0x0000FF89
-  GDK_KEY_KP_Enter* = 0x0000FF8D
-  GDK_KEY_KP_F1* = 0x0000FF91
-  GDK_KEY_KP_F2* = 0x0000FF92
-  GDK_KEY_KP_F3* = 0x0000FF93
-  GDK_KEY_KP_F4* = 0x0000FF94
-  GDK_KEY_KP_Home* = 0x0000FF95
-  GDK_KEY_KP_Left* = 0x0000FF96
-  GDK_KEY_KP_Up* = 0x0000FF97
-  GDK_KEY_KP_Right* = 0x0000FF98
-  GDK_KEY_KP_Down* = 0x0000FF99
-  GDK_KEY_KP_Prior* = 0x0000FF9A
-  GDK_KEY_KP_Page_Up* = 0x0000FF9A
-  GDK_KEY_KP_Next* = 0x0000FF9B
-  GDK_KEY_KP_Page_Down* = 0x0000FF9B
-  GDK_KEY_KP_End* = 0x0000FF9C
-  GDK_KEY_KP_Begin* = 0x0000FF9D
-  GDK_KEY_KP_Insert* = 0x0000FF9E
-  GDK_KEY_KP_Delete* = 0x0000FF9F
-  GDK_KEY_KP_Equal* = 0x0000FFBD
-  GDK_KEY_KP_Multiply* = 0x0000FFAA
-  GDK_KEY_KP_Add* = 0x0000FFAB
-  GDK_KEY_KP_Separator* = 0x0000FFAC
-  GDK_KEY_KP_Subtract* = 0x0000FFAD
-  GDK_KEY_KP_Decimal* = 0x0000FFAE
-  GDK_KEY_KP_Divide* = 0x0000FFAF
-  GDK_KEY_KP_0* = 0x0000FFB0
-  GDK_KEY_KP_1* = 0x0000FFB1
-  GDK_KEY_KP_2* = 0x0000FFB2
-  GDK_KEY_KP_3* = 0x0000FFB3
-  GDK_KEY_KP_4* = 0x0000FFB4
-  GDK_KEY_KP_5* = 0x0000FFB5
-  GDK_KEY_KP_6* = 0x0000FFB6
-  GDK_KEY_KP_7* = 0x0000FFB7
-  GDK_KEY_KP_8* = 0x0000FFB8
-  GDK_KEY_KP_9* = 0x0000FFB9
-  GDK_KEY_F1* = 0x0000FFBE
-  GDK_KEY_F2* = 0x0000FFBF
-  GDK_KEY_F3* = 0x0000FFC0
-  GDK_KEY_F4* = 0x0000FFC1
-  GDK_KEY_F5* = 0x0000FFC2
-  GDK_KEY_F6* = 0x0000FFC3
-  GDK_KEY_F7* = 0x0000FFC4
-  GDK_KEY_F8* = 0x0000FFC5
-  GDK_KEY_F9* = 0x0000FFC6
-  GDK_KEY_F10* = 0x0000FFC7
-  GDK_KEY_F11* = 0x0000FFC8
-  GDK_KEY_L1* = 0x0000FFC8
-  GDK_KEY_F12* = 0x0000FFC9
-  GDK_KEY_L2* = 0x0000FFC9
-  GDK_KEY_F13* = 0x0000FFCA
-  GDK_KEY_L3* = 0x0000FFCA
-  GDK_KEY_F14* = 0x0000FFCB
-  GDK_KEY_L4* = 0x0000FFCB
-  GDK_KEY_F15* = 0x0000FFCC
-  GDK_KEY_L5* = 0x0000FFCC
-  GDK_KEY_F16* = 0x0000FFCD
-  GDK_KEY_L6* = 0x0000FFCD
-  GDK_KEY_F17* = 0x0000FFCE
-  GDK_KEY_L7* = 0x0000FFCE
-  GDK_KEY_F18* = 0x0000FFCF
-  GDK_KEY_L8* = 0x0000FFCF
-  GDK_KEY_F19* = 0x0000FFD0
-  GDK_KEY_L9* = 0x0000FFD0
-  GDK_KEY_F20* = 0x0000FFD1
-  GDK_KEY_L10* = 0x0000FFD1
-  GDK_KEY_F21* = 0x0000FFD2
-  GDK_KEY_R1* = 0x0000FFD2
-  GDK_KEY_F22* = 0x0000FFD3
-  GDK_KEY_R2* = 0x0000FFD3
-  GDK_KEY_F23* = 0x0000FFD4
-  GDK_KEY_R3* = 0x0000FFD4
-  GDK_KEY_F24* = 0x0000FFD5
-  GDK_KEY_R4* = 0x0000FFD5
-  GDK_KEY_F25* = 0x0000FFD6
-  GDK_KEY_R5* = 0x0000FFD6
-  GDK_KEY_F26* = 0x0000FFD7
-  GDK_KEY_R6* = 0x0000FFD7
-  GDK_KEY_F27* = 0x0000FFD8
-  GDK_KEY_R7* = 0x0000FFD8
-  GDK_KEY_F28* = 0x0000FFD9
-  GDK_KEY_R8* = 0x0000FFD9
-  GDK_KEY_F29* = 0x0000FFDA
-  GDK_KEY_R9* = 0x0000FFDA
-  GDK_KEY_F30* = 0x0000FFDB
-  GDK_KEY_R10* = 0x0000FFDB
-  GDK_KEY_F31* = 0x0000FFDC
-  GDK_KEY_R11* = 0x0000FFDC
-  GDK_KEY_F32* = 0x0000FFDD
-  GDK_KEY_R12* = 0x0000FFDD
-  GDK_KEY_F33* = 0x0000FFDE
-  GDK_KEY_R13* = 0x0000FFDE
-  GDK_KEY_F34* = 0x0000FFDF
-  GDK_KEY_R14* = 0x0000FFDF
-  GDK_KEY_F35* = 0x0000FFE0
-  GDK_KEY_R15* = 0x0000FFE0
-  GDK_KEY_Shift_L* = 0x0000FFE1
-  GDK_KEY_Shift_R* = 0x0000FFE2
-  GDK_KEY_Control_L* = 0x0000FFE3
-  GDK_KEY_Control_R* = 0x0000FFE4
-  GDK_KEY_Caps_Lock* = 0x0000FFE5
-  GDK_KEY_Shift_Lock* = 0x0000FFE6
-  GDK_KEY_Meta_L* = 0x0000FFE7
-  GDK_KEY_Meta_R* = 0x0000FFE8
-  GDK_KEY_Alt_L* = 0x0000FFE9
-  GDK_KEY_Alt_R* = 0x0000FFEA
-  GDK_KEY_Super_L* = 0x0000FFEB
-  GDK_KEY_Super_R* = 0x0000FFEC
-  GDK_KEY_Hyper_L* = 0x0000FFED
-  GDK_KEY_Hyper_R* = 0x0000FFEE
-  GDK_KEY_ISO_Lock* = 0x0000FE01
-  GDK_KEY_ISO_Level2_Latch* = 0x0000FE02
-  GDK_KEY_ISO_Level3_Shift* = 0x0000FE03
-  GDK_KEY_ISO_Level3_Latch* = 0x0000FE04
-  GDK_KEY_ISO_Level3_Lock* = 0x0000FE05
-  GDK_KEY_ISO_Group_Shift* = 0x0000FF7E
-  GDK_KEY_ISO_Group_Latch* = 0x0000FE06
-  GDK_KEY_ISO_Group_Lock* = 0x0000FE07
-  GDK_KEY_ISO_Next_Group* = 0x0000FE08
-  GDK_KEY_ISO_Next_Group_Lock* = 0x0000FE09
-  GDK_KEY_ISO_Prev_Group* = 0x0000FE0A
-  GDK_KEY_ISO_Prev_Group_Lock* = 0x0000FE0B
-  GDK_KEY_ISO_First_Group* = 0x0000FE0C
-  GDK_KEY_ISO_First_Group_Lock* = 0x0000FE0D
-  GDK_KEY_ISO_Last_Group* = 0x0000FE0E
-  GDK_KEY_ISO_Last_Group_Lock* = 0x0000FE0F
-  GDK_KEY_ISO_Left_Tab* = 0x0000FE20
-  GDK_KEY_ISO_Move_Line_Up* = 0x0000FE21
-  GDK_KEY_ISO_Move_Line_Down* = 0x0000FE22
-  GDK_KEY_ISO_Partial_Line_Up* = 0x0000FE23
-  GDK_KEY_ISO_Partial_Line_Down* = 0x0000FE24
-  GDK_KEY_ISO_Partial_Space_Left* = 0x0000FE25
-  GDK_KEY_ISO_Partial_Space_Right* = 0x0000FE26
-  GDK_KEY_ISO_Set_Margin_Left* = 0x0000FE27
-  GDK_KEY_ISO_Set_Margin_Right* = 0x0000FE28
-  GDK_KEY_ISO_Release_Margin_Left* = 0x0000FE29
-  GDK_KEY_ISO_Release_Margin_Right* = 0x0000FE2A
-  GDK_KEY_ISO_Release_Both_Margins* = 0x0000FE2B
-  GDK_KEY_ISO_Fast_Cursor_Left* = 0x0000FE2C
-  GDK_KEY_ISO_Fast_Cursor_Right* = 0x0000FE2D
-  GDK_KEY_ISO_Fast_Cursor_Up* = 0x0000FE2E
-  GDK_KEY_ISO_Fast_Cursor_Down* = 0x0000FE2F
-  GDK_KEY_ISO_Continuous_Underline* = 0x0000FE30
-  GDK_KEY_ISO_Discontinuous_Underline* = 0x0000FE31
-  GDK_KEY_ISO_Emphasize* = 0x0000FE32
-  GDK_KEY_ISO_Center_Object* = 0x0000FE33
-  GDK_KEY_ISO_Enter* = 0x0000FE34
-  GDK_KEY_dead_grave* = 0x0000FE50
-  GDK_KEY_dead_acute* = 0x0000FE51
-  GDK_KEY_dead_circumflex* = 0x0000FE52
-  GDK_KEY_dead_tilde* = 0x0000FE53
-  GDK_KEY_dead_macron* = 0x0000FE54
-  GDK_KEY_dead_breve* = 0x0000FE55
-  GDK_KEY_dead_abovedot* = 0x0000FE56
-  GDK_KEY_dead_diaeresis* = 0x0000FE57
-  GDK_KEY_dead_abovering* = 0x0000FE58
-  GDK_KEY_dead_doubleacute* = 0x0000FE59
-  GDK_KEY_dead_caron* = 0x0000FE5A
-  GDK_KEY_dead_cedilla* = 0x0000FE5B
-  GDK_KEY_dead_ogonek* = 0x0000FE5C
-  GDK_KEY_dead_iota* = 0x0000FE5D
-  GDK_KEY_dead_voiced_sound* = 0x0000FE5E
-  GDK_KEY_dead_semivoiced_sound* = 0x0000FE5F
-  GDK_KEY_dead_belowdot* = 0x0000FE60
-  GDK_KEY_First_Virtual_Screen* = 0x0000FED0
-  GDK_KEY_Prev_Virtual_Screen* = 0x0000FED1
-  GDK_KEY_Next_Virtual_Screen* = 0x0000FED2
-  GDK_KEY_Last_Virtual_Screen* = 0x0000FED4
-  GDK_KEY_Terminate_Server* = 0x0000FED5
-  GDK_KEY_AccessX_Enable* = 0x0000FE70
-  GDK_KEY_AccessX_Feedback_Enable* = 0x0000FE71
-  GDK_KEY_RepeatKeys_Enable* = 0x0000FE72
-  GDK_KEY_SlowKeys_Enable* = 0x0000FE73
-  GDK_KEY_BounceKeys_Enable* = 0x0000FE74
-  GDK_KEY_StickyKeys_Enable* = 0x0000FE75
-  GDK_KEY_MouseKeys_Enable* = 0x0000FE76
-  GDK_KEY_MouseKeys_Accel_Enable* = 0x0000FE77
-  GDK_KEY_Overlay1_Enable* = 0x0000FE78
-  GDK_KEY_Overlay2_Enable* = 0x0000FE79
-  GDK_KEY_AudibleBell_Enable* = 0x0000FE7A
-  GDK_KEY_Pointer_Left* = 0x0000FEE0
-  GDK_KEY_Pointer_Right* = 0x0000FEE1
-  GDK_KEY_Pointer_Up* = 0x0000FEE2
-  GDK_KEY_Pointer_Down* = 0x0000FEE3
-  GDK_KEY_Pointer_UpLeft* = 0x0000FEE4
-  GDK_KEY_Pointer_UpRight* = 0x0000FEE5
-  GDK_KEY_Pointer_DownLeft* = 0x0000FEE6
-  GDK_KEY_Pointer_DownRight* = 0x0000FEE7
-  GDK_KEY_Pointer_Button_Dflt* = 0x0000FEE8
-  GDK_KEY_Pointer_Button1* = 0x0000FEE9
-  GDK_KEY_Pointer_Button2* = 0x0000FEEA
-  GDK_KEY_Pointer_Button3* = 0x0000FEEB
-  GDK_KEY_Pointer_Button4* = 0x0000FEEC
-  GDK_KEY_Pointer_Button5* = 0x0000FEED
-  GDK_KEY_Pointer_DblClick_Dflt* = 0x0000FEEE
-  GDK_KEY_Pointer_DblClick1* = 0x0000FEEF
-  GDK_KEY_Pointer_DblClick2* = 0x0000FEF0
-  GDK_KEY_Pointer_DblClick3* = 0x0000FEF1
-  GDK_KEY_Pointer_DblClick4* = 0x0000FEF2
-  GDK_KEY_Pointer_DblClick5* = 0x0000FEF3
-  GDK_KEY_Pointer_Drag_Dflt* = 0x0000FEF4
-  GDK_KEY_Pointer_Drag1* = 0x0000FEF5
-  GDK_KEY_Pointer_Drag2* = 0x0000FEF6
-  GDK_KEY_Pointer_Drag3* = 0x0000FEF7
-  GDK_KEY_Pointer_Drag4* = 0x0000FEF8
-  GDK_KEY_Pointer_Drag5* = 0x0000FEFD
-  GDK_KEY_Pointer_EnableKeys* = 0x0000FEF9
-  GDK_KEY_Pointer_Accelerate* = 0x0000FEFA
-  GDK_KEY_Pointer_DfltBtnNext* = 0x0000FEFB
-  GDK_KEY_Pointer_DfltBtnPrev* = 0x0000FEFC
-  GDK_KEY_3270_Duplicate* = 0x0000FD01
-  GDK_KEY_3270_FieldMark* = 0x0000FD02
-  GDK_KEY_3270_Right2* = 0x0000FD03
-  GDK_KEY_3270_Left2* = 0x0000FD04
-  GDK_KEY_3270_BackTab* = 0x0000FD05
-  GDK_KEY_3270_EraseEOF* = 0x0000FD06
-  GDK_KEY_3270_EraseInput* = 0x0000FD07
-  GDK_KEY_3270_Reset* = 0x0000FD08
-  GDK_KEY_3270_Quit* = 0x0000FD09
-  GDK_KEY_3270_PA1* = 0x0000FD0A
-  GDK_KEY_3270_PA2* = 0x0000FD0B
-  GDK_KEY_3270_PA3* = 0x0000FD0C
-  GDK_KEY_3270_Test* = 0x0000FD0D
-  GDK_KEY_3270_Attn* = 0x0000FD0E
-  GDK_KEY_3270_CursorBlink* = 0x0000FD0F
-  GDK_KEY_3270_AltCursor* = 0x0000FD10
-  GDK_KEY_3270_KeyClick* = 0x0000FD11
-  GDK_KEY_3270_Jump* = 0x0000FD12
-  GDK_KEY_3270_Ident* = 0x0000FD13
-  GDK_KEY_3270_Rule* = 0x0000FD14
-  GDK_KEY_3270_Copy* = 0x0000FD15
-  GDK_KEY_3270_Play* = 0x0000FD16
-  GDK_KEY_3270_Setup* = 0x0000FD17
-  GDK_KEY_3270_Record* = 0x0000FD18
-  GDK_KEY_3270_ChangeScreen* = 0x0000FD19
-  GDK_KEY_3270_DeleteWord* = 0x0000FD1A
-  GDK_KEY_3270_ExSelect* = 0x0000FD1B
-  GDK_KEY_3270_CursorSelect* = 0x0000FD1C
-  GDK_KEY_3270_PrintScreen* = 0x0000FD1D
-  GDK_KEY_3270_Enter* = 0x0000FD1E
-  GDK_KEY_space* = 0x00000020
-  GDK_KEY_exclam* = 0x00000021
-  GDK_KEY_quotedbl* = 0x00000022
-  GDK_KEY_numbersign* = 0x00000023
-  GDK_KEY_dollar* = 0x00000024
-  GDK_KEY_percent* = 0x00000025
-  GDK_KEY_ampersand* = 0x00000026
-  GDK_KEY_apostrophe* = 0x00000027
-  GDK_KEY_quoteright* = 0x00000027
-  GDK_KEY_parenleft* = 0x00000028
-  GDK_KEY_parenright* = 0x00000029
-  GDK_KEY_asterisk* = 0x0000002A
-  GDK_KEY_plus* = 0x0000002B
-  GDK_KEY_comma* = 0x0000002C
-  GDK_KEY_minus* = 0x0000002D
-  GDK_KEY_period* = 0x0000002E
-  GDK_KEY_slash* = 0x0000002F
-  GDK_KEY_0* = 0x00000030
-  GDK_KEY_1* = 0x00000031
-  GDK_KEY_2* = 0x00000032
-  GDK_KEY_3* = 0x00000033
-  GDK_KEY_4* = 0x00000034
-  GDK_KEY_5* = 0x00000035
-  GDK_KEY_6* = 0x00000036
-  GDK_KEY_7* = 0x00000037
-  GDK_KEY_8* = 0x00000038
-  GDK_KEY_9* = 0x00000039
-  GDK_KEY_colon* = 0x0000003A
-  GDK_KEY_semicolon* = 0x0000003B
-  GDK_KEY_less* = 0x0000003C
-  GDK_KEY_equal* = 0x0000003D
-  GDK_KEY_greater* = 0x0000003E
-  GDK_KEY_question* = 0x0000003F
-  GDK_KEY_at* = 0x00000040
-  GDK_KEY_CAPITAL_A* = 0x00000041
-  GDK_KEY_CAPITAL_B* = 0x00000042
-  GDK_KEY_CAPITAL_C* = 0x00000043
-  GDK_KEY_CAPITAL_D* = 0x00000044
-  GDK_KEY_CAPITAL_E* = 0x00000045
-  GDK_KEY_CAPITAL_F* = 0x00000046
-  GDK_KEY_CAPITAL_G* = 0x00000047
-  GDK_KEY_CAPITAL_H* = 0x00000048
-  GDK_KEY_CAPITAL_I* = 0x00000049
-  GDK_KEY_CAPITAL_J* = 0x0000004A
-  GDK_KEY_CAPITAL_K* = 0x0000004B
-  GDK_KEY_CAPITAL_L* = 0x0000004C
-  GDK_KEY_CAPITAL_M* = 0x0000004D
-  GDK_KEY_CAPITAL_N* = 0x0000004E
-  GDK_KEY_CAPITAL_O* = 0x0000004F
-  GDK_KEY_CAPITAL_P* = 0x00000050
-  GDK_KEY_CAPITAL_Q* = 0x00000051
-  GDK_KEY_CAPITAL_R* = 0x00000052
-  GDK_KEY_CAPITAL_S* = 0x00000053
-  GDK_KEY_CAPITAL_T* = 0x00000054
-  GDK_KEY_CAPITAL_U* = 0x00000055
-  GDK_KEY_CAPITAL_V* = 0x00000056
-  GDK_KEY_CAPITAL_W* = 0x00000057
-  GDK_KEY_CAPITAL_X* = 0x00000058
-  GDK_KEY_CAPITAL_Y* = 0x00000059
-  GDK_KEY_CAPITAL_Z* = 0x0000005A
-  GDK_KEY_bracketleft* = 0x0000005B
-  GDK_KEY_backslash* = 0x0000005C
-  GDK_KEY_bracketright* = 0x0000005D
-  GDK_KEY_asciicircum* = 0x0000005E
-  GDK_KEY_underscore* = 0x0000005F
-  GDK_KEY_grave* = 0x00000060
-  GDK_KEY_quoteleft* = 0x00000060
-  GDK_KEY_a* = 0x00000061
-  GDK_KEY_b* = 0x00000062
-  GDK_KEY_c* = 0x00000063
-  GDK_KEY_d* = 0x00000064
-  GDK_KEY_e* = 0x00000065
-  GDK_KEY_f* = 0x00000066
-  GDK_KEY_g* = 0x00000067
-  GDK_KEY_h* = 0x00000068
-  GDK_KEY_i* = 0x00000069
-  GDK_KEY_j* = 0x0000006A
-  GDK_KEY_k* = 0x0000006B
-  GDK_KEY_l* = 0x0000006C
-  GDK_KEY_m* = 0x0000006D
-  GDK_KEY_n* = 0x0000006E
-  GDK_KEY_o* = 0x0000006F
-  GDK_KEY_p* = 0x00000070
-  GDK_KEY_q* = 0x00000071
-  GDK_KEY_r* = 0x00000072
-  GDK_KEY_s* = 0x00000073
-  GDK_KEY_t* = 0x00000074
-  GDK_KEY_u* = 0x00000075
-  GDK_KEY_v* = 0x00000076
-  GDK_KEY_w* = 0x00000077
-  GDK_KEY_x* = 0x00000078
-  GDK_KEY_y* = 0x00000079
-  GDK_KEY_z* = 0x0000007A
-  GDK_KEY_braceleft* = 0x0000007B
-  GDK_KEY_bar* = 0x0000007C
-  GDK_KEY_braceright* = 0x0000007D
-  GDK_KEY_asciitilde* = 0x0000007E
-  GDK_KEY_nobreakspace* = 0x000000A0
-  GDK_KEY_exclamdown* = 0x000000A1
-  GDK_KEY_cent* = 0x000000A2
-  GDK_KEY_sterling* = 0x000000A3
-  GDK_KEY_currency* = 0x000000A4
-  GDK_KEY_yen* = 0x000000A5
-  GDK_KEY_brokenbar* = 0x000000A6
-  GDK_KEY_section* = 0x000000A7
-  GDK_KEY_diaeresis* = 0x000000A8
-  GDK_KEY_copyright* = 0x000000A9
-  GDK_KEY_ordfeminine* = 0x000000AA
-  GDK_KEY_guillemotleft* = 0x000000AB
-  GDK_KEY_notsign* = 0x000000AC
-  GDK_KEY_hyphen* = 0x000000AD
-  GDK_KEY_registered* = 0x000000AE
-  GDK_KEY_macron* = 0x000000AF
-  GDK_KEY_degree* = 0x000000B0
-  GDK_KEY_plusminus* = 0x000000B1
-  GDK_KEY_twosuperior* = 0x000000B2
-  GDK_KEY_threesuperior* = 0x000000B3
-  GDK_KEY_acute* = 0x000000B4
-  GDK_KEY_mu* = 0x000000B5
-  GDK_KEY_paragraph* = 0x000000B6
-  GDK_KEY_periodcentered* = 0x000000B7
-  GDK_KEY_cedilla* = 0x000000B8
-  GDK_KEY_onesuperior* = 0x000000B9
-  GDK_KEY_masculine* = 0x000000BA
-  GDK_KEY_guillemotright* = 0x000000BB
-  GDK_KEY_onequarter* = 0x000000BC
-  GDK_KEY_onehalf* = 0x000000BD
-  GDK_KEY_threequarters* = 0x000000BE
-  GDK_KEY_questiondown* = 0x000000BF
-  GDK_KEY_CAPITAL_Agrave* = 0x000000C0
-  GDK_KEY_CAPITAL_Aacute* = 0x000000C1
-  GDK_KEY_CAPITAL_Acircumflex* = 0x000000C2
-  GDK_KEY_CAPITAL_Atilde* = 0x000000C3
-  GDK_KEY_CAPITAL_Adiaeresis* = 0x000000C4
-  GDK_KEY_CAPITAL_Aring* = 0x000000C5
-  GDK_KEY_CAPITAL_AE* = 0x000000C6
-  GDK_KEY_CAPITAL_Ccedilla* = 0x000000C7
-  GDK_KEY_CAPITAL_Egrave* = 0x000000C8
-  GDK_KEY_CAPITAL_Eacute* = 0x000000C9
-  GDK_KEY_CAPITAL_Ecircumflex* = 0x000000CA
-  GDK_KEY_CAPITAL_Ediaeresis* = 0x000000CB
-  GDK_KEY_CAPITAL_Igrave* = 0x000000CC
-  GDK_KEY_CAPITAL_Iacute* = 0x000000CD
-  GDK_KEY_CAPITAL_Icircumflex* = 0x000000CE
-  GDK_KEY_CAPITAL_Idiaeresis* = 0x000000CF
-  GDK_KEY_CAPITAL_ETH* = 0x000000D0
-  GDK_KEY_CAPITAL_Ntilde* = 0x000000D1
-  GDK_KEY_CAPITAL_Ograve* = 0x000000D2
-  GDK_KEY_CAPITAL_Oacute* = 0x000000D3
-  GDK_KEY_CAPITAL_Ocircumflex* = 0x000000D4
-  GDK_KEY_CAPITAL_Otilde* = 0x000000D5
-  GDK_KEY_CAPITAL_Odiaeresis* = 0x000000D6
-  GDK_KEY_multiply* = 0x000000D7
-  GDK_KEY_Ooblique* = 0x000000D8
-  GDK_KEY_CAPITAL_Ugrave* = 0x000000D9
-  GDK_KEY_CAPITAL_Uacute* = 0x000000DA
-  GDK_KEY_CAPITAL_Ucircumflex* = 0x000000DB
-  GDK_KEY_CAPITAL_Udiaeresis* = 0x000000DC
-  GDK_KEY_CAPITAL_Yacute* = 0x000000DD
-  GDK_KEY_CAPITAL_THORN* = 0x000000DE
-  GDK_KEY_ssharp* = 0x000000DF
-  GDK_KEY_agrave* = 0x000000E0
-  GDK_KEY_aacute* = 0x000000E1
-  GDK_KEY_acircumflex* = 0x000000E2
-  GDK_KEY_atilde* = 0x000000E3
-  GDK_KEY_adiaeresis* = 0x000000E4
-  GDK_KEY_aring* = 0x000000E5
-  GDK_KEY_ae* = 0x000000E6
-  GDK_KEY_ccedilla* = 0x000000E7
-  GDK_KEY_egrave* = 0x000000E8
-  GDK_KEY_eacute* = 0x000000E9
-  GDK_KEY_ecircumflex* = 0x000000EA
-  GDK_KEY_ediaeresis* = 0x000000EB
-  GDK_KEY_igrave* = 0x000000EC
-  GDK_KEY_iacute* = 0x000000ED
-  GDK_KEY_icircumflex* = 0x000000EE
-  GDK_KEY_idiaeresis* = 0x000000EF
-  GDK_KEY_eth* = 0x000000F0
-  GDK_KEY_ntilde* = 0x000000F1
-  GDK_KEY_ograve* = 0x000000F2
-  GDK_KEY_oacute* = 0x000000F3
-  GDK_KEY_ocircumflex* = 0x000000F4
-  GDK_KEY_otilde* = 0x000000F5
-  GDK_KEY_odiaeresis* = 0x000000F6
-  GDK_KEY_division* = 0x000000F7
-  GDK_KEY_oslash* = 0x000000F8
-  GDK_KEY_ugrave* = 0x000000F9
-  GDK_KEY_uacute* = 0x000000FA
-  GDK_KEY_ucircumflex* = 0x000000FB
-  GDK_KEY_udiaeresis* = 0x000000FC
-  GDK_KEY_yacute* = 0x000000FD
-  GDK_KEY_thorn* = 0x000000FE
-  GDK_KEY_ydiaeresis* = 0x000000FF
-  GDK_KEY_CAPITAL_Aogonek* = 0x000001A1
-  GDK_KEY_breve* = 0x000001A2
-  GDK_KEY_CAPITAL_Lstroke* = 0x000001A3
-  GDK_KEY_CAPITAL_Lcaron* = 0x000001A5
-  GDK_KEY_CAPITAL_Sacute* = 0x000001A6
-  GDK_KEY_CAPITAL_Scaron* = 0x000001A9
-  GDK_KEY_CAPITAL_Scedilla* = 0x000001AA
-  GDK_KEY_CAPITAL_Tcaron* = 0x000001AB
-  GDK_KEY_CAPITAL_Zacute* = 0x000001AC
-  GDK_KEY_CAPITAL_Zcaron* = 0x000001AE
-  GDK_KEY_CAPITAL_Zabovedot* = 0x000001AF
-  GDK_KEY_aogonek* = 0x000001B1
-  GDK_KEY_ogonek* = 0x000001B2
-  GDK_KEY_lstroke* = 0x000001B3
-  GDK_KEY_lcaron* = 0x000001B5
-  GDK_KEY_sacute* = 0x000001B6
-  GDK_KEY_caron* = 0x000001B7
-  GDK_KEY_scaron* = 0x000001B9
-  GDK_KEY_scedilla* = 0x000001BA
-  GDK_KEY_tcaron* = 0x000001BB
-  GDK_KEY_zacute* = 0x000001BC
-  GDK_KEY_doubleacute* = 0x000001BD
-  GDK_KEY_zcaron* = 0x000001BE
-  GDK_KEY_zabovedot* = 0x000001BF
-  GDK_KEY_CAPITAL_Racute* = 0x000001C0
-  GDK_KEY_CAPITAL_Abreve* = 0x000001C3
-  GDK_KEY_CAPITAL_Lacute* = 0x000001C5
-  GDK_KEY_CAPITAL_Cacute* = 0x000001C6
-  GDK_KEY_CAPITAL_Ccaron* = 0x000001C8
-  GDK_KEY_CAPITAL_Eogonek* = 0x000001CA
-  GDK_KEY_CAPITAL_Ecaron* = 0x000001CC
-  GDK_KEY_CAPITAL_Dcaron* = 0x000001CF
-  GDK_KEY_CAPITAL_Dstroke* = 0x000001D0
-  GDK_KEY_CAPITAL_Nacute* = 0x000001D1
-  GDK_KEY_CAPITAL_Ncaron* = 0x000001D2
-  GDK_KEY_CAPITAL_Odoubleacute* = 0x000001D5
-  GDK_KEY_CAPITAL_Rcaron* = 0x000001D8
-  GDK_KEY_CAPITAL_Uring* = 0x000001D9
-  GDK_KEY_CAPITAL_Udoubleacute* = 0x000001DB
-  GDK_KEY_CAPITAL_Tcedilla* = 0x000001DE
-  GDK_KEY_racute* = 0x000001E0
-  GDK_KEY_abreve* = 0x000001E3
-  GDK_KEY_lacute* = 0x000001E5
-  GDK_KEY_cacute* = 0x000001E6
-  GDK_KEY_ccaron* = 0x000001E8
-  GDK_KEY_eogonek* = 0x000001EA
-  GDK_KEY_ecaron* = 0x000001EC
-  GDK_KEY_dcaron* = 0x000001EF
-  GDK_KEY_dstroke* = 0x000001F0
-  GDK_KEY_nacute* = 0x000001F1
-  GDK_KEY_ncaron* = 0x000001F2
-  GDK_KEY_odoubleacute* = 0x000001F5
-  GDK_KEY_udoubleacute* = 0x000001FB
-  GDK_KEY_rcaron* = 0x000001F8
-  GDK_KEY_uring* = 0x000001F9
-  GDK_KEY_tcedilla* = 0x000001FE
-  GDK_KEY_abovedot* = 0x000001FF
-  GDK_KEY_CAPITAL_Hstroke* = 0x000002A1
-  GDK_KEY_CAPITAL_Hcircumflex* = 0x000002A6
-  GDK_KEY_CAPITAL_Iabovedot* = 0x000002A9
-  GDK_KEY_CAPITAL_Gbreve* = 0x000002AB
-  GDK_KEY_CAPITAL_Jcircumflex* = 0x000002AC
-  GDK_KEY_hstroke* = 0x000002B1
-  GDK_KEY_hcircumflex* = 0x000002B6
-  GDK_KEY_idotless* = 0x000002B9
-  GDK_KEY_gbreve* = 0x000002BB
-  GDK_KEY_jcircumflex* = 0x000002BC
-  GDK_KEY_CAPITAL_Cabovedot* = 0x000002C5
-  GDK_KEY_CAPITAL_Ccircumflex* = 0x000002C6
-  GDK_KEY_CAPITAL_Gabovedot* = 0x000002D5
-  GDK_KEY_CAPITAL_Gcircumflex* = 0x000002D8
-  GDK_KEY_CAPITAL_Ubreve* = 0x000002DD
-  GDK_KEY_CAPITAL_Scircumflex* = 0x000002DE
-  GDK_KEY_cabovedot* = 0x000002E5
-  GDK_KEY_ccircumflex* = 0x000002E6
-  GDK_KEY_gabovedot* = 0x000002F5
-  GDK_KEY_gcircumflex* = 0x000002F8
-  GDK_KEY_ubreve* = 0x000002FD
-  GDK_KEY_scircumflex* = 0x000002FE
-  GDK_KEY_kra* = 0x000003A2
-  GDK_KEY_kappa* = 0x000003A2
-  GDK_KEY_CAPITAL_Rcedilla* = 0x000003A3
-  GDK_KEY_CAPITAL_Itilde* = 0x000003A5
-  GDK_KEY_CAPITAL_Lcedilla* = 0x000003A6
-  GDK_KEY_CAPITAL_Emacron* = 0x000003AA
-  GDK_KEY_CAPITAL_Gcedilla* = 0x000003AB
-  GDK_KEY_CAPITAL_Tslash* = 0x000003AC
-  GDK_KEY_rcedilla* = 0x000003B3
-  GDK_KEY_itilde* = 0x000003B5
-  GDK_KEY_lcedilla* = 0x000003B6
-  GDK_KEY_emacron* = 0x000003BA
-  GDK_KEY_gcedilla* = 0x000003BB
-  GDK_KEY_tslash* = 0x000003BC
-  GDK_KEY_CAPITAL_ENG* = 0x000003BD
-  GDK_KEY_eng* = 0x000003BF
-  GDK_KEY_CAPITAL_Amacron* = 0x000003C0
-  GDK_KEY_CAPITAL_Iogonek* = 0x000003C7
-  GDK_KEY_CAPITAL_Eabovedot* = 0x000003CC
-  GDK_KEY_CAPITAL_Imacron* = 0x000003CF
-  GDK_KEY_CAPITAL_Ncedilla* = 0x000003D1
-  GDK_KEY_CAPITAL_Omacron* = 0x000003D2
-  GDK_KEY_CAPITAL_Kcedilla* = 0x000003D3
-  GDK_KEY_CAPITAL_Uogonek* = 0x000003D9
-  GDK_KEY_CAPITAL_Utilde* = 0x000003DD
-  GDK_KEY_CAPITAL_Umacron* = 0x000003DE
-  GDK_KEY_amacron* = 0x000003E0
-  GDK_KEY_iogonek* = 0x000003E7
-  GDK_KEY_eabovedot* = 0x000003EC
-  GDK_KEY_imacron* = 0x000003EF
-  GDK_KEY_ncedilla* = 0x000003F1
-  GDK_KEY_omacron* = 0x000003F2
-  GDK_KEY_kcedilla* = 0x000003F3
-  GDK_KEY_uogonek* = 0x000003F9
-  GDK_KEY_utilde* = 0x000003FD
-  GDK_KEY_umacron* = 0x000003FE
-  GDK_KEY_CAPITAL_OE* = 0x000013BC
-  GDK_KEY_oe* = 0x000013BD
-  GDK_KEY_CAPITAL_Ydiaeresis* = 0x000013BE
-  GDK_KEY_overline* = 0x0000047E
-  GDK_KEY_kana_fullstop* = 0x000004A1
-  GDK_KEY_kana_openingbracket* = 0x000004A2
-  GDK_KEY_kana_closingbracket* = 0x000004A3
-  GDK_KEY_kana_comma* = 0x000004A4
-  GDK_KEY_kana_conjunctive* = 0x000004A5
-  GDK_KEY_kana_middledot* = 0x000004A5
-  GDK_KEY_kana_WO* = 0x000004A6
-  GDK_KEY_kana_a* = 0x000004A7
-  GDK_KEY_kana_i* = 0x000004A8
-  GDK_KEY_kana_u* = 0x000004A9
-  GDK_KEY_kana_e* = 0x000004AA
-  GDK_KEY_kana_o* = 0x000004AB
-  GDK_KEY_kana_ya* = 0x000004AC
-  GDK_KEY_kana_yu* = 0x000004AD
-  GDK_KEY_kana_yo* = 0x000004AE
-  GDK_KEY_kana_tsu* = 0x000004AF
-  GDK_KEY_kana_tu* = 0x000004AF
-  GDK_KEY_prolongedsound* = 0x000004B0
-  GDK_KEY_kana_CAPITAL_A* = 0x000004B1
-  GDK_KEY_kana_CAPITAL_I* = 0x000004B2
-  GDK_KEY_kana_CAPITAL_U* = 0x000004B3
-  GDK_KEY_kana_CAPITAL_E* = 0x000004B4
-  GDK_KEY_kana_CAPITAL_O* = 0x000004B5
-  GDK_KEY_kana_KA* = 0x000004B6
-  GDK_KEY_kana_KI* = 0x000004B7
-  GDK_KEY_kana_KU* = 0x000004B8
-  GDK_KEY_kana_KE* = 0x000004B9
-  GDK_KEY_kana_KO* = 0x000004BA
-  GDK_KEY_kana_SA* = 0x000004BB
-  GDK_KEY_kana_SHI* = 0x000004BC
-  GDK_KEY_kana_SU* = 0x000004BD
-  GDK_KEY_kana_SE* = 0x000004BE
-  GDK_KEY_kana_SO* = 0x000004BF
-  GDK_KEY_kana_TA* = 0x000004C0
-  GDK_KEY_kana_CHI* = 0x000004C1
-  GDK_KEY_kana_TI* = 0x000004C1
-  GDK_KEY_kana_CAPITAL_TSU* = 0x000004C2
-  GDK_KEY_kana_CAPITAL_TU* = 0x000004C2
-  GDK_KEY_kana_TE* = 0x000004C3
-  GDK_KEY_kana_TO* = 0x000004C4
-  GDK_KEY_kana_NA* = 0x000004C5
-  GDK_KEY_kana_NI* = 0x000004C6
-  GDK_KEY_kana_NU* = 0x000004C7
-  GDK_KEY_kana_NE* = 0x000004C8
-  GDK_KEY_kana_NO* = 0x000004C9
-  GDK_KEY_kana_HA* = 0x000004CA
-  GDK_KEY_kana_HI* = 0x000004CB
-  GDK_KEY_kana_FU* = 0x000004CC
-  GDK_KEY_kana_HU* = 0x000004CC
-  GDK_KEY_kana_HE* = 0x000004CD
-  GDK_KEY_kana_HO* = 0x000004CE
-  GDK_KEY_kana_MA* = 0x000004CF
-  GDK_KEY_kana_MI* = 0x000004D0
-  GDK_KEY_kana_MU* = 0x000004D1
-  GDK_KEY_kana_ME* = 0x000004D2
-  GDK_KEY_kana_MO* = 0x000004D3
-  GDK_KEY_kana_CAPITAL_YA* = 0x000004D4
-  GDK_KEY_kana_CAPITAL_YU* = 0x000004D5
-  GDK_KEY_kana_CAPITAL_YO* = 0x000004D6
-  GDK_KEY_kana_RA* = 0x000004D7
-  GDK_KEY_kana_RI* = 0x000004D8
-  GDK_KEY_kana_RU* = 0x000004D9
-  GDK_KEY_kana_RE* = 0x000004DA
-  GDK_KEY_kana_RO* = 0x000004DB
-  GDK_KEY_kana_WA* = 0x000004DC
-  GDK_KEY_kana_N* = 0x000004DD
-  GDK_KEY_voicedsound* = 0x000004DE
-  GDK_KEY_semivoicedsound* = 0x000004DF
-  GDK_KEY_kana_switch* = 0x0000FF7E
-  GDK_KEY_Arabic_comma* = 0x000005AC
-  GDK_KEY_Arabic_semicolon* = 0x000005BB
-  GDK_KEY_Arabic_question_mark* = 0x000005BF
-  GDK_KEY_Arabic_hamza* = 0x000005C1
-  GDK_KEY_Arabic_maddaonalef* = 0x000005C2
-  GDK_KEY_Arabic_hamzaonalef* = 0x000005C3
-  GDK_KEY_Arabic_hamzaonwaw* = 0x000005C4
-  GDK_KEY_Arabic_hamzaunderalef* = 0x000005C5
-  GDK_KEY_Arabic_hamzaonyeh* = 0x000005C6
-  GDK_KEY_Arabic_alef* = 0x000005C7
-  GDK_KEY_Arabic_beh* = 0x000005C8
-  GDK_KEY_Arabic_tehmarbuta* = 0x000005C9
-  GDK_KEY_Arabic_teh* = 0x000005CA
-  GDK_KEY_Arabic_theh* = 0x000005CB
-  GDK_KEY_Arabic_jeem* = 0x000005CC
-  GDK_KEY_Arabic_hah* = 0x000005CD
-  GDK_KEY_Arabic_khah* = 0x000005CE
-  GDK_KEY_Arabic_dal* = 0x000005CF
-  GDK_KEY_Arabic_thal* = 0x000005D0
-  GDK_KEY_Arabic_ra* = 0x000005D1
-  GDK_KEY_Arabic_zain* = 0x000005D2
-  GDK_KEY_Arabic_seen* = 0x000005D3
-  GDK_KEY_Arabic_sheen* = 0x000005D4
-  GDK_KEY_Arabic_sad* = 0x000005D5
-  GDK_KEY_Arabic_dad* = 0x000005D6
-  GDK_KEY_Arabic_tah* = 0x000005D7
-  GDK_KEY_Arabic_zah* = 0x000005D8
-  GDK_KEY_Arabic_ain* = 0x000005D9
-  GDK_KEY_Arabic_ghain* = 0x000005DA
-  GDK_KEY_Arabic_tatweel* = 0x000005E0
-  GDK_KEY_Arabic_feh* = 0x000005E1
-  GDK_KEY_Arabic_qaf* = 0x000005E2
-  GDK_KEY_Arabic_kaf* = 0x000005E3
-  GDK_KEY_Arabic_lam* = 0x000005E4
-  GDK_KEY_Arabic_meem* = 0x000005E5
-  GDK_KEY_Arabic_noon* = 0x000005E6
-  GDK_KEY_Arabic_ha* = 0x000005E7
-  GDK_KEY_Arabic_heh* = 0x000005E7
-  GDK_KEY_Arabic_waw* = 0x000005E8
-  GDK_KEY_Arabic_alefmaksura* = 0x000005E9
-  GDK_KEY_Arabic_yeh* = 0x000005EA
-  GDK_KEY_Arabic_fathatan* = 0x000005EB
-  GDK_KEY_Arabic_dammatan* = 0x000005EC
-  GDK_KEY_Arabic_kasratan* = 0x000005ED
-  GDK_KEY_Arabic_fatha* = 0x000005EE
-  GDK_KEY_Arabic_damma* = 0x000005EF
-  GDK_KEY_Arabic_kasra* = 0x000005F0
-  GDK_KEY_Arabic_shadda* = 0x000005F1
-  GDK_KEY_Arabic_sukun* = 0x000005F2
-  GDK_KEY_Arabic_switch* = 0x0000FF7E
-  GDK_KEY_Serbian_dje* = 0x000006A1
-  GDK_KEY_Macedonia_gje* = 0x000006A2
-  GDK_KEY_Cyrillic_io* = 0x000006A3
-  GDK_KEY_Ukrainian_ie* = 0x000006A4
-  GDK_KEY_Ukranian_je* = 0x000006A4
-  GDK_KEY_Macedonia_dse* = 0x000006A5
-  GDK_KEY_Ukrainian_i* = 0x000006A6
-  GDK_KEY_Ukranian_i* = 0x000006A6
-  GDK_KEY_Ukrainian_yi* = 0x000006A7
-  GDK_KEY_Ukranian_yi* = 0x000006A7
-  GDK_KEY_Cyrillic_je* = 0x000006A8
-  GDK_KEY_Serbian_je* = 0x000006A8
-  GDK_KEY_Cyrillic_lje* = 0x000006A9
-  GDK_KEY_Serbian_lje* = 0x000006A9
-  GDK_KEY_Cyrillic_nje* = 0x000006AA
-  GDK_KEY_Serbian_nje* = 0x000006AA
-  GDK_KEY_Serbian_tshe* = 0x000006AB
-  GDK_KEY_Macedonia_kje* = 0x000006AC
-  GDK_KEY_Byelorussian_shortu* = 0x000006AE
-  GDK_KEY_Cyrillic_dzhe* = 0x000006AF
-  GDK_KEY_Serbian_dze* = 0x000006AF
-  GDK_KEY_numerosign* = 0x000006B0
-  GDK_KEY_Serbian_CAPITAL_DJE* = 0x000006B1
-  GDK_KEY_Macedonia_CAPITAL_GJE* = 0x000006B2
-  GDK_KEY_Cyrillic_CAPITAL_IO* = 0x000006B3
-  GDK_KEY_Ukrainian_CAPITAL_IE* = 0x000006B4
-  GDK_KEY_Ukranian_CAPITAL_JE* = 0x000006B4
-  GDK_KEY_Macedonia_CAPITAL_DSE* = 0x000006B5
-  GDK_KEY_Ukrainian_CAPITAL_I* = 0x000006B6
-  GDK_KEY_Ukranian_CAPITAL_I* = 0x000006B6
-  GDK_KEY_Ukrainian_CAPITAL_YI* = 0x000006B7
-  GDK_KEY_Ukranian_CAPITAL_YI* = 0x000006B7
-  GDK_KEY_Cyrillic_CAPITAL_JE* = 0x000006B8
-  GDK_KEY_Serbian_CAPITAL_JE* = 0x000006B8
-  GDK_KEY_Cyrillic_CAPITAL_LJE* = 0x000006B9
-  GDK_KEY_Serbian_CAPITAL_LJE* = 0x000006B9
-  GDK_KEY_Cyrillic_CAPITAL_NJE* = 0x000006BA
-  GDK_KEY_Serbian_CAPITAL_NJE* = 0x000006BA
-  GDK_KEY_Serbian_CAPITAL_TSHE* = 0x000006BB
-  GDK_KEY_Macedonia_CAPITAL_KJE* = 0x000006BC
-  GDK_KEY_Byelorussian_CAPITAL_SHORTU* = 0x000006BE
-  GDK_KEY_Cyrillic_CAPITAL_DZHE* = 0x000006BF
-  GDK_KEY_Serbian_CAPITAL_DZE* = 0x000006BF
-  GDK_KEY_Cyrillic_yu* = 0x000006C0
-  GDK_KEY_Cyrillic_a* = 0x000006C1
-  GDK_KEY_Cyrillic_be* = 0x000006C2
-  GDK_KEY_Cyrillic_tse* = 0x000006C3
-  GDK_KEY_Cyrillic_de* = 0x000006C4
-  GDK_KEY_Cyrillic_ie* = 0x000006C5
-  GDK_KEY_Cyrillic_ef* = 0x000006C6
-  GDK_KEY_Cyrillic_ghe* = 0x000006C7
-  GDK_KEY_Cyrillic_ha* = 0x000006C8
-  GDK_KEY_Cyrillic_i* = 0x000006C9
-  GDK_KEY_Cyrillic_shorti* = 0x000006CA
-  GDK_KEY_Cyrillic_ka* = 0x000006CB
-  GDK_KEY_Cyrillic_el* = 0x000006CC
-  GDK_KEY_Cyrillic_em* = 0x000006CD
-  GDK_KEY_Cyrillic_en* = 0x000006CE
-  GDK_KEY_Cyrillic_o* = 0x000006CF
-  GDK_KEY_Cyrillic_pe* = 0x000006D0
-  GDK_KEY_Cyrillic_ya* = 0x000006D1
-  GDK_KEY_Cyrillic_er* = 0x000006D2
-  GDK_KEY_Cyrillic_es* = 0x000006D3
-  GDK_KEY_Cyrillic_te* = 0x000006D4
-  GDK_KEY_Cyrillic_u* = 0x000006D5
-  GDK_KEY_Cyrillic_zhe* = 0x000006D6
-  GDK_KEY_Cyrillic_ve* = 0x000006D7
-  GDK_KEY_Cyrillic_softsign* = 0x000006D8
-  GDK_KEY_Cyrillic_yeru* = 0x000006D9
-  GDK_KEY_Cyrillic_ze* = 0x000006DA
-  GDK_KEY_Cyrillic_sha* = 0x000006DB
-  GDK_KEY_Cyrillic_e* = 0x000006DC
-  GDK_KEY_Cyrillic_shcha* = 0x000006DD
-  GDK_KEY_Cyrillic_che* = 0x000006DE
-  GDK_KEY_Cyrillic_hardsign* = 0x000006DF
-  GDK_KEY_Cyrillic_CAPITAL_YU* = 0x000006E0
-  GDK_KEY_Cyrillic_CAPITAL_A* = 0x000006E1
-  GDK_KEY_Cyrillic_CAPITAL_BE* = 0x000006E2
-  GDK_KEY_Cyrillic_CAPITAL_TSE* = 0x000006E3
-  GDK_KEY_Cyrillic_CAPITAL_DE* = 0x000006E4
-  GDK_KEY_Cyrillic_CAPITAL_IE* = 0x000006E5
-  GDK_KEY_Cyrillic_CAPITAL_EF* = 0x000006E6
-  GDK_KEY_Cyrillic_CAPITAL_GHE* = 0x000006E7
-  GDK_KEY_Cyrillic_CAPITAL_HA* = 0x000006E8
-  GDK_KEY_Cyrillic_CAPITAL_I* = 0x000006E9
-  GDK_KEY_Cyrillic_CAPITAL_SHORTI* = 0x000006EA
-  GDK_KEY_Cyrillic_CAPITAL_KA* = 0x000006EB
-  GDK_KEY_Cyrillic_CAPITAL_EL* = 0x000006EC
-  GDK_KEY_Cyrillic_CAPITAL_EM* = 0x000006ED
-  GDK_KEY_Cyrillic_CAPITAL_EN* = 0x000006EE
-  GDK_KEY_Cyrillic_CAPITAL_O* = 0x000006EF
-  GDK_KEY_Cyrillic_CAPITAL_PE* = 0x000006F0
-  GDK_KEY_Cyrillic_CAPITAL_YA* = 0x000006F1
-  GDK_KEY_Cyrillic_CAPITAL_ER* = 0x000006F2
-  GDK_KEY_Cyrillic_CAPITAL_ES* = 0x000006F3
-  GDK_KEY_Cyrillic_CAPITAL_TE* = 0x000006F4
-  GDK_KEY_Cyrillic_CAPITAL_U* = 0x000006F5
-  GDK_KEY_Cyrillic_CAPITAL_ZHE* = 0x000006F6
-  GDK_KEY_Cyrillic_CAPITAL_VE* = 0x000006F7
-  GDK_KEY_Cyrillic_CAPITAL_SOFTSIGN* = 0x000006F8
-  GDK_KEY_Cyrillic_CAPITAL_YERU* = 0x000006F9
-  GDK_KEY_Cyrillic_CAPITAL_ZE* = 0x000006FA
-  GDK_KEY_Cyrillic_CAPITAL_SHA* = 0x000006FB
-  GDK_KEY_Cyrillic_CAPITAL_E* = 0x000006FC
-  GDK_KEY_Cyrillic_CAPITAL_SHCHA* = 0x000006FD
-  GDK_KEY_Cyrillic_CAPITAL_CHE* = 0x000006FE
-  GDK_KEY_Cyrillic_CAPITAL_HARDSIGN* = 0x000006FF
-  GDK_KEY_Greek_CAPITAL_ALPHAaccent* = 0x000007A1
-  GDK_KEY_Greek_CAPITAL_EPSILONaccent* = 0x000007A2
-  GDK_KEY_Greek_CAPITAL_ETAaccent* = 0x000007A3
-  GDK_KEY_Greek_CAPITAL_IOTAaccent* = 0x000007A4
-  GDK_KEY_Greek_CAPITAL_IOTAdiaeresis* = 0x000007A5
-  GDK_KEY_Greek_CAPITAL_OMICRONaccent* = 0x000007A7
-  GDK_KEY_Greek_CAPITAL_UPSILONaccent* = 0x000007A8
-  GDK_KEY_Greek_CAPITAL_UPSILONdieresis* = 0x000007A9
-  GDK_KEY_Greek_CAPITAL_OMEGAaccent* = 0x000007AB
-  GDK_KEY_Greek_accentdieresis* = 0x000007AE
-  GDK_KEY_Greek_horizbar* = 0x000007AF
-  GDK_KEY_Greek_alphaaccent* = 0x000007B1
-  GDK_KEY_Greek_epsilonaccent* = 0x000007B2
-  GDK_KEY_Greek_etaaccent* = 0x000007B3
-  GDK_KEY_Greek_iotaaccent* = 0x000007B4
-  GDK_KEY_Greek_iotadieresis* = 0x000007B5
-  GDK_KEY_Greek_iotaaccentdieresis* = 0x000007B6
-  GDK_KEY_Greek_omicronaccent* = 0x000007B7
-  GDK_KEY_Greek_upsilonaccent* = 0x000007B8
-  GDK_KEY_Greek_upsilondieresis* = 0x000007B9
-  GDK_KEY_Greek_upsilonaccentdieresis* = 0x000007BA
-  GDK_KEY_Greek_omegaaccent* = 0x000007BB
-  GDK_KEY_Greek_CAPITAL_ALPHA* = 0x000007C1
-  GDK_KEY_Greek_CAPITAL_BETA* = 0x000007C2
-  GDK_KEY_Greek_CAPITAL_GAMMA* = 0x000007C3
-  GDK_KEY_Greek_CAPITAL_DELTA* = 0x000007C4
-  GDK_KEY_Greek_CAPITAL_EPSILON* = 0x000007C5
-  GDK_KEY_Greek_CAPITAL_ZETA* = 0x000007C6
-  GDK_KEY_Greek_CAPITAL_ETA* = 0x000007C7
-  GDK_KEY_Greek_CAPITAL_THETA* = 0x000007C8
-  GDK_KEY_Greek_CAPITAL_IOTA* = 0x000007C9
-  GDK_KEY_Greek_CAPITAL_KAPPA* = 0x000007CA
-  GDK_KEY_Greek_CAPITAL_LAMDA* = 0x000007CB
-  GDK_KEY_Greek_CAPITAL_LAMBDA* = 0x000007CB
-  GDK_KEY_Greek_CAPITAL_MU* = 0x000007CC
-  GDK_KEY_Greek_CAPITAL_NU* = 0x000007CD
-  GDK_KEY_Greek_CAPITAL_XI* = 0x000007CE
-  GDK_KEY_Greek_CAPITAL_OMICRON* = 0x000007CF
-  GDK_KEY_Greek_CAPITAL_PI* = 0x000007D0
-  GDK_KEY_Greek_CAPITAL_RHO* = 0x000007D1
-  GDK_KEY_Greek_CAPITAL_SIGMA* = 0x000007D2
-  GDK_KEY_Greek_CAPITAL_TAU* = 0x000007D4
-  GDK_KEY_Greek_CAPITAL_UPSILON* = 0x000007D5
-  GDK_KEY_Greek_CAPITAL_PHI* = 0x000007D6
-  GDK_KEY_Greek_CAPITAL_CHI* = 0x000007D7
-  GDK_KEY_Greek_CAPITAL_PSI* = 0x000007D8
-  GDK_KEY_Greek_CAPITAL_OMEGA* = 0x000007D9
-  GDK_KEY_Greek_alpha* = 0x000007E1
-  GDK_KEY_Greek_beta* = 0x000007E2
-  GDK_KEY_Greek_gamma* = 0x000007E3
-  GDK_KEY_Greek_delta* = 0x000007E4
-  GDK_KEY_Greek_epsilon* = 0x000007E5
-  GDK_KEY_Greek_zeta* = 0x000007E6
-  GDK_KEY_Greek_eta* = 0x000007E7
-  GDK_KEY_Greek_theta* = 0x000007E8
-  GDK_KEY_Greek_iota* = 0x000007E9
-  GDK_KEY_Greek_kappa* = 0x000007EA
-  GDK_KEY_Greek_lamda* = 0x000007EB
-  GDK_KEY_Greek_lambda* = 0x000007EB
-  GDK_KEY_Greek_mu* = 0x000007EC
-  GDK_KEY_Greek_nu* = 0x000007ED
-  GDK_KEY_Greek_xi* = 0x000007EE
-  GDK_KEY_Greek_omicron* = 0x000007EF
-  GDK_KEY_Greek_pi* = 0x000007F0
-  GDK_KEY_Greek_rho* = 0x000007F1
-  GDK_KEY_Greek_sigma* = 0x000007F2
-  GDK_KEY_Greek_finalsmallsigma* = 0x000007F3
-  GDK_KEY_Greek_tau* = 0x000007F4
-  GDK_KEY_Greek_upsilon* = 0x000007F5
-  GDK_KEY_Greek_phi* = 0x000007F6
-  GDK_KEY_Greek_chi* = 0x000007F7
-  GDK_KEY_Greek_psi* = 0x000007F8
-  GDK_KEY_Greek_omega* = 0x000007F9
-  GDK_KEY_Greek_switch* = 0x0000FF7E
-  GDK_KEY_leftradical* = 0x000008A1
-  GDK_KEY_topleftradical* = 0x000008A2
-  GDK_KEY_horizconnector* = 0x000008A3
-  GDK_KEY_topintegral* = 0x000008A4
-  GDK_KEY_botintegral* = 0x000008A5
-  GDK_KEY_vertconnector* = 0x000008A6
-  GDK_KEY_topleftsqbracket* = 0x000008A7
-  GDK_KEY_botleftsqbracket* = 0x000008A8
-  GDK_KEY_toprightsqbracket* = 0x000008A9
-  GDK_KEY_botrightsqbracket* = 0x000008AA
-  GDK_KEY_topleftparens* = 0x000008AB
-  GDK_KEY_botleftparens* = 0x000008AC
-  GDK_KEY_toprightparens* = 0x000008AD
-  GDK_KEY_botrightparens* = 0x000008AE
-  GDK_KEY_leftmiddlecurlybrace* = 0x000008AF
-  GDK_KEY_rightmiddlecurlybrace* = 0x000008B0
-  GDK_KEY_topleftsummation* = 0x000008B1
-  GDK_KEY_botleftsummation* = 0x000008B2
-  GDK_KEY_topvertsummationconnector* = 0x000008B3
-  GDK_KEY_botvertsummationconnector* = 0x000008B4
-  GDK_KEY_toprightsummation* = 0x000008B5
-  GDK_KEY_botrightsummation* = 0x000008B6
-  GDK_KEY_rightmiddlesummation* = 0x000008B7
-  GDK_KEY_lessthanequal* = 0x000008BC
-  GDK_KEY_notequal* = 0x000008BD
-  GDK_KEY_greaterthanequal* = 0x000008BE
-  GDK_KEY_integral* = 0x000008BF
-  GDK_KEY_therefore* = 0x000008C0
-  GDK_KEY_variation* = 0x000008C1
-  GDK_KEY_infinity* = 0x000008C2
-  GDK_KEY_nabla* = 0x000008C5
-  GDK_KEY_approximate* = 0x000008C8
-  GDK_KEY_similarequal* = 0x000008C9
-  GDK_KEY_ifonlyif* = 0x000008CD
-  GDK_KEY_implies* = 0x000008CE
-  GDK_KEY_identical* = 0x000008CF
-  GDK_KEY_radical* = 0x000008D6
-  GDK_KEY_includedin* = 0x000008DA
-  GDK_KEY_includes* = 0x000008DB
-  GDK_KEY_intersection* = 0x000008DC
-  GDK_KEY_union* = 0x000008DD
-  GDK_KEY_logicaland* = 0x000008DE
-  GDK_KEY_logicalor* = 0x000008DF
-  GDK_KEY_partialderivative* = 0x000008EF
-  GDK_KEY_function* = 0x000008F6
-  GDK_KEY_leftarrow* = 0x000008FB
-  GDK_KEY_uparrow* = 0x000008FC
-  GDK_KEY_rightarrow* = 0x000008FD
-  GDK_KEY_downarrow* = 0x000008FE
-  GDK_KEY_blank* = 0x000009DF
-  GDK_KEY_soliddiamond* = 0x000009E0
-  GDK_KEY_checkerboard* = 0x000009E1
-  GDK_KEY_ht* = 0x000009E2
-  GDK_KEY_ff* = 0x000009E3
-  GDK_KEY_cr* = 0x000009E4
-  GDK_KEY_lf* = 0x000009E5
-  GDK_KEY_nl* = 0x000009E8
-  GDK_KEY_vt* = 0x000009E9
-  GDK_KEY_lowrightcorner* = 0x000009EA
-  GDK_KEY_uprightcorner* = 0x000009EB
-  GDK_KEY_upleftcorner* = 0x000009EC
-  GDK_KEY_lowleftcorner* = 0x000009ED
-  GDK_KEY_crossinglines* = 0x000009EE
-  GDK_KEY_horizlinescan1* = 0x000009EF
-  GDK_KEY_horizlinescan3* = 0x000009F0
-  GDK_KEY_horizlinescan5* = 0x000009F1
-  GDK_KEY_horizlinescan7* = 0x000009F2
-  GDK_KEY_horizlinescan9* = 0x000009F3
-  GDK_KEY_leftt* = 0x000009F4
-  GDK_KEY_rightt* = 0x000009F5
-  GDK_KEY_bott* = 0x000009F6
-  GDK_KEY_topt* = 0x000009F7
-  GDK_KEY_vertbar* = 0x000009F8
-  GDK_KEY_emspace* = 0x00000AA1
-  GDK_KEY_enspace* = 0x00000AA2
-  GDK_KEY_em3space* = 0x00000AA3
-  GDK_KEY_em4space* = 0x00000AA4
-  GDK_KEY_digitspace* = 0x00000AA5
-  GDK_KEY_punctspace* = 0x00000AA6
-  GDK_KEY_thinspace* = 0x00000AA7
-  GDK_KEY_hairspace* = 0x00000AA8
-  GDK_KEY_emdash* = 0x00000AA9
-  GDK_KEY_endash* = 0x00000AAA
-  GDK_KEY_signifblank* = 0x00000AAC
-  GDK_KEY_ellipsis* = 0x00000AAE
-  GDK_KEY_doubbaselinedot* = 0x00000AAF
-  GDK_KEY_onethird* = 0x00000AB0
-  GDK_KEY_twothirds* = 0x00000AB1
-  GDK_KEY_onefifth* = 0x00000AB2
-  GDK_KEY_twofifths* = 0x00000AB3
-  GDK_KEY_threefifths* = 0x00000AB4
-  GDK_KEY_fourfifths* = 0x00000AB5
-  GDK_KEY_onesixth* = 0x00000AB6
-  GDK_KEY_fivesixths* = 0x00000AB7
-  GDK_KEY_careof* = 0x00000AB8
-  GDK_KEY_figdash* = 0x00000ABB
-  GDK_KEY_leftanglebracket* = 0x00000ABC
-  GDK_KEY_decimalpoint* = 0x00000ABD
-  GDK_KEY_rightanglebracket* = 0x00000ABE
-  GDK_KEY_marker* = 0x00000ABF
-  GDK_KEY_oneeighth* = 0x00000AC3
-  GDK_KEY_threeeighths* = 0x00000AC4
-  GDK_KEY_fiveeighths* = 0x00000AC5
-  GDK_KEY_seveneighths* = 0x00000AC6
-  GDK_KEY_trademark* = 0x00000AC9
-  GDK_KEY_signaturemark* = 0x00000ACA
-  GDK_KEY_trademarkincircle* = 0x00000ACB
-  GDK_KEY_leftopentriangle* = 0x00000ACC
-  GDK_KEY_rightopentriangle* = 0x00000ACD
-  GDK_KEY_emopencircle* = 0x00000ACE
-  GDK_KEY_emopenrectangle* = 0x00000ACF
-  GDK_KEY_leftsinglequotemark* = 0x00000AD0
-  GDK_KEY_rightsinglequotemark* = 0x00000AD1
-  GDK_KEY_leftdoublequotemark* = 0x00000AD2
-  GDK_KEY_rightdoublequotemark* = 0x00000AD3
-  GDK_KEY_prescription* = 0x00000AD4
-  GDK_KEY_minutes* = 0x00000AD6
-  GDK_KEY_seconds* = 0x00000AD7
-  GDK_KEY_latincross* = 0x00000AD9
-  GDK_KEY_hexagram* = 0x00000ADA
-  GDK_KEY_filledrectbullet* = 0x00000ADB
-  GDK_KEY_filledlefttribullet* = 0x00000ADC
-  GDK_KEY_filledrighttribullet* = 0x00000ADD
-  GDK_KEY_emfilledcircle* = 0x00000ADE
-  GDK_KEY_emfilledrect* = 0x00000ADF
-  GDK_KEY_enopencircbullet* = 0x00000AE0
-  GDK_KEY_enopensquarebullet* = 0x00000AE1
-  GDK_KEY_openrectbullet* = 0x00000AE2
-  GDK_KEY_opentribulletup* = 0x00000AE3
-  GDK_KEY_opentribulletdown* = 0x00000AE4
-  GDK_KEY_openstar* = 0x00000AE5
-  GDK_KEY_enfilledcircbullet* = 0x00000AE6
-  GDK_KEY_enfilledsqbullet* = 0x00000AE7
-  GDK_KEY_filledtribulletup* = 0x00000AE8
-  GDK_KEY_filledtribulletdown* = 0x00000AE9
-  GDK_KEY_leftpointer* = 0x00000AEA
-  GDK_KEY_rightpointer* = 0x00000AEB
-  GDK_KEY_club* = 0x00000AEC
-  GDK_KEY_diamond* = 0x00000AED
-  GDK_KEY_heart* = 0x00000AEE
-  GDK_KEY_maltesecross* = 0x00000AF0
-  GDK_KEY_dagger* = 0x00000AF1
-  GDK_KEY_doubledagger* = 0x00000AF2
-  GDK_KEY_checkmark* = 0x00000AF3
-  GDK_KEY_ballotcross* = 0x00000AF4
-  GDK_KEY_musicalsharp* = 0x00000AF5
-  GDK_KEY_musicalflat* = 0x00000AF6
-  GDK_KEY_malesymbol* = 0x00000AF7
-  GDK_KEY_femalesymbol* = 0x00000AF8
-  GDK_KEY_telephone* = 0x00000AF9
-  GDK_KEY_telephonerecorder* = 0x00000AFA
-  GDK_KEY_phonographcopyright* = 0x00000AFB
-  GDK_KEY_caret* = 0x00000AFC
-  GDK_KEY_singlelowquotemark* = 0x00000AFD
-  GDK_KEY_doublelowquotemark* = 0x00000AFE
-  GDK_KEY_cursor* = 0x00000AFF
-  GDK_KEY_leftcaret* = 0x00000BA3
-  GDK_KEY_rightcaret* = 0x00000BA6
-  GDK_KEY_downcaret* = 0x00000BA8
-  GDK_KEY_upcaret* = 0x00000BA9
-  GDK_KEY_overbar* = 0x00000BC0
-  GDK_KEY_downtack* = 0x00000BC2
-  GDK_KEY_upshoe* = 0x00000BC3
-  GDK_KEY_downstile* = 0x00000BC4
-  GDK_KEY_underbar* = 0x00000BC6
-  GDK_KEY_jot* = 0x00000BCA
-  GDK_KEY_quad* = 0x00000BCC
-  GDK_KEY_uptack* = 0x00000BCE
-  GDK_KEY_circle* = 0x00000BCF
-  GDK_KEY_upstile* = 0x00000BD3
-  GDK_KEY_downshoe* = 0x00000BD6
-  GDK_KEY_rightshoe* = 0x00000BD8
-  GDK_KEY_leftshoe* = 0x00000BDA
-  GDK_KEY_lefttack* = 0x00000BDC
-  GDK_KEY_righttack* = 0x00000BFC
-  GDK_KEY_hebrew_doublelowline* = 0x00000CDF
-  GDK_KEY_hebrew_aleph* = 0x00000CE0
-  GDK_KEY_hebrew_bet* = 0x00000CE1
-  GDK_KEY_hebrew_beth* = 0x00000CE1
-  GDK_KEY_hebrew_gimel* = 0x00000CE2
-  GDK_KEY_hebrew_gimmel* = 0x00000CE2
-  GDK_KEY_hebrew_dalet* = 0x00000CE3
-  GDK_KEY_hebrew_daleth* = 0x00000CE3
-  GDK_KEY_hebrew_he* = 0x00000CE4
-  GDK_KEY_hebrew_waw* = 0x00000CE5
-  GDK_KEY_hebrew_zain* = 0x00000CE6
-  GDK_KEY_hebrew_zayin* = 0x00000CE6
-  GDK_KEY_hebrew_chet* = 0x00000CE7
-  GDK_KEY_hebrew_het* = 0x00000CE7
-  GDK_KEY_hebrew_tet* = 0x00000CE8
-  GDK_KEY_hebrew_teth* = 0x00000CE8
-  GDK_KEY_hebrew_yod* = 0x00000CE9
-  GDK_KEY_hebrew_finalkaph* = 0x00000CEA
-  GDK_KEY_hebrew_kaph* = 0x00000CEB
-  GDK_KEY_hebrew_lamed* = 0x00000CEC
-  GDK_KEY_hebrew_finalmem* = 0x00000CED
-  GDK_KEY_hebrew_mem* = 0x00000CEE
-  GDK_KEY_hebrew_finalnun* = 0x00000CEF
-  GDK_KEY_hebrew_nun* = 0x00000CF0
-  GDK_KEY_hebrew_samech* = 0x00000CF1
-  GDK_KEY_hebrew_samekh* = 0x00000CF1
-  GDK_KEY_hebrew_ayin* = 0x00000CF2
-  GDK_KEY_hebrew_finalpe* = 0x00000CF3
-  GDK_KEY_hebrew_pe* = 0x00000CF4
-  GDK_KEY_hebrew_finalzade* = 0x00000CF5
-  GDK_KEY_hebrew_finalzadi* = 0x00000CF5
-  GDK_KEY_hebrew_zade* = 0x00000CF6
-  GDK_KEY_hebrew_zadi* = 0x00000CF6
-  GDK_KEY_hebrew_qoph* = 0x00000CF7
-  GDK_KEY_hebrew_kuf* = 0x00000CF7
-  GDK_KEY_hebrew_resh* = 0x00000CF8
-  GDK_KEY_hebrew_shin* = 0x00000CF9
-  GDK_KEY_hebrew_taw* = 0x00000CFA
-  GDK_KEY_hebrew_taf* = 0x00000CFA
-  GDK_KEY_Hebrew_switch* = 0x0000FF7E
-  GDK_KEY_Thai_kokai* = 0x00000DA1
-  GDK_KEY_Thai_khokhai* = 0x00000DA2
-  GDK_KEY_Thai_khokhuat* = 0x00000DA3
-  GDK_KEY_Thai_khokhwai* = 0x00000DA4
-  GDK_KEY_Thai_khokhon* = 0x00000DA5
-  GDK_KEY_Thai_khorakhang* = 0x00000DA6
-  GDK_KEY_Thai_ngongu* = 0x00000DA7
-  GDK_KEY_Thai_chochan* = 0x00000DA8
-  GDK_KEY_Thai_choching* = 0x00000DA9
-  GDK_KEY_Thai_chochang* = 0x00000DAA
-  GDK_KEY_Thai_soso* = 0x00000DAB
-  GDK_KEY_Thai_chochoe* = 0x00000DAC
-  GDK_KEY_Thai_yoying* = 0x00000DAD
-  GDK_KEY_Thai_dochada* = 0x00000DAE
-  GDK_KEY_Thai_topatak* = 0x00000DAF
-  GDK_KEY_Thai_thothan* = 0x00000DB0
-  GDK_KEY_Thai_thonangmontho* = 0x00000DB1
-  GDK_KEY_Thai_thophuthao* = 0x00000DB2
-  GDK_KEY_Thai_nonen* = 0x00000DB3
-  GDK_KEY_Thai_dodek* = 0x00000DB4
-  GDK_KEY_Thai_totao* = 0x00000DB5
-  GDK_KEY_Thai_thothung* = 0x00000DB6
-  GDK_KEY_Thai_thothahan* = 0x00000DB7
-  GDK_KEY_Thai_thothong* = 0x00000DB8
-  GDK_KEY_Thai_nonu* = 0x00000DB9
-  GDK_KEY_Thai_bobaimai* = 0x00000DBA
-  GDK_KEY_Thai_popla* = 0x00000DBB
-  GDK_KEY_Thai_phophung* = 0x00000DBC
-  GDK_KEY_Thai_fofa* = 0x00000DBD
-  GDK_KEY_Thai_phophan* = 0x00000DBE
-  GDK_KEY_Thai_fofan* = 0x00000DBF
-  GDK_KEY_Thai_phosamphao* = 0x00000DC0
-  GDK_KEY_Thai_moma* = 0x00000DC1
-  GDK_KEY_Thai_yoyak* = 0x00000DC2
-  GDK_KEY_Thai_rorua* = 0x00000DC3
-  GDK_KEY_Thai_ru* = 0x00000DC4
-  GDK_KEY_Thai_loling* = 0x00000DC5
-  GDK_KEY_Thai_lu* = 0x00000DC6
-  GDK_KEY_Thai_wowaen* = 0x00000DC7
-  GDK_KEY_Thai_sosala* = 0x00000DC8
-  GDK_KEY_Thai_sorusi* = 0x00000DC9
-  GDK_KEY_Thai_sosua* = 0x00000DCA
-  GDK_KEY_Thai_hohip* = 0x00000DCB
-  GDK_KEY_Thai_lochula* = 0x00000DCC
-  GDK_KEY_Thai_oang* = 0x00000DCD
-  GDK_KEY_Thai_honokhuk* = 0x00000DCE
-  GDK_KEY_Thai_paiyannoi* = 0x00000DCF
-  GDK_KEY_Thai_saraa* = 0x00000DD0
-  GDK_KEY_Thai_maihanakat* = 0x00000DD1
-  GDK_KEY_Thai_saraaa* = 0x00000DD2
-  GDK_KEY_Thai_saraam* = 0x00000DD3
-  GDK_KEY_Thai_sarai* = 0x00000DD4
-  GDK_KEY_Thai_saraii* = 0x00000DD5
-  GDK_KEY_Thai_saraue* = 0x00000DD6
-  GDK_KEY_Thai_sarauee* = 0x00000DD7
-  GDK_KEY_Thai_sarau* = 0x00000DD8
-  GDK_KEY_Thai_sarauu* = 0x00000DD9
-  GDK_KEY_Thai_phinthu* = 0x00000DDA
-  GDK_KEY_Thai_maihanakat_maitho* = 0x00000DDE
-  GDK_KEY_Thai_baht* = 0x00000DDF
-  GDK_KEY_Thai_sarae* = 0x00000DE0
-  GDK_KEY_Thai_saraae* = 0x00000DE1
-  GDK_KEY_Thai_sarao* = 0x00000DE2
-  GDK_KEY_Thai_saraaimaimuan* = 0x00000DE3
-  GDK_KEY_Thai_saraaimaimalai* = 0x00000DE4
-  GDK_KEY_Thai_lakkhangyao* = 0x00000DE5
-  GDK_KEY_Thai_maiyamok* = 0x00000DE6
-  GDK_KEY_Thai_maitaikhu* = 0x00000DE7
-  GDK_KEY_Thai_maiek* = 0x00000DE8
-  GDK_KEY_Thai_maitho* = 0x00000DE9
-  GDK_KEY_Thai_maitri* = 0x00000DEA
-  GDK_KEY_Thai_maichattawa* = 0x00000DEB
-  GDK_KEY_Thai_thanthakhat* = 0x00000DEC
-  GDK_KEY_Thai_nikhahit* = 0x00000DED
-  GDK_KEY_Thai_leksun* = 0x00000DF0
-  GDK_KEY_Thai_leknung* = 0x00000DF1
-  GDK_KEY_Thai_leksong* = 0x00000DF2
-  GDK_KEY_Thai_leksam* = 0x00000DF3
-  GDK_KEY_Thai_leksi* = 0x00000DF4
-  GDK_KEY_Thai_lekha* = 0x00000DF5
-  GDK_KEY_Thai_lekhok* = 0x00000DF6
-  GDK_KEY_Thai_lekchet* = 0x00000DF7
-  GDK_KEY_Thai_lekpaet* = 0x00000DF8
-  GDK_KEY_Thai_lekkao* = 0x00000DF9
-  GDK_KEY_Hangul* = 0x0000FF31
-  GDK_KEY_Hangul_Start* = 0x0000FF32
-  GDK_KEY_Hangul_End* = 0x0000FF33
-  GDK_KEY_Hangul_Hanja* = 0x0000FF34
-  GDK_KEY_Hangul_Jamo* = 0x0000FF35
-  GDK_KEY_Hangul_Romaja* = 0x0000FF36
-  GDK_KEY_Hangul_Codeinput* = 0x0000FF37
-  GDK_KEY_Hangul_Jeonja* = 0x0000FF38
-  GDK_KEY_Hangul_Banja* = 0x0000FF39
-  GDK_KEY_Hangul_PreHanja* = 0x0000FF3A
-  GDK_KEY_Hangul_PostHanja* = 0x0000FF3B
-  GDK_KEY_Hangul_SingleCandidate* = 0x0000FF3C
-  GDK_KEY_Hangul_MultipleCandidate* = 0x0000FF3D
-  GDK_KEY_Hangul_PreviousCandidate* = 0x0000FF3E
-  GDK_KEY_Hangul_Special* = 0x0000FF3F
-  GDK_KEY_Hangul_switch* = 0x0000FF7E
-  GDK_KEY_Hangul_Kiyeog* = 0x00000EA1
-  GDK_KEY_Hangul_SsangKiyeog* = 0x00000EA2
-  GDK_KEY_Hangul_KiyeogSios* = 0x00000EA3
-  GDK_KEY_Hangul_Nieun* = 0x00000EA4
-  GDK_KEY_Hangul_NieunJieuj* = 0x00000EA5
-  GDK_KEY_Hangul_NieunHieuh* = 0x00000EA6
-  GDK_KEY_Hangul_Dikeud* = 0x00000EA7
-  GDK_KEY_Hangul_SsangDikeud* = 0x00000EA8
-  GDK_KEY_Hangul_Rieul* = 0x00000EA9
-  GDK_KEY_Hangul_RieulKiyeog* = 0x00000EAA
-  GDK_KEY_Hangul_RieulMieum* = 0x00000EAB
-  GDK_KEY_Hangul_RieulPieub* = 0x00000EAC
-  GDK_KEY_Hangul_RieulSios* = 0x00000EAD
-  GDK_KEY_Hangul_RieulTieut* = 0x00000EAE
-  GDK_KEY_Hangul_RieulPhieuf* = 0x00000EAF
-  GDK_KEY_Hangul_RieulHieuh* = 0x00000EB0
-  GDK_KEY_Hangul_Mieum* = 0x00000EB1
-  GDK_KEY_Hangul_Pieub* = 0x00000EB2
-  GDK_KEY_Hangul_SsangPieub* = 0x00000EB3
-  GDK_KEY_Hangul_PieubSios* = 0x00000EB4
-  GDK_KEY_Hangul_Sios* = 0x00000EB5
-  GDK_KEY_Hangul_SsangSios* = 0x00000EB6
-  GDK_KEY_Hangul_Ieung* = 0x00000EB7
-  GDK_KEY_Hangul_Jieuj* = 0x00000EB8
-  GDK_KEY_Hangul_SsangJieuj* = 0x00000EB9
-  GDK_KEY_Hangul_Cieuc* = 0x00000EBA
-  GDK_KEY_Hangul_Khieuq* = 0x00000EBB
-  GDK_KEY_Hangul_Tieut* = 0x00000EBC
-  GDK_KEY_Hangul_Phieuf* = 0x00000EBD
-  GDK_KEY_Hangul_Hieuh* = 0x00000EBE
-  GDK_KEY_Hangul_A* = 0x00000EBF
-  GDK_KEY_Hangul_AE* = 0x00000EC0
-  GDK_KEY_Hangul_YA* = 0x00000EC1
-  GDK_KEY_Hangul_YAE* = 0x00000EC2
-  GDK_KEY_Hangul_EO* = 0x00000EC3
-  GDK_KEY_Hangul_E* = 0x00000EC4
-  GDK_KEY_Hangul_YEO* = 0x00000EC5
-  GDK_KEY_Hangul_YE* = 0x00000EC6
-  GDK_KEY_Hangul_O* = 0x00000EC7
-  GDK_KEY_Hangul_WA* = 0x00000EC8
-  GDK_KEY_Hangul_WAE* = 0x00000EC9
-  GDK_KEY_Hangul_OE* = 0x00000ECA
-  GDK_KEY_Hangul_YO* = 0x00000ECB
-  GDK_KEY_Hangul_U* = 0x00000ECC
-  GDK_KEY_Hangul_WEO* = 0x00000ECD
-  GDK_KEY_Hangul_WE* = 0x00000ECE
-  GDK_KEY_Hangul_WI* = 0x00000ECF
-  GDK_KEY_Hangul_YU* = 0x00000ED0
-  GDK_KEY_Hangul_EU* = 0x00000ED1
-  GDK_KEY_Hangul_YI* = 0x00000ED2
-  GDK_KEY_Hangul_I* = 0x00000ED3
-  GDK_KEY_Hangul_J_Kiyeog* = 0x00000ED4
-  GDK_KEY_Hangul_J_SsangKiyeog* = 0x00000ED5
-  GDK_KEY_Hangul_J_KiyeogSios* = 0x00000ED6
-  GDK_KEY_Hangul_J_Nieun* = 0x00000ED7
-  GDK_KEY_Hangul_J_NieunJieuj* = 0x00000ED8
-  GDK_KEY_Hangul_J_NieunHieuh* = 0x00000ED9
-  GDK_KEY_Hangul_J_Dikeud* = 0x00000EDA
-  GDK_KEY_Hangul_J_Rieul* = 0x00000EDB
-  GDK_KEY_Hangul_J_RieulKiyeog* = 0x00000EDC
-  GDK_KEY_Hangul_J_RieulMieum* = 0x00000EDD
-  GDK_KEY_Hangul_J_RieulPieub* = 0x00000EDE
-  GDK_KEY_Hangul_J_RieulSios* = 0x00000EDF
-  GDK_KEY_Hangul_J_RieulTieut* = 0x00000EE0
-  GDK_KEY_Hangul_J_RieulPhieuf* = 0x00000EE1
-  GDK_KEY_Hangul_J_RieulHieuh* = 0x00000EE2
-  GDK_KEY_Hangul_J_Mieum* = 0x00000EE3
-  GDK_KEY_Hangul_J_Pieub* = 0x00000EE4
-  GDK_KEY_Hangul_J_PieubSios* = 0x00000EE5
-  GDK_KEY_Hangul_J_Sios* = 0x00000EE6
-  GDK_KEY_Hangul_J_SsangSios* = 0x00000EE7
-  GDK_KEY_Hangul_J_Ieung* = 0x00000EE8
-  GDK_KEY_Hangul_J_Jieuj* = 0x00000EE9
-  GDK_KEY_Hangul_J_Cieuc* = 0x00000EEA
-  GDK_KEY_Hangul_J_Khieuq* = 0x00000EEB
-  GDK_KEY_Hangul_J_Tieut* = 0x00000EEC
-  GDK_KEY_Hangul_J_Phieuf* = 0x00000EED
-  GDK_KEY_Hangul_J_Hieuh* = 0x00000EEE
-  GDK_KEY_Hangul_RieulYeorinHieuh* = 0x00000EEF
-  GDK_KEY_Hangul_SunkyeongeumMieum* = 0x00000EF0
-  GDK_KEY_Hangul_SunkyeongeumPieub* = 0x00000EF1
-  GDK_KEY_Hangul_PanSios* = 0x00000EF2
-  GDK_KEY_Hangul_KkogjiDalrinIeung* = 0x00000EF3
-  GDK_KEY_Hangul_SunkyeongeumPhieuf* = 0x00000EF4
-  GDK_KEY_Hangul_YeorinHieuh* = 0x00000EF5
-  GDK_KEY_Hangul_AraeA* = 0x00000EF6
-  GDK_KEY_Hangul_AraeAE* = 0x00000EF7
-  GDK_KEY_Hangul_J_PanSios* = 0x00000EF8
-  GDK_KEY_Hangul_J_KkogjiDalrinIeung* = 0x00000EF9
-  GDK_KEY_Hangul_J_YeorinHieuh* = 0x00000EFA
-  GDK_KEY_Korean_Won* = 0x00000EFF
-  GDK_KEY_EcuSign* = 0x000020A0
-  GDK_KEY_ColonSign* = 0x000020A1
-  GDK_KEY_CruzeiroSign* = 0x000020A2
-  GDK_KEY_FFrancSign* = 0x000020A3
-  GDK_KEY_LiraSign* = 0x000020A4
-  GDK_KEY_MillSign* = 0x000020A5
-  GDK_KEY_NairaSign* = 0x000020A6
-  GDK_KEY_PesetaSign* = 0x000020A7
-  GDK_KEY_RupeeSign* = 0x000020A8
-  GDK_KEY_WonSign* = 0x000020A9
-  GDK_KEY_NewSheqelSign* = 0x000020AA
-  GDK_KEY_DongSign* = 0x000020AB
-  GDK_KEY_EuroSign* = 0x000020AC
-
-proc gdk_pango_context_get_for_screen*(screen: PGdkScreen): PPangoContext{.
-    cdecl, dynlib: gdklib, importc: "gdk_pango_context_get_for_screen".}
-proc gdk_pango_context_set_colormap*(context: PPangoContext,
-                                     colormap: PGdkColormap){.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_context_set_colormap".}
-proc gdk_pango_layout_line_get_clip_region*(line: PPangoLayoutLine,
-    x_origin: gint, y_origin: gint, index_ranges: Pgint, n_ranges: gint): PGdkRegion{.
-    cdecl, dynlib: gdklib, importc: "gdk_pango_layout_line_get_clip_region".}
-proc gdk_pango_layout_get_clip_region*(layout: PPangoLayout, x_origin: gint,
-                                       y_origin: gint, index_ranges: Pgint,
-                                       n_ranges: gint): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_layout_get_clip_region".}
-proc gdk_pango_attr_stipple_new*(stipple: PGdkBitmap): PPangoAttribute{.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_attr_stipple_new".}
-proc gdk_pango_attr_embossed_new*(embossed: gboolean): PPangoAttribute{.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_attr_embossed_new".}
-proc gdk_pixbuf_render_threshold_alpha*(pixbuf: PGdkPixbuf, bitmap: PGdkBitmap,
-                                        src_x: int32, src_y: int32,
-                                        dest_x: int32, dest_y: int32,
-                                        width: int32, height: int32,
-                                        alpha_threshold: int32){.cdecl,
-    dynlib: gdklib, importc: "gdk_pixbuf_render_threshold_alpha".}
-proc gdk_pixbuf_render_to_drawable*(pixbuf: PGdkPixbuf, drawable: PGdkDrawable,
-                                    gc: PGdkGC, src_x: int32, src_y: int32,
-                                    dest_x: int32, dest_y: int32, width: int32,
-                                    height: int32, dither: TGdkRgbDither,
-                                    x_dither: int32, y_dither: int32){.cdecl,
-    dynlib: gdklib, importc: "gdk_pixbuf_render_to_drawable".}
-proc gdk_pixbuf_render_to_drawable_alpha*(pixbuf: PGdkPixbuf,
-    drawable: PGdkDrawable, src_x: int32, src_y: int32, dest_x: int32,
-    dest_y: int32, width: int32, height: int32, alpha_mode: TGdkPixbufAlphaMode,
-    alpha_threshold: int32, dither: TGdkRgbDither, x_dither: int32,
-    y_dither: int32){.cdecl, dynlib: gdklib,
-                      importc: "gdk_pixbuf_render_to_drawable_alpha".}
-proc gdk_pixbuf_render_pixmap_and_mask_for_colormap*(pixbuf: PGdkPixbuf,
-    colormap: PGdkColormap, n: var PGdkPixmap, nasdfdsafw4e: var PGdkBitmap,
-    alpha_threshold: int32){.cdecl, dynlib: gdklib, importc: "gdk_pixbuf_render_pixmap_and_mask_for_colormap".}
-proc gdk_pixbuf_get_from_drawable*(dest: PGdkPixbuf, src: PGdkDrawable,
-                                   cmap: PGdkColormap, src_x: int32,
-                                   src_y: int32, dest_x: int32, dest_y: int32,
-                                   width: int32, height: int32): PGdkPixbuf{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixbuf_get_from_drawable".}
-proc gdk_pixbuf_get_from_image*(dest: PGdkPixbuf, src: PGdkImage,
-                                cmap: PGdkColormap, src_x: int32, src_y: int32,
-                                dest_x: int32, dest_y: int32, width: int32,
-                                height: int32): PGdkPixbuf{.cdecl,
-    dynlib: gdklib, importc: "gdk_pixbuf_get_from_image".}
-proc GDK_TYPE_PIXMAP*(): GType
-proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap
-proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass
-proc GDK_IS_PIXMAP*(anObject: Pointer): bool
-proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool
-proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass
-proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject
-proc gdk_pixmap_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_pixmap_get_type".}
-proc gdk_pixmap_new*(window: PGdkWindow, width: gint, height: gint, depth: gint): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_new".}
-proc gdk_bitmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint,
-                                  height: gint): PGdkBitmap{.cdecl,
-    dynlib: gdklib, importc: "gdk_bitmap_create_from_data".}
-proc gdk_pixmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint,
-                                  height: gint, depth: gint, fg: PGdkColor,
-                                  bg: PGdkColor): PGdkPixmap{.cdecl,
-    dynlib: gdklib, importc: "gdk_pixmap_create_from_data".}
-proc gdk_pixmap_create_from_xpm*(window: PGdkWindow, k: var PGdkBitmap,
-                                 transparent_color: PGdkColor, filename: cstring): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm".}
-proc gdk_pixmap_colormap_create_from_xpm*(window: PGdkWindow,
-    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor,
-    filename: cstring): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm".}
-proc gdk_pixmap_create_from_xpm_d*(window: PGdkWindow, k: var PGdkBitmap,
-                                   transparent_color: PGdkColor, data: PPgchar): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm_d".}
-proc gdk_pixmap_colormap_create_from_xpm_d*(window: PGdkWindow,
-    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor,
-    data: PPgchar): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm_d".}
-proc gdk_pixmap_foreign_new_for_display*(display: PGdkDisplay,
-    anid: TGdkNativeWindow): PGdkPixmap{.cdecl, dynlib: gdklib,
-    importc: "gdk_pixmap_foreign_new_for_display".}
-proc gdk_pixmap_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_lookup_for_display".}
-proc gdk_atom_intern*(atom_name: cstring, only_if_exists: gboolean): TGdkAtom{.
-    cdecl, dynlib: gdklib, importc: "gdk_atom_intern".}
-proc gdk_atom_name*(atom: TGdkAtom): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_atom_name".}
-proc gdk_property_get*(window: PGdkWindow, `property`: TGdkAtom,
-                       `type`: TGdkAtom, offset: gulong, length: gulong,
-                       pdelete: gint, actual_property_type: PGdkAtom,
-                       actual_format: Pgint, actual_length: Pgint,
-                       data: PPguchar): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_property_get".}
-proc gdk_property_change*(window: PGdkWindow, `property`: TGdkAtom,
-                          `type`: TGdkAtom, format: gint, mode: TGdkPropMode,
-                          data: Pguchar, nelements: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_property_change".}
-proc gdk_property_delete*(window: PGdkWindow, `property`: TGdkAtom){.cdecl,
-    dynlib: gdklib, importc: "gdk_property_delete".}
-proc gdk_text_property_to_text_list_for_display*(display: PGdkDisplay,
-    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint,
-    t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_text_list_for_display".}
-proc gdk_text_property_to_utf8_list_for_display*(display: PGdkDisplay,
-    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint,
-    t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_utf8_list_for_display".}
-proc gdk_utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_utf8_to_string_target".}
-proc gdk_string_to_compound_text_for_display*(display: PGdkDisplay, str: cstring,
-    encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_string_to_compound_text_for_display".}
-proc gdk_utf8_to_compound_text_for_display*(display: PGdkDisplay, str: cstring,
-    encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_utf8_to_compound_text_for_display".}
-proc gdk_free_text_list*(list: PPgchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_free_text_list".}
-proc gdk_free_compound_text*(ctext: Pguchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_free_compound_text".}
-proc gdk_region_new*(): PGdkRegion{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_region_new".}
-proc gdk_region_polygon*(points: PGdkPoint, npoints: gint,
-                         fill_rule: TGdkFillRule): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_region_polygon".}
-proc gdk_region_copy*(region: PGdkRegion): PGdkRegion{.cdecl, dynlib: gdklib,
-    importc: "gdk_region_copy".}
-proc gdk_region_rectangle*(rectangle: PGdkRectangle): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_region_rectangle".}
-proc gdk_region_destroy*(region: PGdkRegion){.cdecl, dynlib: gdklib,
-    importc: "gdk_region_destroy".}
-proc gdk_region_get_clipbox*(region: PGdkRegion, rectangle: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_region_get_clipbox".}
-proc gdk_region_get_rectangles*(region: PGdkRegion, s: var PGdkRectangle,
-                                n_rectangles: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_region_get_rectangles".}
-proc gdk_region_empty*(region: PGdkRegion): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_region_empty".}
-proc gdk_region_equal*(region1: PGdkRegion, region2: PGdkRegion): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_region_equal".}
-proc gdk_region_point_in*(region: PGdkRegion, x: int32, y: int32): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_region_point_in".}
-proc gdk_region_rect_in*(region: PGdkRegion, rect: PGdkRectangle): TGdkOverlapType{.
-    cdecl, dynlib: gdklib, importc: "gdk_region_rect_in".}
-proc gdk_region_offset*(region: PGdkRegion, dx: gint, dy: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_offset".}
-proc gdk_region_shrink*(region: PGdkRegion, dx: gint, dy: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_shrink".}
-proc gdk_region_union_with_rect*(region: PGdkRegion, rect: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_region_union_with_rect".}
-proc gdk_region_intersect*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_intersect".}
-proc gdk_region_union*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_union".}
-proc gdk_region_subtract*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_subtract".}
-proc gdk_region_xor*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_xor".}
-proc gdk_region_spans_intersect_foreach*(region: PGdkRegion, spans: PGdkSpan,
-    n_spans: int32, sorted: gboolean, `function`: TGdkSpanFunc, data: gpointer){.
-    cdecl, dynlib: gdklib, importc: "gdk_region_spans_intersect_foreach".}
-proc gdk_rgb_find_color*(colormap: PGdkColormap, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_rgb_find_color".}
-proc gdk_draw_rgb_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                         width: gint, height: gint, dith: TGdkRgbDither,
-                         rgb_buf: Pguchar, rowstride: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_rgb_image".}
-proc gdk_draw_rgb_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                                   y: gint, width: gint, height: gint,
-                                   dith: TGdkRgbDither, rgb_buf: Pguchar,
-                                   rowstride: gint, xdith: gint, ydith: gint){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_image_dithalign".}
-proc gdk_draw_rgb_32_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                            y: gint, width: gint, height: gint,
-                            dith: TGdkRgbDither, buf: Pguchar, rowstride: gint){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_32_image".}
-proc gdk_draw_rgb_32_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC,
-                                      x: gint, y: gint, width: gint,
-                                      height: gint, dith: TGdkRgbDither,
-                                      buf: Pguchar, rowstride: gint,
-                                      xdith: gint, ydith: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_rgb_32_image_dithalign".}
-proc gdk_draw_gray_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                          width: gint, height: gint, dith: TGdkRgbDither,
-                          buf: Pguchar, rowstride: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_gray_image".}
-proc gdk_draw_indexed_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                             y: gint, width: gint, height: gint,
-                             dith: TGdkRgbDither, buf: Pguchar, rowstride: gint,
-                             cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_indexed_image".}
-proc gdk_rgb_cmap_new*(colors: Pguint32, n_colors: gint): PGdkRgbCmap{.cdecl,
-    dynlib: gdklib, importc: "gdk_rgb_cmap_new".}
-proc gdk_rgb_cmap_free*(cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_cmap_free".}
-proc gdk_rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_set_verbose".}
-proc gdk_rgb_set_install*(install: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_set_install".}
-proc gdk_rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_set_min_colors".}
-proc GDK_TYPE_DISPLAY*(): GType
-proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay
-proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass
-proc GDK_IS_DISPLAY*(anObject: pointer): bool
-proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool
-proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass
-proc gdk_display_open*(display_name: cstring): PGdkDisplay{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_open".}
-proc gdk_display_get_name*(display: PGdkDisplay): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_display_get_name".}
-proc gdk_display_get_n_screens*(display: PGdkDisplay): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_get_n_screens".}
-proc gdk_display_get_screen*(display: PGdkDisplay, screen_num: gint): PGdkScreen{.
-    cdecl, dynlib: gdklib, importc: "gdk_display_get_screen".}
-proc gdk_display_get_default_screen*(display: PGdkDisplay): PGdkScreen{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_get_default_screen".}
-proc gdk_display_pointer_ungrab*(display: PGdkDisplay, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_pointer_ungrab".}
-proc gdk_display_keyboard_ungrab*(display: PGdkDisplay, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_keyboard_ungrab".}
-proc gdk_display_pointer_is_grabbed*(display: PGdkDisplay): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_pointer_is_grabbed".}
-proc gdk_display_beep*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_display_beep".}
-proc gdk_display_sync*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_display_sync".}
-proc gdk_display_close*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_display_close".}
-proc gdk_display_list_devices*(display: PGdkDisplay): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_list_devices".}
-proc gdk_display_get_event*(display: PGdkDisplay): PGdkEvent{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_get_event".}
-proc gdk_display_peek_event*(display: PGdkDisplay): PGdkEvent{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_peek_event".}
-proc gdk_display_put_event*(display: PGdkDisplay, event: PGdkEvent){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_put_event".}
-proc gdk_display_add_client_message_filter*(display: PGdkDisplay,
-    message_type: TGdkAtom, func: TGdkFilterFunc, data: gpointer){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_add_client_message_filter".}
-proc gdk_display_set_double_click_time*(display: PGdkDisplay, msec: guint){.
-    cdecl, dynlib: gdklib, importc: "gdk_display_set_double_click_time".}
-proc gdk_display_set_sm_client_id*(display: PGdkDisplay, sm_client_id: cstring){.
-    cdecl, dynlib: gdklib, importc: "gdk_display_set_sm_client_id".}
-proc gdk_set_default_display*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_default_display".}
-proc gdk_get_default_display*(): PGdkDisplay{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_default_display".}
-proc GDK_TYPE_SCREEN*(): GType
-proc GDK_SCREEN*(anObject: Pointer): PGdkScreen
-proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass
-proc GDK_IS_SCREEN*(anObject: Pointer): bool
-proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool
-proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass
-proc gdk_screen_get_default_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_default_colormap".}
-proc gdk_screen_set_default_colormap*(screen: PGdkScreen, colormap: PGdkColormap){.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_set_default_colormap".}
-proc gdk_screen_get_system_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_system_colormap".}
-proc gdk_screen_get_system_visual*(screen: PGdkScreen): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_system_visual".}
-proc gdk_screen_get_rgb_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_rgb_colormap".}
-proc gdk_screen_get_rgb_visual*(screen: PGdkScreen): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_rgb_visual".}
-proc gdk_screen_get_root_window*(screen: PGdkScreen): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_root_window".}
-proc gdk_screen_get_display*(screen: PGdkScreen): PGdkDisplay{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_display".}
-proc gdk_screen_get_number*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_number".}
-proc gdk_screen_get_window_at_pointer*(screen: PGdkScreen, win_x: Pgint,
-                                       win_y: Pgint): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_window_at_pointer".}
-proc gdk_screen_get_width*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_width".}
-proc gdk_screen_get_height*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_height".}
-proc gdk_screen_get_width_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_width_mm".}
-proc gdk_screen_get_height_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_height_mm".}
-proc gdk_screen_close*(screen: PGdkScreen){.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_close".}
-proc gdk_screen_list_visuals*(screen: PGdkScreen): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_list_visuals".}
-proc gdk_screen_get_toplevel_windows*(screen: PGdkScreen): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_toplevel_windows".}
-proc gdk_screen_get_n_monitors*(screen: PGdkScreen): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_n_monitors".}
-proc gdk_screen_get_monitor_geometry*(screen: PGdkScreen, monitor_num: gint,
-                                      dest: PGdkRectangle){.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_monitor_geometry".}
-proc gdk_screen_get_monitor_at_point*(screen: PGdkScreen, x: gint, y: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_point".}
-proc gdk_screen_get_monitor_at_window*(screen: PGdkScreen, window: PGdkWindow): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_window".}
-proc gdk_screen_broadcast_client_message*(screen: PGdkScreen, event: PGdkEvent){.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_broadcast_client_message".}
-proc gdk_get_default_screen*(): PGdkScreen{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_default_screen".}
-proc gdk_screen_get_setting*(screen: PGdkScreen, name: cstring, value: PGValue): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_get_setting".}
-proc GDK_SELECTION_PRIMARY*(): TGdkAtom
-proc GDK_SELECTION_SECONDARY*(): TGdkAtom
-proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom
-proc GDK_TARGET_BITMAP*(): TGdkAtom
-proc GDK_TARGET_COLORMAP*(): TGdkAtom
-proc GDK_TARGET_DRAWABLE*(): TGdkAtom
-proc GDK_TARGET_PIXMAP*(): TGdkAtom
-proc GDK_TARGET_STRING*(): TGdkAtom
-proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom
-proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom
-proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom
-proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom
-proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom
-proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom
-proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom
-proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom
-proc gdk_selection_owner_set_for_display*(display: PGdkDisplay,
-    owner: PGdkWindow, selection: TGdkAtom, time: guint32, send_event: gboolean): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_selection_owner_set_for_display".}
-proc gdk_selection_owner_get_for_display*(display: PGdkDisplay,
-    selection: TGdkAtom): PGdkWindow{.cdecl, dynlib: gdklib, importc: "gdk_selection_owner_get_for_display".}
-proc gdk_selection_convert*(requestor: PGdkWindow, selection: TGdkAtom,
-                            target: TGdkAtom, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_selection_convert".}
-proc gdk_selection_property_get*(requestor: PGdkWindow, data: PPguchar,
-                                 prop_type: PGdkAtom, prop_format: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_selection_property_get".}
-proc gdk_selection_send_notify_for_display*(display: PGdkDisplay,
-    requestor: guint32, selection: TGdkAtom, target: TGdkAtom,
-    `property`: TGdkAtom, time: guint32){.cdecl, dynlib: gdklib,
-    importc: "gdk_selection_send_notify_for_display".}
-const
-  GDK_CURRENT_TIME* = 0
-  GDK_PARENT_RELATIVE* = 1
-  GDK_OK* = 0
-  GDK_ERROR* = - (1)
-  GDK_ERROR_PARAM* = - (2)
-  GDK_ERROR_FILE* = - (3)
-  GDK_ERROR_MEM* = - (4)
-  GDK_SHIFT_MASK* = 1 shl 0
-  GDK_LOCK_MASK* = 1 shl 1
-  GDK_CONTROL_MASK* = 1 shl 2
-  GDK_MOD1_MASK* = 1 shl 3
-  GDK_MOD2_MASK* = 1 shl 4
-  GDK_MOD3_MASK* = 1 shl 5
-  GDK_MOD4_MASK* = 1 shl 6
-  GDK_MOD5_MASK* = 1 shl 7
-  GDK_BUTTON1_MASK* = 1 shl 8
-  GDK_BUTTON2_MASK* = 1 shl 9
-  GDK_BUTTON3_MASK* = 1 shl 10
-  GDK_BUTTON4_MASK* = 1 shl 11
-  GDK_BUTTON5_MASK* = 1 shl 12
-  GDK_RELEASE_MASK* = 1 shl 30
-  GDK_MODIFIER_MASK* = ord(GDK_RELEASE_MASK) or 0x00001FFF
-  GDK_INPUT_READ* = 1 shl 0
-  GDK_INPUT_WRITE* = 1 shl 1
-  GDK_INPUT_EXCEPTION* = 1 shl 2
-  GDK_GRAB_SUCCESS* = 0
-  GDK_GRAB_ALREADY_GRABBED* = 1
-  GDK_GRAB_INVALID_TIME* = 2
-  GDK_GRAB_NOT_VIEWABLE* = 3
-  GDK_GRAB_FROZEN* = 4
-
-proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): Pointer
-proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom
-proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom
-proc GDK_NONE*(): TGdkAtom
-proc GDK_TYPE_VISUAL*(): GType
-proc GDK_VISUAL*(anObject: Pointer): PGdkVisual
-proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass
-proc GDK_IS_VISUAL*(anObject: Pointer): bool
-proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool
-proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass
-proc gdk_visual_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_visual_get_type".}
-const
-  GDK_WA_TITLE* = 1 shl 1
-  GDK_WA_X* = 1 shl 2
-  GDK_WA_Y* = 1 shl 3
-  GDK_WA_CURSOR* = 1 shl 4
-  GDK_WA_COLORMAP* = 1 shl 5
-  GDK_WA_VISUAL* = 1 shl 6
-  GDK_WA_WMCLASS* = 1 shl 7
-  GDK_WA_NOREDIR* = 1 shl 8
-  GDK_HINT_POS* = 1 shl 0
-  GDK_HINT_MIN_SIZE* = 1 shl 1
-  GDK_HINT_MAX_SIZE* = 1 shl 2
-  GDK_HINT_BASE_SIZE* = 1 shl 3
-  GDK_HINT_ASPECT* = 1 shl 4
-  GDK_HINT_RESIZE_INC* = 1 shl 5
-  GDK_HINT_WIN_GRAVITY* = 1 shl 6
-  GDK_HINT_USER_POS* = 1 shl 7
-  GDK_HINT_USER_SIZE* = 1 shl 8
-  GDK_DECOR_ALL* = 1 shl 0
-  GDK_DECOR_BORDER* = 1 shl 1
-  GDK_DECOR_RESIZEH* = 1 shl 2
-  GDK_DECOR_TITLE* = 1 shl 3
-  GDK_DECOR_MENU* = 1 shl 4
-  GDK_DECOR_MINIMIZE* = 1 shl 5
-  GDK_DECOR_MAXIMIZE* = 1 shl 6
-  GDK_FUNC_ALL* = 1 shl 0
-  GDK_FUNC_RESIZE* = 1 shl 1
-  GDK_FUNC_MOVE* = 1 shl 2
-  GDK_FUNC_MINIMIZE* = 1 shl 3
-  GDK_FUNC_MAXIMIZE* = 1 shl 4
-  GDK_FUNC_CLOSE* = 1 shl 5
-  GDK_GRAVITY_NORTH_WEST* = 1
-  GDK_GRAVITY_NORTH* = 2
-  GDK_GRAVITY_NORTH_EAST* = 3
-  GDK_GRAVITY_WEST* = 4
-  GDK_GRAVITY_CENTER* = 5
-  GDK_GRAVITY_EAST* = 6
-  GDK_GRAVITY_SOUTH_WEST* = 7
-  GDK_GRAVITY_SOUTH* = 8
-  GDK_GRAVITY_SOUTH_EAST* = 9
-  GDK_GRAVITY_STATIC* = 10
-
-proc GDK_TYPE_WINDOW*(): GType
-proc GDK_WINDOW*(anObject: Pointer): PGdkWindow
-proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass
-proc GDK_IS_WINDOW*(anObject: Pointer): bool
-proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool
-proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass
-proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject
-const
-  bm_TGdkWindowObject_guffaw_gravity* = 0x00000001'i16
-  bp_TGdkWindowObject_guffaw_gravity* = 0'i16
-  bm_TGdkWindowObject_input_only* = 0x00000002'i16
-  bp_TGdkWindowObject_input_only* = 1'i16
-  bm_TGdkWindowObject_modal_hint* = 0x00000004'i16
-  bp_TGdkWindowObject_modal_hint* = 2'i16
-  bm_TGdkWindowObject_destroyed* = 0x00000018'i16
-  bp_TGdkWindowObject_destroyed* = 3'i16
-
-proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
-    `guffaw_gravity`: guint)
-proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
-                                     `input_only`: guint)
-proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
-                                     `modal_hint`: guint)
-proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint)
-proc gdk_window_object_get_type*(): GType{.cdecl, dynlib: gdklib,
-    importc: "gdk_window_object_get_type".}
-proc gdk_window_new*(parent: PGdkWindow, attributes: PGdkWindowAttr,
-                     attributes_mask: gint): PGdkWindow{.cdecl, dynlib: gdklib,
-    importc: "gdk_window_new".}
-proc gdk_window_destroy*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_destroy".}
-proc gdk_window_get_window_type*(window: PGdkWindow): TGdkWindowType{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_window_type".}
-proc gdk_window_at_pointer*(win_x: Pgint, win_y: Pgint): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_at_pointer".}
-proc gdk_window_show*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_show".}
-proc gdk_window_hide*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_hide".}
-proc gdk_window_withdraw*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_withdraw".}
-proc gdk_window_show_unraised*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_show_unraised".}
-proc gdk_window_move*(window: PGdkWindow, x: gint, y: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_move".}
-proc gdk_window_resize*(window: PGdkWindow, width: gint, height: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_resize".}
-proc gdk_window_move_resize*(window: PGdkWindow, x: gint, y: gint, width: gint,
-                             height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_move_resize".}
-proc gdk_window_reparent*(window: PGdkWindow, new_parent: PGdkWindow, x: gint,
-                          y: gint){.cdecl, dynlib: gdklib,
-                                    importc: "gdk_window_reparent".}
-proc gdk_window_clear*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_clear".}
-proc gdk_window_clear_area*(window: PGdkWindow, x: gint, y: gint, width: gint,
-                            height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_clear_area".}
-proc gdk_window_clear_area_e*(window: PGdkWindow, x: gint, y: gint, width: gint,
-                              height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_clear_area_e".}
-proc gdk_window_raise*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_raise".}
-proc gdk_window_lower*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_lower".}
-proc gdk_window_focus*(window: PGdkWindow, timestamp: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_focus".}
-proc gdk_window_set_user_data*(window: PGdkWindow, user_data: gpointer){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_user_data".}
-proc gdk_window_set_override_redirect*(window: PGdkWindow,
-                                       override_redirect: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_override_redirect".}
-proc gdk_window_add_filter*(window: PGdkWindow, `function`: TGdkFilterFunc,
-                            data: gpointer){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_add_filter".}
-proc gdk_window_remove_filter*(window: PGdkWindow, `function`: TGdkFilterFunc,
-                               data: gpointer){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_remove_filter".}
-proc gdk_window_scroll*(window: PGdkWindow, dx: gint, dy: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_scroll".}
-proc gdk_window_shape_combine_mask*(window: PGdkWindow, mask: PGdkBitmap,
-                                    x: gint, y: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_shape_combine_mask".}
-proc gdk_window_shape_combine_region*(window: PGdkWindow,
-                                      shape_region: PGdkRegion, offset_x: gint,
-                                      offset_y: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_shape_combine_region".}
-proc gdk_window_set_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_set_child_shapes".}
-proc gdk_window_merge_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_merge_child_shapes".}
-proc gdk_window_is_visible*(window: PGdkWindow): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_is_visible".}
-proc gdk_window_is_viewable*(window: PGdkWindow): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_is_viewable".}
-proc gdk_window_get_state*(window: PGdkWindow): TGdkWindowState{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_state".}
-proc gdk_window_set_static_gravities*(window: PGdkWindow, use_static: gboolean): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_static_gravities".}
-proc gdk_window_foreign_new_for_display*(display: PGdkDisplay,
-    anid: TGdkNativeWindow): PGdkWindow{.cdecl, dynlib: gdklib,
-    importc: "gdk_window_foreign_new_for_display".}
-proc gdk_window_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkWindow{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_lookup_for_display".}
-proc gdk_window_set_type_hint*(window: PGdkWindow, hint: TGdkWindowTypeHint){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_type_hint".}
-proc gdk_window_set_modal_hint*(window: PGdkWindow, modal: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_modal_hint".}
-proc gdk_window_set_geometry_hints*(window: PGdkWindow, geometry: PGdkGeometry,
-                                    geom_mask: TGdkWindowHints){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_geometry_hints".}
-proc gdk_set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_sm_client_id".}
-proc gdk_window_begin_paint_rect*(window: PGdkWindow, rectangle: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_rect".}
-proc gdk_window_begin_paint_region*(window: PGdkWindow, region: PGdkRegion){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_region".}
-proc gdk_window_end_paint*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_end_paint".}
-proc gdk_window_set_title*(window: PGdkWindow, title: cstring){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_title".}
-proc gdk_window_set_role*(window: PGdkWindow, role: cstring){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_role".}
-proc gdk_window_set_transient_for*(window: PGdkWindow, parent: PGdkWindow){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_transient_for".}
-proc gdk_window_set_background*(window: PGdkWindow, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_background".}
-proc gdk_window_set_back_pixmap*(window: PGdkWindow, pixmap: PGdkPixmap,
-                                 parent_relative: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_back_pixmap".}
-proc gdk_window_set_cursor*(window: PGdkWindow, cursor: PGdkCursor){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_cursor".}
-proc gdk_window_get_user_data*(window: PGdkWindow, data: gpointer){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_user_data".}
-proc gdk_window_get_geometry*(window: PGdkWindow, x: Pgint, y: Pgint,
-                              width: Pgint, height: Pgint, depth: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_geometry".}
-proc gdk_window_get_position*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_position".}
-proc gdk_window_get_origin*(window: PGdkWindow, x: Pgint, y: Pgint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_get_origin".}
-proc gdk_window_get_root_origin*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_root_origin".}
-proc gdk_window_get_frame_extents*(window: PGdkWindow, rect: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_get_frame_extents".}
-proc gdk_window_get_pointer*(window: PGdkWindow, x: Pgint, y: Pgint,
-                             mask: PGdkModifierType): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_pointer".}
-proc gdk_window_get_parent*(window: PGdkWindow): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_parent".}
-proc gdk_window_get_toplevel*(window: PGdkWindow): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_toplevel".}
-proc gdk_window_get_children*(window: PGdkWindow): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_children".}
-proc gdk_window_peek_children*(window: PGdkWindow): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_peek_children".}
-proc gdk_window_get_events*(window: PGdkWindow): TGdkEventMask{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_events".}
-proc gdk_window_set_events*(window: PGdkWindow, event_mask: TGdkEventMask){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_events".}
-proc gdk_window_set_icon_list*(window: PGdkWindow, pixbufs: PGList){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_icon_list".}
-proc gdk_window_set_icon*(window: PGdkWindow, icon_window: PGdkWindow,
-                          pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_icon".}
-proc gdk_window_set_icon_name*(window: PGdkWindow, name: cstring){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_icon_name".}
-proc gdk_window_set_group*(window: PGdkWindow, leader: PGdkWindow){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_group".}
-proc gdk_window_set_decorations*(window: PGdkWindow,
-                                 decorations: TGdkWMDecoration){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_decorations".}
-proc gdk_window_get_decorations*(window: PGdkWindow,
-                                 decorations: PGdkWMDecoration): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_get_decorations".}
-proc gdk_window_set_functions*(window: PGdkWindow, functions: TGdkWMFunction){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_functions".}
-proc gdk_window_iconify*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_iconify".}
-proc gdk_window_deiconify*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_deiconify".}
-proc gdk_window_stick*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_stick".}
-proc gdk_window_unstick*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_unstick".}
-proc gdk_window_maximize*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_maximize".}
-proc gdk_window_unmaximize*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_unmaximize".}
-proc gdk_window_register_dnd*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_register_dnd".}
-proc gdk_window_begin_resize_drag*(window: PGdkWindow, edge: TGdkWindowEdge,
-                                   button: gint, root_x: gint, root_y: gint,
-                                   timestamp: guint32){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_begin_resize_drag".}
-proc gdk_window_begin_move_drag*(window: PGdkWindow, button: gint, root_x: gint,
-                                 root_y: gint, timestamp: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_begin_move_drag".}
-proc gdk_window_invalidate_rect*(window: PGdkWindow, rect: PGdkRectangle,
-                                 invalidate_children: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_invalidate_rect".}
-proc gdk_window_invalidate_region*(window: PGdkWindow, region: PGdkRegion,
-                                   invalidate_children: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_invalidate_region".}
-proc gdk_window_invalidate_maybe_recurse*(window: PGdkWindow,
-    region: PGdkRegion,
-    child_func: gdk_window_invalidate_maybe_recurse_child_func,
-    user_data: gpointer){.cdecl, dynlib: gdklib,
-                          importc: "gdk_window_invalidate_maybe_recurse".}
-proc gdk_window_get_update_area*(window: PGdkWindow): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_update_area".}
-proc gdk_window_freeze_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_freeze_updates".}
-proc gdk_window_thaw_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_thaw_updates".}
-proc gdk_window_process_all_updates*(){.cdecl, dynlib: gdklib, importc: "gdk_window_process_all_updates".}
-proc gdk_window_process_updates*(window: PGdkWindow, update_children: gboolean){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_process_updates".}
-proc gdk_window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_set_debug_updates".}
-proc gdk_window_constrain_size*(geometry: PGdkGeometry, flags: guint,
-                                width: gint, height: gint, new_width: Pgint,
-                                new_height: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_constrain_size".}
-proc gdk_window_get_internal_paint_info*(window: PGdkWindow,
-    e: var PGdkDrawable, x_offset: Pgint, y_offset: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_internal_paint_info".}
-proc gdk_set_pointer_hooks*(new_hooks: PGdkPointerHooks): PGdkPointerHooks{.
-    cdecl, dynlib: gdklib, importc: "gdk_set_pointer_hooks".}
-proc gdk_get_default_root_window*(): PGdkWindow{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_default_root_window".}
-proc gdk_parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_parse_args".}
-proc gdk_init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_init".}
-proc gdk_init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_init_check".}
-when not defined(GDK_DISABLE_DEPRECATED):
-  proc gdk_exit*(error_code: gint){.cdecl, dynlib: gdklib, importc: "gdk_exit".}
-proc gdk_set_locale*(): cstring{.cdecl, dynlib: gdklib, importc: "gdk_set_locale".}
-proc gdk_get_program_class*(): cstring{.cdecl, dynlib: gdklib,
-                                        importc: "gdk_get_program_class".}
-proc gdk_set_program_class*(program_class: cstring){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_program_class".}
-proc gdk_error_trap_push*(){.cdecl, dynlib: gdklib,
-                             importc: "gdk_error_trap_push".}
-proc gdk_error_trap_pop*(): gint{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_error_trap_pop".}
-when not defined(GDK_DISABLE_DEPRECATED):
-  proc gdk_set_use_xshm*(use_xshm: gboolean){.cdecl, dynlib: gdklib,
-      importc: "gdk_set_use_xshm".}
-  proc gdk_get_use_xshm*(): gboolean{.cdecl, dynlib: gdklib,
-                                     importc: "gdk_get_use_xshm".}
-proc gdk_get_display*(): cstring{.cdecl, dynlib: gdklib,
-                                 importc: "gdk_get_display".}
-proc gdk_get_display_arg_name*(): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_display_arg_name".}
-when not defined(GDK_DISABLE_DEPRECATED):
-  proc gdk_input_add_full*(source: gint, condition: TGdkInputCondition,
-                          `function`: TGdkInputFunction, data: gpointer,
-                          destroy: TGdkDestroyNotify): gint{.cdecl,
-      dynlib: gdklib, importc: "gdk_input_add_full".}
-  proc gdk_input_add*(source: gint, condition: TGdkInputCondition,
-                     `function`: TGdkInputFunction, data: gpointer): gint{.
-      cdecl, dynlib: gdklib, importc: "gdk_input_add".}
-  proc gdk_input_remove*(tag: gint){.cdecl, dynlib: gdklib,
-                                    importc: "gdk_input_remove".}
-proc gdk_pointer_grab*(window: PGdkWindow, owner_events: gboolean,
-                       event_mask: TGdkEventMask, confine_to: PGdkWindow,
-                       cursor: PGdkCursor, time: guint32): TGdkGrabStatus{.
-    cdecl, dynlib: gdklib, importc: "gdk_pointer_grab".}
-proc gdk_keyboard_grab*(window: PGdkWindow, owner_events: gboolean,
-                        time: guint32): TGdkGrabStatus{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyboard_grab".}
-when not defined(GDK_MULTIHEAD_SAFE):
-  proc gdk_pointer_ungrab*(time: guint32){.cdecl, dynlib: gdklib,
-      importc: "gdk_pointer_ungrab".}
-  proc gdk_keyboard_ungrab*(time: guint32){.cdecl, dynlib: gdklib,
-      importc: "gdk_keyboard_ungrab".}
-  proc gdk_pointer_is_grabbed*(): gboolean{.cdecl, dynlib: gdklib,
-      importc: "gdk_pointer_is_grabbed".}
-  proc gdk_screen_width*(): gint{.cdecl, dynlib: gdklib,
-                                 importc: "gdk_screen_width".}
-  proc gdk_screen_height*(): gint{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_screen_height".}
-  proc gdk_screen_width_mm*(): gint{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_screen_width_mm".}
-  proc gdk_screen_height_mm*(): gint{.cdecl, dynlib: gdklib,
-                                     importc: "gdk_screen_height_mm".}
-  proc gdk_beep*(){.cdecl, dynlib: gdklib, importc: "gdk_beep".}
-proc gdk_flush*(){.cdecl, dynlib: gdklib, importc: "gdk_flush".}
-when not defined(GDK_MULTIHEAD_SAFE):
-  proc gdk_set_double_click_time*(msec: guint){.cdecl, dynlib: gdklib,
-      importc: "gdk_set_double_click_time".}
-proc gdk_rectangle_intersect*(src1: PGdkRectangle, src2: PGdkRectangle,
-                              dest: PGdkRectangle): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_rectangle_intersect".}
-proc gdk_rectangle_union*(src1: PGdkRectangle, src2: PGdkRectangle,
-                          dest: PGdkRectangle){.cdecl, dynlib: gdklib,
-    importc: "gdk_rectangle_union".}
-proc gdk_rectangle_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                       importc: "gdk_rectangle_get_type".}
-proc GDK_TYPE_RECTANGLE*(): GType
-proc gdk_wcstombs*(src: PGdkWChar): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_wcstombs".}
-proc gdk_mbstowcs*(dest: PGdkWChar, src: cstring, dest_max: gint): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_mbstowcs".}
-when not defined(GDK_MULTIHEAD_SAFE):
-  proc gdk_event_send_client_message*(event: PGdkEvent, xid: guint32): gboolean{.
-      cdecl, dynlib: gdklib, importc: "gdk_event_send_client_message".}
-  proc gdk_event_send_clientmessage_toall*(event: PGdkEvent){.cdecl,
-      dynlib: gdklib, importc: "gdk_event_send_clientmessage_toall".}
-proc gdk_event_send_client_message_for_display*(display: PGdkDisplay,
-    event: PGdkEvent, xid: guint32): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_send_client_message_for_display".}
-proc gdk_threads_enter*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_enter".}
-proc gdk_threads_leave*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_leave".}
-proc gdk_threads_init*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_init".}
-
-proc GDK_TYPE_RECTANGLE*(): GType =
-  result = gdk_rectangle_get_type()
-
-proc GDK_TYPE_COLORMAP*(): GType =
-  result = gdk_colormap_get_type()
-
-proc GDK_COLORMAP*(anObject: pointer): PGdkColormap =
-  result = cast[PGdkColormap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_COLORMAP()))
-
-proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass =
-  result = cast[PGdkColormapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_COLORMAP()))
-
-proc GDK_IS_COLORMAP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_COLORMAP())
-
-proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_COLORMAP())
-
-proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass =
-  result = cast[PGdkColormapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_COLORMAP()))
-
-proc GDK_TYPE_COLOR*(): GType =
-  result = gdk_color_get_type()
-
-proc gdk_cursor_destroy*(cursor: PGdkCursor) =
-  gdk_cursor_unref(cursor)
-
-proc GDK_TYPE_CURSOR*(): GType =
-  result = gdk_cursor_get_type()
-
-proc GDK_TYPE_DRAG_CONTEXT*(): GType =
-  result = gdk_drag_context_get_type()
-
-proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext =
-  result = cast[PGdkDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GDK_TYPE_DRAG_CONTEXT()))
-
-proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass =
-  result = cast[PGdkDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GDK_TYPE_DRAG_CONTEXT()))
-
-proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAG_CONTEXT())
-
-proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAG_CONTEXT())
-
-proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass =
-  result = cast[PGdkDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GDK_TYPE_DRAG_CONTEXT()))
-
-proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool =
-  result = ((r1.x2) > r2.x1) and ((r1.x1) < r2.x2) and
-      ((r1.y2) > r2.y1) and ((r1.y1) < r2.y2)
-
-proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion) =
-  if ((r.x1) < idRect.extents.x1):
-    idRect.extents.x1 = r.x1
-  if (r.y1) < idRect.extents.y1:
-    idRect.extents.y1 = r.y1
-  if (r.x2) > idRect.extents.x2:
-    idRect.extents.x2 = r.x2
-
-proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool =
-  assert(false) # to implement
-
-proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox,
-                               Rx1, Ry1, Rx2, Ry2: gint): bool =
-  assert(false) # to implement
-
-proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox,
-                        rx1, ry1, rx2, ry2: gint) =
-  if (((rx1) < rx2) and ((ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
-    r.x1 = rx1
-    r.y1 = ry1
-    r.x2 = rx2
-    r.y2 = ry2
-
-proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox,
-                           rx1, ry1, rx2, ry2: gint) =
-  if (((rx1) < rx2) and ((ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
-    r.x1 = rx1
-    r.y1 = ry1
-    r.x2 = rx2
-    r.y2 = ry2
-    inc(reg . numRects)
-
-proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool =
-  result = pReg.numRects == 0'i32
-
-proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool =
-  result = pReg.numRects != 0'i32
-
-proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool =
-  result = ((((r.x2) > x) and ((r.x1) <= x)) and
-            ((r.y2) > y)) and ((r.y1) <= y)
-
-proc GDK_TYPE_DRAWABLE*(): GType =
-  result = gdk_drawable_get_type()
-
-proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable =
-  result = cast[PGdkDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DRAWABLE()))
-
-proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass =
-  result = cast[PGdkDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DRAWABLE()))
-
-proc GDK_IS_DRAWABLE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAWABLE())
-
-proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAWABLE())
-
-proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass =
-  result = cast[PGdkDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DRAWABLE()))
-
-proc gdk_draw_pixmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                      width: gint, height: gint) =
-  gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
-
-proc gdk_draw_bitmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                      width: gint, height: gint) =
-  gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
-
-proc GDK_TYPE_EVENT*(): GType =
-  result = gdk_event_get_type()
-
-proc GDK_TYPE_FONT*(): GType =
-  result = gdk_font_get_type()
-
-proc GDK_TYPE_GC*(): GType =
-  result = gdk_gc_get_type()
-
-proc GDK_GC*(anObject: Pointer): PGdkGC =
-  result = cast[PGdkGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GC()))
-
-proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass =
-  result = cast[PGdkGCClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GC()))
-
-proc GDK_IS_GC*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GC())
-
-proc GDK_IS_GC_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GC())
-
-proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass =
-  result = cast[PGdkGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GC()))
-
-proc gdk_gc_destroy*(gc: PGdkGC) =
-  g_object_unref(G_OBJECT(gc))
-
-proc GDK_TYPE_IMAGE*(): GType =
-  result = gdk_image_get_type()
-
-proc GDK_IMAGE*(anObject: Pointer): PGdkImage =
-  result = cast[PGdkImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_IMAGE()))
-
-proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass =
-  result = cast[PGdkImageClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_IMAGE()))
-
-proc GDK_IS_IMAGE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_IMAGE())
-
-proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_IMAGE())
-
-proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass =
-  result = cast[PGdkImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_IMAGE()))
-
-proc gdk_image_destroy*(image: PGdkImage) =
-  g_object_unref(G_OBJECT(image))
-
-proc GDK_TYPE_DEVICE*(): GType =
-  result = gdk_device_get_type()
-
-proc GDK_DEVICE*(anObject: Pointer): PGdkDevice =
-  result = cast[PGdkDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DEVICE()))
-
-proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass =
-  result = cast[PGdkDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DEVICE()))
-
-proc GDK_IS_DEVICE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DEVICE())
-
-proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DEVICE())
-
-proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass =
-  result = cast[PGdkDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DEVICE()))
-
-proc GDK_TYPE_KEYMAP*(): GType =
-  result = gdk_keymap_get_type()
-
-proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap =
-  result = cast[PGdkKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_KEYMAP()))
-
-proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass =
-  result = cast[PGdkKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_KEYMAP()))
-
-proc GDK_IS_KEYMAP*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_KEYMAP())
-
-proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_KEYMAP())
-
-proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass =
-  result = cast[PGdkKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_KEYMAP()))
-
-proc GDK_TYPE_PIXMAP*(): GType =
-  result = gdk_pixmap_get_type()
-
-proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap =
-  result = cast[PGdkPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXMAP()))
-
-proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass =
-  result = cast[PGdkPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_PIXMAP()))
-
-proc GDK_IS_PIXMAP*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXMAP())
-
-proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXMAP())
-
-proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass =
-  result = cast[PGdkPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_PIXMAP()))
-
-proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject =
-  result = cast[PGdkPixmapObject](GDK_PIXMAP(anObject))
-
-proc gdk_bitmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
-
-proc gdk_bitmap_unref*(drawable: PGdkDrawable) =
-  g_object_unref(G_OBJECT(drawable))
-
-proc gdk_pixmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
-
-proc gdk_pixmap_unref*(drawable: PGdkDrawable) =
-  g_object_unref(G_OBJECT(drawable))
-
-proc gdk_rgb_get_cmap*(): PGdkColormap =
-  result = nil #gdk_rgb_get_colormap()
-
-proc GDK_TYPE_DISPLAY*(): GType =
-  nil
-  #result = nil
-
-proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay =
-  result = cast[PGdkDisplay](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DISPLAY()))
-
-proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass =
-  result = cast[PGdkDisplayClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DISPLAY()))
-
-proc GDK_IS_DISPLAY*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DISPLAY())
-
-proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DISPLAY())
-
-proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass =
-  result = cast[PGdkDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DISPLAY()))
-
-proc GDK_TYPE_SCREEN*(): GType =
-  nil
-
-proc GDK_SCREEN*(anObject: Pointer): PGdkScreen =
-  result = cast[PGdkScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_SCREEN()))
-
-proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass =
-  result = cast[PGdkScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_SCREEN()))
-
-proc GDK_IS_SCREEN*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_SCREEN())
-
-proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_SCREEN())
-
-proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass =
-  result = cast[PGdkScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_SCREEN()))
-
-proc GDK_SELECTION_PRIMARY*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(1)
-
-proc GDK_SELECTION_SECONDARY*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(2)
-
-proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(69)
-
-proc GDK_TARGET_BITMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(5)
-
-proc GDK_TARGET_COLORMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(7)
-
-proc GDK_TARGET_DRAWABLE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(17)
-
-proc GDK_TARGET_PIXMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(20)
-
-proc GDK_TARGET_STRING*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(31)
-
-proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(4)
-
-proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(5)
-
-proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(7)
-
-proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(17)
-
-proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(19)
-
-proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(20)
-
-proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(33)
-
-proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(31)
-
-proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): pointer =
-  result = cast[Pointer](atom)
-
-proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom =
-  result = cast[TGdkAtom](p)
-
-proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom =
-  result = cast[TGdkAtom](val)
-
-proc GDK_NONE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(0)
-
-proc GDK_TYPE_VISUAL*(): GType =
-  result = gdk_visual_get_type()
-
-proc GDK_VISUAL*(anObject: Pointer): PGdkVisual =
-  result = cast[PGdkVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_VISUAL()))
-
-proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass =
-  result = cast[PGdkVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_VISUAL()))
-
-proc GDK_IS_VISUAL*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_VISUAL())
-
-proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_VISUAL())
-
-proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass =
-  result = cast[PGdkVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_VISUAL()))
-
-proc gdk_visual_ref*(v: PGdkVisual) =
-  discard g_object_ref(v)
-
-proc gdk_visual_unref*(v: PGdkVisual) =
-  g_object_unref(v)
-
-proc GDK_TYPE_WINDOW*(): GType =
-  result = gdk_window_object_get_type()
-
-proc GDK_WINDOW*(anObject: Pointer): PGdkWindow =
-  result = cast[PGdkWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_WINDOW()))
-
-proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass =
-  result = cast[PGdkWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_WINDOW()))
-
-proc GDK_IS_WINDOW*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_WINDOW())
-
-proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_WINDOW())
-
-proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass =
-  result = cast[PGdkWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_WINDOW()))
-
-proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject =
-  result = cast[PGdkWindowObject](GDK_WINDOW(anObject))
-
-proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_guffaw_gravity) shr
-      bp_TGdkWindowObject_guffaw_gravity
-
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
-    `guffaw_gravity`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and
-      bm_TGdkWindowObject_guffaw_gravity)
-
-proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_input_only) shr
-      bp_TGdkWindowObject_input_only
-
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
-                                     `input_only`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`input_only` shl bp_TGdkWindowObject_input_only) and
-      bm_TGdkWindowObject_input_only)
-
-proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_modal_hint) shr
-      bp_TGdkWindowObject_modal_hint
-
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
-                                     `modal_hint`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`modal_hint` shl bp_TGdkWindowObject_modal_hint) and
-      bm_TGdkWindowObject_modal_hint)
-
-proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_destroyed) shr
-      bp_TGdkWindowObject_destroyed
-
-proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`destroyed` shl bp_TGdkWindowObject_destroyed) and
-      bm_TGdkWindowObject_destroyed)
-
-proc GDK_ROOT_PARENT*(): PGdkWindow =
-  result = gdk_get_default_root_window()
-
-proc gdk_window_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint) =
-  gdk_drawable_get_size(drawable, width, height)
-
-proc gdk_window_get_type*(window: PGdkWindow): TGdkWindowType =
-  result = gdk_window_get_window_type(window)
-
-proc gdk_window_get_colormap*(drawable: PGdkDrawable): PGdkColormap =
-  result = gdk_drawable_get_colormap(drawable)
-
-proc gdk_window_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap) =
-  gdk_drawable_set_colormap(drawable, colormap)
-
-proc gdk_window_get_visual*(drawable: PGdkDrawable): PGdkVisual =
-  result = gdk_drawable_get_visual(drawable)
-
-proc gdk_window_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
-
-proc gdk_window_unref*(drawable: PGdkDrawable) =
-  g_object_unref(G_OBJECT(drawable))
-
-proc gdk_window_copy_area*(drawable: PGdkDrawable, gc: PGdkGC, x, y: gint,
-                           source_drawable: PGdkDrawable,
-                           source_x, source_y: gint, width, height: gint) =
-  gdk_draw_pixmap(drawable, gc, source_drawable, source_x, source_y, x, y,
-                  width, height)