gtk: Use Cairo, punt gdk_draw_*, in preparation for Gtk+ 3.0.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 20 Jul 2012 17:27:33 +0000 (10:27 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 20 Jul 2012 17:27:33 +0000 (10:27 -0700)
Also replaced some structure member accesses with accessor functions
(or just eliminated them).  Deleted some unused declarations.
GdkVisual, GdkGC and GdkDrawable are no more.  Fixed green and blue
switchup in peek-gdkcolor and a call to vector-length with 2 args in
guarantee-color-spec.

22 files changed:
doc/gtk/gtk.texinfo
src/gtk/Includes/cairo.cdecl
src/gtk/Includes/gdk.cdecl
src/gtk/Includes/gdkcairo.cdecl
src/gtk/Includes/gdkdrawable.cdecl [deleted file]
src/gtk/Includes/gdkgc.cdecl [deleted file]
src/gtk/Includes/gdkkeysyms.cdecl
src/gtk/Includes/gdktypes.cdecl
src/gtk/Includes/gdkvisual.cdecl [deleted file]
src/gtk/Includes/gdkwindow.cdecl
src/gtk/Includes/gtk.cdecl
src/gtk/Includes/gtkadjustment.cdecl
src/gtk/Includes/gtkgc.cdecl [deleted file]
src/gtk/Includes/pangocairo.cdecl
src/gtk/cairo.scm [new file with mode: 0644]
src/gtk/fix-demo.scm
src/gtk/fix-layout.scm
src/gtk/gtk-ev.scm
src/gtk/gtk-object.scm
src/gtk/gtk.pkg
src/gtk/keys.scm
tests/gtk/test-gtk.scm

index 2d0f5eb2c7949c73d31d2ce0a87d50455ec57162..eff5f98059dc2e6c9d022fda5357b31faa512f50 100644 (file)
@@ -1913,8 +1913,9 @@ Removes @var{ink} from its drawing.
 
 @subsection Draw Ink
 
-This type of fix-ink is rendered with a @code{gdk_draw_} toolkit
-function.
+This type of ink draws (outlines and/or fills) a shape according to a
+variety of options similar to those kept in an X GC (graphics
+context) for e.g. XDrawLine.
 
 @deffn Class <draw-ink>
 A direct subclass of fix-ink.
@@ -1922,7 +1923,8 @@ A direct subclass of fix-ink.
 
 @subsection Line Ink
 
-A draw-ink rendered with @code{gdk_draw_line}.
+A draw-ink rendered with color, width and dashes as if by an
+@code{XDrawLine} request.
 
 @deffn Class <line-ink>
 A direct subclass of draw-ink.
@@ -1979,7 +1981,8 @@ should be solid.
 
 @subsection Rectangle Ink
 
-A draw-ink rendered with @code{gdk_draw_rectangle}.
+A draw-ink rendered with a fill color or outline width and color as if
+by an @code{XDrawRectangle} request.
 
 @deffn Class <rectangle-ink>
 A direct subclass of draw-ink.
@@ -2034,10 +2037,12 @@ is outlined, not filled.
 
 @subsection Arc Ink
 
-A draw-ink rendered with @code{gdk_draw_arc}.  Its width and height
-are the dimensions of the bounding box for the entire ellipse, though
-only a portion may be drawn.  The portion drawn starts with a
-start-angle and ends after a certain amount of sweep-angle.
+A draw-ink rendered with a fill color or outline width and color as if
+by an @code{XDrawArc} request.  Its position, width and height define
+the bounding box of an ellipse.  The portion drawn starts with a
+start-angle and ends after a sweep-angle.  Both angles are in degrees
+and are measured clockwise from 3 o'clock on the ellipse's circle ---
+the ellipse scaled into a circle.
 
 @deffn Class <arc-ink>
 A direct subclass of draw-ink.
@@ -2052,11 +2057,11 @@ A new arc-ink.
 @end deffn
 
 @deffn Procedure set-arc-ink! arc x y width height
-Sets the position and size of @var{arc}'s entire ellipse.
+Sets the position and size of @var{arc}'s ellipse.
 @end deffn
 
 @deffn Procedure arc-ink-start-angle arc
-@var{Arc}'s start-angle.
+@var{Arc}'s start-angle (degrees).
 @end deffn
 
 @deffn Procedure set-arc-ink-start-angle! arc degrees
@@ -2064,7 +2069,7 @@ Sets @var{arc}'s start-angle.
 @end deffn
 
 @deffn Procedure arc-ink-sweep-angle arc
-@var{Arc}'s sweep-angle.
+@var{Arc}'s sweep-angle (degrees).
 @end deffn
 
 @deffn Procedure set-arc-ink-sweep-angle! arc degrees
@@ -2108,8 +2113,10 @@ filled.
 
 @subsection Text Ink
 
-A draw-ink rendered with @code{gdk_draw_layout} applied to a
-PangoLayout from an abstract ``pango-layout'' slot.
+A draw-ink rendered by a PangoLayout.  This abstract class uses an
+abstract pango-layout slot provided by the generic function
+@code{text-ink-pango-layout}, which is implemented by e.g. the simple
+text ink (below).
 
 @deffn Class <text-ink>
 An abstract, direct subclass of draw-ink.
@@ -2149,8 +2156,9 @@ acceptable to @bref{gtk-widget-parse-color} for every widget in which
 
 @subsection Simple Text Ink
 
-A text-ink whose abstract pango-layout slot is implemented by an
-actual instance slot.
+A text-ink whose abstract text-ink-pango-layout slot is implemented by
+an actual instance slot.  Use @code{set-simple-text-ink-text!} to fill
+it.
 
 @deffn Class <simple-text-ink>
 A direct subclass of text-ink.
@@ -2186,8 +2194,8 @@ should be a PangoFontDescription, or a string acceptable to
 
 @subsection Image Ink
 
-A draw-ink rendered by @code{gdk_draw_pixbuf}.  It uses a
-pixbuf-loader so that it can render the pixbuf as it loads.
+A draw-ink rendered by a pixbuf.  It uses a pixbuf-loader so that it can
+render the pixbuf as it loads.
 
 @deffn Class <image-ink>
 A direct subclass of fix-ink.
index baaf3a98e386617f01d47a5b54f48977d29185ef..77ea7d2b46aabd6c6b81e262bc3b54a86560f40a 100644 (file)
@@ -153,7 +153,7 @@ cairo/cairo.h (v1.4) |#
 
 ;(extern void cairo_set_fill_rule (cr (* cairo_t)) (fill_rule cairo_fill_rule_t))
 
-;(extern void cairo_set_line_width (cr (* cairo_t)) (width double))
+(extern void cairo_set_line_width (cr (* cairo_t)) (width double))
 
 ;(typedef cairo_line_cap_t
 ;  (enum _cairo_line_cap
@@ -171,17 +171,17 @@ cairo/cairo.h (v1.4) |#
 
 ;(extern void cairo_set_line_join (cr (* cairo_t)) (line_join cairo_line_join_t))
 
-;(extern void cairo_set_dash
-;      (cr         (* cairo_t))
-;      (dashes     (* (const double)))
-;      (num_dashes int)
-;      (offset     double))
+(extern void cairo_set_dash
+       (cr         (* cairo_t))
+       (dashes     (* (const double)))
+       (num_dashes int)
+       (offset     double))
 
 ;(extern void cairo_set_miter_limit (cr (* cairo_t)) (limit double))
 
 (extern void cairo_translate (cr (* cairo_t)) (tx double) (ty double))
 
-;(extern void cairo_scale (cr (* cairo_t)) (sx double) (sy double))
+(extern void cairo_scale (cr (* cairo_t)) (sx double) (sy double))
 
 (extern void cairo_rotate (cr (* cairo_t)) (angle double))
 
@@ -214,35 +214,33 @@ cairo/cairo.h (v1.4) |#
 
 ;(extern void cairo_new_sub_path (cairo_t *cr);
 
-;(extern void cairo_line_to (cr (* cairo_t)) double x, double y);
+(extern void cairo_line_to (cr (* cairo_t)) (x double) (y double))
 
 ;(extern void cairo_curve_to (cr (* cairo_t))
 ;              double x1, double y1,
 ;              double x2, double y2,
 ;              double x3, double y3);
 
-;(extern void cairo_arc (cr (* cairo_t))
+(extern void cairo_arc (cr (* cairo_t))
+       (xc double) (yc double) (radius double)
+       (angle1 double) (angle2 double))
+
+;(extern void cairo_arc_negative (cr (* cairo_t))
 ;         double xc, double yc,
 ;         double radius,
 ;         double angle1, double angle2);
 
-;(extern void cairo_arc_negative (cr (* cairo_t))
-;                  double xc, double yc,
-;                  double radius,
-;                  double angle1, double angle2);
-
-;(extern void cairo_rel_move_to (cr (* cairo_t)) double dx, double dy);
+(extern void cairo_rel_move_to (cr (* cairo_t)) (dx double) (dy double))
 
-;(extern void cairo_rel_line_to (cr (* cairo_t)) double dx, double dy);
+(extern void cairo_rel_line_to (cr (* cairo_t)) (dx double) (dy double))
 
 ;(extern void cairo_rel_curve_to (cr (* cairo_t))
 ;                  double dx1, double dy1,
 ;                  double dx2, double dy2,
 ;                  double dx3, double dy3);
 
-;(extern void cairo_rectangle (cr (* cairo_t))
-;               double x, double y,
-;               double width, double height);
+(extern void cairo_rectangle
+       (cr (* cairo_t)) (x double) (y double) (width double) (height double))
 
 ;(extern void cairo_close_path (cairo_t *cr);
 \f
@@ -263,14 +261,15 @@ cairo/cairo.h (v1.4) |#
                    cairo_surface_t *surface,
                    double           surface_x,
                    double           surface_y);
+|#
+(extern void cairo_stroke (cr (* cairo_t)))
 
- (extern void cairo_stroke (cairo_t *cr);
-
- (extern void cairo_stroke_preserve (cairo_t *cr);
+(extern void cairo_stroke_preserve (cr (* cairo_t)))
 
- (extern void cairo_fill (cairo_t *cr);
+(extern void cairo_fill (cr (* cairo_t)))
 
- (extern void cairo_fill_preserve (cairo_t *cr);
+(extern void cairo_fill_preserve (cr (* cairo_t)))
+#|
 
  (extern void cairo_copy_page (cairo_t *cr);
 
@@ -295,9 +294,9 @@ cairo/cairo.h (v1.4) |#
 ;; Clipping 
 
  (extern void cairo_reset_clip (cairo_t *cr);
-
- (extern void cairo_clip (cairo_t *cr);
-
+|#
+(extern void cairo_clip (cr (* cairo_t)))
+#|
  (extern void cairo_clip_preserve (cairo_t *cr);
 
  (extern void cairo_clip_extents (cr (* cairo_t))
@@ -672,16 +671,15 @@ cairo_append_path (cairo_t                *cr,
 
  (extern void
 cairo_path_destroy (cairo_path_t *path);
+|#
 \f
 
 ;;; Error status queries
 
- (extern cairo_status_t
-cairo_status (cairo_t *cr);
-
- (extern const char *
-cairo_status_to_string (cairo_status_t status);
-
+(extern cairo_status_t cairo_status (cr (* cairo_t)))
+(extern (* (const char)) cairo_status_to_string (status cairo_status_t))
+#|
 ;;; Surface manipulation
 
  (extern cairo_surface_t *
index 8e30e3def6261649e68b2753ff27effb37f884a3..f4199827702a36a90583b3fbd6b658bb9af45d7c 100644 (file)
@@ -7,11 +7,11 @@ gtk-2.0/gdk/gdk.h |#
 (include "gdkcursor")
 ;(include "gdkdisplay")
 ;(include "gdkdnd")
-(include "gdkdrawable")
+;(include "gdkdrawable")
 ;(include "gdkenumtypes")
 (include "gdkevents")
 ;(include "gdkfont")
-(include "gdkgc")
+;(include "gdkgc")
 ;(include "gdkimage")
 ;(include "gdkinput")
 (include "gdkkeys")
@@ -26,7 +26,7 @@ gtk-2.0/gdk/gdk.h |#
 ;(include "gdkselection")
 ;(include "gdkspawn")
 (include "gdktypes")
-(include "gdkvisual")
+;(include "gdkvisual")
 (include "gdkwindow")
 
 (extern gboolean gdk_rectangle_intersect
index 8c4df8b29254580db265fec3271f8c7f610cf6a5..43c98977d79fcab5848490545eab56743788e441 100644 (file)
@@ -15,7 +15,7 @@ gtk-2.0/gdk/gdkcairo.h |#
 #;(extern void gdk_cairo_set_source_color
        (cr (* cairo_t))
        (color (* (const GdkColor))))
-#;(extern void gdk_cairo_set_source_pixbuf
+(extern void gdk_cairo_set_source_pixbuf
        (cr (* cairo_t))
        (pixbuf (* (const GdkPixbuf)))
        (pixbuf_x double)
diff --git a/src/gtk/Includes/gdkdrawable.cdecl b/src/gtk/Includes/gdkdrawable.cdecl
deleted file mode 100644 (file)
index 9343795..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#| -*-Scheme-*-
-
-gtk-2.0/gdk/gdkdrawable.h |#
-
-(include "gdktypes")
-(include "gdkgc")
-(include "gdkrgb")
-(include "gdk-pixbuf")
-(include "cairo")
-
-(typedef GdkDrawableClass (struct _GdkDrawableClass))
-(typedef GdkTrapezoid (struct _GdkTrapezoid))
-
-(struct _GdkDrawable
-       (parent_instance GObject))
-
-(struct _GdkDrawableClass 
-       (parent_class GObjectClass)
-       (create_gc
-        (* (function (* GdkGC)
-                     (drawable (* GdkDrawable))
-                     (values (* GdkGCValues))
-                     (mask GdkGCValuesMask))))
-       (draw_rectangle (* mumble))
-       (draw_arc (* mumble))
-       (draw_polygon (* mumble))
-       (draw_text (* mumble))
-       (draw_text_wc (* mumble))
-       (draw_drawable (* mumble))
-       (draw_points (* mumble))
-       (draw_segments (* mumble))
-       (draw_lines (* mumble))
-       (draw_glyphs (* mumble))
-       (draw_image (* mumble))
-  
-       (get_depth (* mumble))
-       (get_size (* mumble))
-       (set_colormap (* mumble))
-       (get_colormap (* mumble))
-       (get_visual (* mumble))
-       (get_screen (* mumble))
-       (get_image (* mumble))
-       (get_clip_region (* mumble))
-       (get_visible_region (* mumble))
-       (get_composite_drawable (* mumble))
-       (draw_pixbuf (* mumble))
-       (_copy_to_image (* mumble))
-       (draw_glyphs_transformed (* mumble))
-       (draw_trapezoids (* mumble))
-       (ref_cairo_surface (* mumble)))
-
-(struct _GdkTrapezoid
-       (y1 double)
-       (x11 double)
-       (x21 double)
-       (y2 double)
-       (x12 double)
-       (x22 double))
-
-(extern void gdk_draw_line             ;gtk-2.20.1
-       (drawable (* GdkDrawable))
-       (gc (* GdkGC))
-       (x1 gint) (y1 gint)
-       (x2 gint) (y2 gint))
-
-(extern void gdk_draw_rectangle                ;gtk-2.20.1
-       (drawable (* GdkDrawable))
-       (gc       (* GdkGC))
-       (filled   gboolean)
-       (x        gint)
-       (y        gint)
-       (width    gint)
-       (height   gint))
-
-(extern void gdk_draw_arc              ;gtk-2.20.1
-       (drawable (* GdkDrawable))
-       (gc       (* GdkGC))
-       (filled   gboolean)
-       (x        gint)
-       (y        gint)
-       (width    gint)
-       (height   gint)
-       (angle1   gint)
-       (angle2   gint))
-
-(extern void gdk_draw_layout
-       (drawable (* GdkDrawable))
-       (gc (* GdkGC))
-       (x gint) (y gint)
-       (layout (* PangoLayout)))
-
-(extern void gdk_draw_pixbuf
-       (drawable (* GdkDrawable))
-       (gc (* GdkGC))
-       (pixbuf (* GdkPixbuf))
-       (src_x gint)
-       (src_y gint)
-       (dest_x gint)
-       (dest_y gint)
-       (width gint)
-       (height gint)
-       (dither GdkRgbDither)
-       (x_dither gint)
-       (y_dither gint))
\ No newline at end of file
diff --git a/src/gtk/Includes/gdkgc.cdecl b/src/gtk/Includes/gdkgc.cdecl
deleted file mode 100644 (file)
index 85cf21d..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-#| -*-Scheme-*-
-
-gtk-2.0/gdk/gdkgc.h |#
-
-(include "gdkcolor")
-(include "gdktypes")
-
-(typedef GdkGCValues (struct _GdkGCValues))
-(typedef GdkGCClass (struct _GdkGCClass))
-
-(typedef GdkCapStyle
-  (enum
-   (GDK_CAP_NOT_LAST)
-   (GDK_CAP_BUTT)
-   (GDK_CAP_ROUND)
-   (GDK_CAP_PROJECTING)))
-
-(typedef GdkFill
-  (enum
-   (GDK_SOLID)
-   (GDK_TILED)
-   (GDK_STIPPLED)
-   (GDK_OPAQUE_STIPPLED)))
-
-(typedef GdkFunction
-  (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)))
-
-(typedef GdkJoinStyle
-  (enum
-   (GDK_JOIN_MITER)
-   (GDK_JOIN_ROUND)
-   (GDK_JOIN_BEVEL)))
-
-(typedef GdkLineStyle
-  (enum
-   (GDK_LINE_SOLID)
-   (GDK_LINE_ON_OFF_DASH)
-   (GDK_LINE_DOUBLE_DASH)))
-
-(typedef GdkSubwindowMode
-  (enum
-   (GDK_CLIP_BY_CHILDREN)
-   (GDK_INCLUDE_INFERIORS)))
-
-(typedef GdkGCValuesMask
-  (enum
-   (GDK_GC_FOREGROUND)
-   (GDK_GC_BACKGROUND)
-   (GDK_GC_FONT)
-   (GDK_GC_FUNCTION)
-   (GDK_GC_FILL)
-   (GDK_GC_TILE)
-   (GDK_GC_STIPPLE)
-   (GDK_GC_CLIP_MASK)
-   (GDK_GC_SUBWINDOW)
-   (GDK_GC_TS_X_ORIGIN)
-   (GDK_GC_TS_Y_ORIGIN)
-   (GDK_GC_CLIP_X_ORIGIN)
-   (GDK_GC_CLIP_Y_ORIGIN)
-   (GDK_GC_EXPOSURES)
-   (GDK_GC_LINE_WIDTH)
-   (GDK_GC_LINE_STYLE)
-   (GDK_GC_CAP_STYLE)
-   (GDK_GC_JOIN_STYLE)))
-
-(struct _GdkGCValues
-  (foreground GdkColor)
-  (background GdkColor)
-  (font (* GdkFont))
-  (function GdkFunction)
-  (fill GdkFill)
-  (tile (* GdkPixmap))
-  (stipple (* GdkPixmap))
-  (clip_mask (* GdkPixmap))
-  (subwindow_mode GdkSubwindowMode)
-  (ts_x_origin gint)
-  (ts_y_origin gint)
-  (clip_x_origin gint)
-  (clip_y_origin gint)
-  (graphics_exposures gint)
-  (line_width gint)
-  (line_style GdkLineStyle)
-  (cap_style GdkCapStyle)
-  (join_style GdkJoinStyle))
-
-(struct _GdkGC
-  (parent_instance GObject)
-  (clip_x_origin gint)
-  (clip_y_origin gint)
-  (ts_x_origin gint)
-  (ts_y_origin gint)
-  (colormap (* GdkColormap)))
-
-(struct _GdkGCClass 
-  (parent_class GObjectClass)
-  (get_values (* (function void
-                          (gc     (* GdkGC))
-                          (values (* GdkGCValues)))))
-  (set_values (* (function void
-                          (gc     (* GdkGC))
-                          (values (* GdkGCValues))
-                          (mask   GdkGCValuesMask))))
-  (set_dashes (* (function void
-                          (gc          (* GdkGC))
-                          (dash_offset gint)
-                          (dash_list   (array gint8))
-                          (gint        n))))
-
-  ;; Padding for future expansion
-  (_gdk_reserved1 (* (function void)))
-  (_gdk_reserved2 (* (function void)))
-  (_gdk_reserved3 (* (function void)))
-  (_gdk_reserved4 (* (function void))))
-
-;(extern GType gdk_gc_get_type)
-;(extern (* GdkGC) gdk_gc_new
-;      (drawable (* GdkDrawable)))
-;(extern (* GdkGC) gdk_gc_new_with_values
-;      (drawable (* GdkDrawable))
-;      (values (* GdkGCValues))
-;      (values_mask GdkGCValuesMask))
-(extern void gdk_gc_get_values
-       (gc (* GdkGC))
-       (values (* GdkGCValues)))
-;(extern void gdk_gc_set_values
-;      (gc (* GdkGC))
-;      (values (* GdkGCValues))
-;      (values_mask GdkGCValuesMask))
-;(extern void gdk_gc_set_foreground
-;      (gc (* GdkGC))
-;      (color (* (const GdkColor))))
-;(extern void gdk_gc_set_background
-;      (gc (* GdkGC))
-;      (color (* (const GdkColor))))
-;(extern void gdk_gc_set_function
-;      (gc (* GdkGC))
-;      (function GdkFunction))
-;(extern void gdk_gc_set_fill
-;      (gc (* GdkGC))
-;      (fill GdkFill))
-;(extern void gdk_gc_set_tile
-;      (gc (* GdkGC))
-;      (tile (* GdkPixmap)))
-;(extern void gdk_gc_set_stipple
-;      (gc (* GdkGC))
-;      (stipple (* GdkPixmap)))
-;(extern void gdk_gc_set_ts_origin
-;      (gc (* GdkGC))
-;      (x gint) (y gint))
-;(extern void gdk_gc_set_clip_origin
-;      (gc (* GdkGC))
-;      (x gint) (y gint))
-;(extern void gdk_gc_set_clip_mask
-;      (gc (* GdkGC))
-;      (mask (* GdkBitmap)))
-(extern void gdk_gc_set_clip_rectangle
-       (gc (* GdkGC))
-       (rectangle (* GdkRectangle)))
-;(extern void gdk_gc_set_clip_region
-;      (gc (* GdkGC))
-;      (region (* GdkRegion)))
-;(extern void gdk_gc_set_subwindow
-;      (gc (* GdkGC))
-;      (mode GdkSubwindowMode))
-;(extern void gdk_gc_set_exposures
-;      (gc (* GdkGC))
-;      (exposures gboolean))
-;(extern void gdk_gc_set_line_attributes
-;      (gc (* GdkGC))
-;      (line_width gint)
-;      (line_style GdkLineStyle)
-;      (cap_style GdkCapStyle)
-;      (join_style GdkJoinStyle))
-;(extern void gdk_gc_set_dashes
-;      (gc (* GdkGC))
-;      (dash_offset gint)
-;      (dash_list (array gint8))
-;      (n gint))
-;(extern void gdk_gc_offset
-;      (gc (* GdkGC))
-;      (x_offset gint)
-;      (y_offset gint))
-;(extern void gdk_gc_copy
-;      (dst_gc (* GdkGC))
-;      (src_gc (* GdkGC)))
-;
-;(extern void gdk_gc_set_colormap
-;      (gc (* GdkGC))
-;      (colormap (* GdkColormap)))
-;(extern (* GdkColormap) gdk_gc_get_colormap
-;      (gc (* GdkGC)))
-;(extern void gdk_gc_set_rgb_fg_color
-;      (gc (* GdkGC))
-;      (color (* (const GdkColor))))
-;(extern void gdk_gc_set_rgb_bg_color
-;      (gc (* GdkGC))
-;      (color (* (const GdkColor))))
-;(extern (* GdkScreen) gdk_gc_get_screen
-;      (gc (* GdkGC)))
\ No newline at end of file
index 77e9841d182b7c72ce690f7506d4be9a8c54c0b8..7c1ec28432724ccc85527f9ec9b107f2fed65546 100644 (file)
 gtk-2.0/gdk/gdkkeysyms.h |#
 
 (enum GdkKeysyms
-  (GDK_VoidSymbol)
-  (GDK_BackSpace)
-  (GDK_Tab)
-  (GDK_Linefeed)
-  (GDK_Clear)
-  (GDK_Return)
-  (GDK_Pause)
-  (GDK_Scroll_Lock)
-  (GDK_Sys_Req)
-  (GDK_Escape)
-  (GDK_Delete)
-  (GDK_Multi_key)
-  (GDK_Codeinput)
-  (GDK_SingleCandidate)
-  (GDK_MultipleCandidate)
-  (GDK_PreviousCandidate)
-  (GDK_Kanji)
-  (GDK_Muhenkan)
-  (GDK_Henkan_Mode)
-  (GDK_Henkan)
-  (GDK_Romaji)
-  (GDK_Hiragana)
-  (GDK_Katakana)
-  (GDK_Hiragana_Katakana)
-  (GDK_Zenkaku)
-  (GDK_Hankaku)
-  (GDK_Zenkaku_Hankaku)
-  (GDK_Touroku)
-  (GDK_Massyo)
-  (GDK_Kana_Lock)
-  (GDK_Kana_Shift)
-  (GDK_Eisu_Shift)
-  (GDK_Eisu_toggle)
-  (GDK_Kanji_Bangou)
-  (GDK_Zen_Koho)
-  (GDK_Mae_Koho)
-  (GDK_Home)
-  (GDK_Left)
-  (GDK_Up)
-  (GDK_Right)
-  (GDK_Down)
-  (GDK_Prior)
-  (GDK_Page_Up)
-  (GDK_Next)
-  (GDK_Page_Down)
-  (GDK_End)
-  (GDK_Begin)
-  (GDK_Select)
-  (GDK_Print)
-  (GDK_Execute)
-  (GDK_Insert)
-  (GDK_Undo)
-  (GDK_Redo)
-  (GDK_Menu)
-  (GDK_Find)
-  (GDK_Cancel)
-  (GDK_Help)
-  (GDK_Break)
-  (GDK_Mode_switch)
-  (GDK_script_switch)
-  (GDK_Num_Lock)
-  (GDK_KP_Space)
-  (GDK_KP_Tab)
-  (GDK_KP_Enter)
-  (GDK_KP_F1)
-  (GDK_KP_F2)
-  (GDK_KP_F3)
-  (GDK_KP_F4)
-  (GDK_KP_Home)
-  (GDK_KP_Left)
-  (GDK_KP_Up)
-  (GDK_KP_Right)
-  (GDK_KP_Down)
-  (GDK_KP_Prior)
-  (GDK_KP_Page_Up)
-  (GDK_KP_Next)
-  (GDK_KP_Page_Down)
-  (GDK_KP_End)
-  (GDK_KP_Begin)
-  (GDK_KP_Insert)
-  (GDK_KP_Delete)
-  (GDK_KP_Equal)
-  (GDK_KP_Multiply)
-  (GDK_KP_Add)
-  (GDK_KP_Separator)
-  (GDK_KP_Subtract)
-  (GDK_KP_Decimal)
-  (GDK_KP_Divide)
-  (GDK_KP_0)
-  (GDK_KP_1)
-  (GDK_KP_2)
-  (GDK_KP_3)
-  (GDK_KP_4)
-  (GDK_KP_5)
-  (GDK_KP_6)
-  (GDK_KP_7)
-  (GDK_KP_8)
-  (GDK_KP_9)
-  (GDK_F1)
-  (GDK_F2)
-  (GDK_F3)
-  (GDK_F4)
-  (GDK_F5)
-  (GDK_F6)
-  (GDK_F7)
-  (GDK_F8)
-  (GDK_F9)
-  (GDK_F10)
-  (GDK_F11)
-  (GDK_L1)
-  (GDK_F12)
-  (GDK_L2)
-  (GDK_F13)
-  (GDK_L3)
-  (GDK_F14)
-  (GDK_L4)
-  (GDK_F15)
-  (GDK_L5)
-  (GDK_F16)
-  (GDK_L6)
-  (GDK_F17)
-  (GDK_L7)
-  (GDK_F18)
-  (GDK_L8)
-  (GDK_F19)
-  (GDK_L9)
-  (GDK_F20)
-  (GDK_L10)
-  (GDK_F21)
-  (GDK_R1)
-  (GDK_F22)
-  (GDK_R2)
-  (GDK_F23)
-  (GDK_R3)
-  (GDK_F24)
-  (GDK_R4)
-  (GDK_F25)
-  (GDK_R5)
-  (GDK_F26)
-  (GDK_R6)
-  (GDK_F27)
-  (GDK_R7)
-  (GDK_F28)
-  (GDK_R8)
-  (GDK_F29)
-  (GDK_R9)
-  (GDK_F30)
-  (GDK_R10)
-  (GDK_F31)
-  (GDK_R11)
-  (GDK_F32)
-  (GDK_R12)
-  (GDK_F33)
-  (GDK_R13)
-  (GDK_F34)
-  (GDK_R14)
-  (GDK_F35)
-  (GDK_R15)
-  (GDK_Shift_L)
-  (GDK_Shift_R)
-  (GDK_Control_L)
-  (GDK_Control_R)
-  (GDK_Caps_Lock)
-  (GDK_Shift_Lock)
-  (GDK_Meta_L)
-  (GDK_Meta_R)
-  (GDK_Alt_L)
-  (GDK_Alt_R)
-  (GDK_Super_L)
-  (GDK_Super_R)
-  (GDK_Hyper_L)
-  (GDK_Hyper_R)
-  (GDK_ISO_Lock)
-  (GDK_ISO_Level2_Latch)
-  (GDK_ISO_Level3_Shift)
-  (GDK_ISO_Level3_Latch)
-  (GDK_ISO_Level3_Lock)
-  (GDK_ISO_Group_Shift)
-  (GDK_ISO_Group_Latch)
-  (GDK_ISO_Group_Lock)
-  (GDK_ISO_Next_Group)
-  (GDK_ISO_Next_Group_Lock)
-  (GDK_ISO_Prev_Group)
-  (GDK_ISO_Prev_Group_Lock)
-  (GDK_ISO_First_Group)
-  (GDK_ISO_First_Group_Lock)
-  (GDK_ISO_Last_Group)
-  (GDK_ISO_Last_Group_Lock)
-  (GDK_ISO_Left_Tab)
-  (GDK_ISO_Move_Line_Up)
-  (GDK_ISO_Move_Line_Down)
-  (GDK_ISO_Partial_Line_Up)
-  (GDK_ISO_Partial_Line_Down)
-  (GDK_ISO_Partial_Space_Left)
-  (GDK_ISO_Partial_Space_Right)
-  (GDK_ISO_Set_Margin_Left)
-  (GDK_ISO_Set_Margin_Right)
-  (GDK_ISO_Release_Margin_Left)
-  (GDK_ISO_Release_Margin_Right)
-  (GDK_ISO_Release_Both_Margins)
-  (GDK_ISO_Fast_Cursor_Left)
-  (GDK_ISO_Fast_Cursor_Right)
-  (GDK_ISO_Fast_Cursor_Up)
-  (GDK_ISO_Fast_Cursor_Down)
-  (GDK_ISO_Continuous_Underline)
-  (GDK_ISO_Discontinuous_Underline)
-  (GDK_ISO_Emphasize)
-  (GDK_ISO_Center_Object)
-  (GDK_ISO_Enter)
-  (GDK_dead_grave)
-  (GDK_dead_acute)
-  (GDK_dead_circumflex)
-  (GDK_dead_tilde)
-  (GDK_dead_macron)
-  (GDK_dead_breve)
-  (GDK_dead_abovedot)
-  (GDK_dead_diaeresis)
-  (GDK_dead_abovering)
-  (GDK_dead_doubleacute)
-  (GDK_dead_caron)
-  (GDK_dead_cedilla)
-  (GDK_dead_ogonek)
-  (GDK_dead_iota)
-  (GDK_dead_voiced_sound)
-  (GDK_dead_semivoiced_sound)
-  (GDK_dead_belowdot)
-  (GDK_dead_hook)
-  (GDK_dead_horn)
-  (GDK_First_Virtual_Screen)
-  (GDK_Prev_Virtual_Screen)
-  (GDK_Next_Virtual_Screen)
-  (GDK_Last_Virtual_Screen)
-  (GDK_Terminate_Server)
-  (GDK_AccessX_Enable)
-  (GDK_AccessX_Feedback_Enable)
-  (GDK_RepeatKeys_Enable)
-  (GDK_SlowKeys_Enable)
-  (GDK_BounceKeys_Enable)
-  (GDK_StickyKeys_Enable)
-  (GDK_MouseKeys_Enable)
-  (GDK_MouseKeys_Accel_Enable)
-  (GDK_Overlay1_Enable)
-  (GDK_Overlay2_Enable)
-  (GDK_AudibleBell_Enable)
-  (GDK_Pointer_Left)
-  (GDK_Pointer_Right)
-  (GDK_Pointer_Up)
-  (GDK_Pointer_Down)
-  (GDK_Pointer_UpLeft)
-  (GDK_Pointer_UpRight)
-  (GDK_Pointer_DownLeft)
-  (GDK_Pointer_DownRight)
-  (GDK_Pointer_Button_Dflt)
-  (GDK_Pointer_Button1)
-  (GDK_Pointer_Button2)
-  (GDK_Pointer_Button3)
-  (GDK_Pointer_Button4)
-  (GDK_Pointer_Button5)
-  (GDK_Pointer_DblClick_Dflt)
-  (GDK_Pointer_DblClick1)
-  (GDK_Pointer_DblClick2)
-  (GDK_Pointer_DblClick3)
-  (GDK_Pointer_DblClick4)
-  (GDK_Pointer_DblClick5)
-  (GDK_Pointer_Drag_Dflt)
-  (GDK_Pointer_Drag1)
-  (GDK_Pointer_Drag2)
-  (GDK_Pointer_Drag3)
-  (GDK_Pointer_Drag4)
-  (GDK_Pointer_Drag5)
-  (GDK_Pointer_EnableKeys)
-  (GDK_Pointer_Accelerate)
-  (GDK_Pointer_DfltBtnNext)
-  (GDK_Pointer_DfltBtnPrev)
-  (GDK_3270_Duplicate)
-  (GDK_3270_FieldMark)
-  (GDK_3270_Right2)
-  (GDK_3270_Left2)
-  (GDK_3270_BackTab)
-  (GDK_3270_EraseEOF)
-  (GDK_3270_EraseInput)
-  (GDK_3270_Reset)
-  (GDK_3270_Quit)
-  (GDK_3270_PA1)
-  (GDK_3270_PA2)
-  (GDK_3270_PA3)
-  (GDK_3270_Test)
-  (GDK_3270_Attn)
-  (GDK_3270_CursorBlink)
-  (GDK_3270_AltCursor)
-  (GDK_3270_KeyClick)
-  (GDK_3270_Jump)
-  (GDK_3270_Ident)
-  (GDK_3270_Rule)
-  (GDK_3270_Copy)
-  (GDK_3270_Play)
-  (GDK_3270_Setup)
-  (GDK_3270_Record)
-  (GDK_3270_ChangeScreen)
-  (GDK_3270_DeleteWord)
-  (GDK_3270_ExSelect)
-  (GDK_3270_CursorSelect)
-  (GDK_3270_PrintScreen)
-  (GDK_3270_Enter)
-  (GDK_space)
-  (GDK_exclam)
-  (GDK_quotedbl)
-  (GDK_numbersign)
-  (GDK_dollar)
-  (GDK_percent)
-  (GDK_ampersand)
-  (GDK_apostrophe)
-  (GDK_quoteright)
-  (GDK_parenleft)
-  (GDK_parenright)
-  (GDK_asterisk)
-  (GDK_plus)
-  (GDK_comma)
-  (GDK_minus)
-  (GDK_period)
-  (GDK_slash)
-  (GDK_0)
-  (GDK_1)
-  (GDK_2)
-  (GDK_3)
-  (GDK_4)
-  (GDK_5)
-  (GDK_6)
-  (GDK_7)
-  (GDK_8)
-  (GDK_9)
-  (GDK_colon)
-  (GDK_semicolon)
-  (GDK_less)
-  (GDK_equal)
-  (GDK_greater)
-  (GDK_question)
-  (GDK_at)
-  (GDK_A)
-  (GDK_B)
-  (GDK_C)
-  (GDK_D)
-  (GDK_E)
-  (GDK_F)
-  (GDK_G)
-  (GDK_H)
-  (GDK_I)
-  (GDK_J)
-  (GDK_K)
-  (GDK_L)
-  (GDK_M)
-  (GDK_N)
-  (GDK_O)
-  (GDK_P)
-  (GDK_Q)
-  (GDK_R)
-  (GDK_S)
-  (GDK_T)
-  (GDK_U)
-  (GDK_V)
-  (GDK_W)
-  (GDK_X)
-  (GDK_Y)
-  (GDK_Z)
-  (GDK_bracketleft)
-  (GDK_backslash)
-  (GDK_bracketright)
-  (GDK_asciicircum)
-  (GDK_underscore)
-  (GDK_grave)
-  (GDK_quoteleft)
-  (GDK_a)
-  (GDK_b)
-  (GDK_c)
-  (GDK_d)
-  (GDK_e)
-  (GDK_f)
-  (GDK_g)
-  (GDK_h)
-  (GDK_i)
-  (GDK_j)
-  (GDK_k)
-  (GDK_l)
-  (GDK_m)
-  (GDK_n)
-  (GDK_o)
-  (GDK_p)
-  (GDK_q)
-  (GDK_r)
-  (GDK_s)
-  (GDK_t)
-  (GDK_u)
-  (GDK_v)
-  (GDK_w)
-  (GDK_x)
-  (GDK_y)
-  (GDK_z)
-  (GDK_braceleft)
-  (GDK_bar)
-  (GDK_braceright)
-  (GDK_asciitilde)
-  (GDK_nobreakspace)
-  (GDK_exclamdown)
-  (GDK_cent)
-  (GDK_sterling)
-  (GDK_currency)
-  (GDK_yen)
-  (GDK_brokenbar)
-  (GDK_section)
-  (GDK_diaeresis)
-  (GDK_copyright)
-  (GDK_ordfeminine)
-  (GDK_guillemotleft)
-  (GDK_notsign)
-  (GDK_hyphen)
-  (GDK_registered)
-  (GDK_macron)
-  (GDK_degree)
-  (GDK_plusminus)
-  (GDK_twosuperior)
-  (GDK_threesuperior)
-  (GDK_acute)
-  (GDK_mu)
-  (GDK_paragraph)
-  (GDK_periodcentered)
-  (GDK_cedilla)
-  (GDK_onesuperior)
-  (GDK_masculine)
-  (GDK_guillemotright)
-  (GDK_onequarter)
-  (GDK_onehalf)
-  (GDK_threequarters)
-  (GDK_questiondown)
-  (GDK_Agrave)
-  (GDK_Aacute)
-  (GDK_Acircumflex)
-  (GDK_Atilde)
-  (GDK_Adiaeresis)
-  (GDK_Aring)
-  (GDK_AE)
-  (GDK_Ccedilla)
-  (GDK_Egrave)
-  (GDK_Eacute)
-  (GDK_Ecircumflex)
-  (GDK_Ediaeresis)
-  (GDK_Igrave)
-  (GDK_Iacute)
-  (GDK_Icircumflex)
-  (GDK_Idiaeresis)
-  (GDK_ETH)
-  (GDK_Eth)
-  (GDK_Ntilde)
-  (GDK_Ograve)
-  (GDK_Oacute)
-  (GDK_Ocircumflex)
-  (GDK_Otilde)
-  (GDK_Odiaeresis)
-  (GDK_multiply)
-  (GDK_Oslash)
-  (GDK_Ooblique)
-  (GDK_Ugrave)
-  (GDK_Uacute)
-  (GDK_Ucircumflex)
-  (GDK_Udiaeresis)
-  (GDK_Yacute)
-  (GDK_THORN)
-  (GDK_Thorn)
-  (GDK_ssharp)
-  (GDK_agrave)
-  (GDK_aacute)
-  (GDK_acircumflex)
-  (GDK_atilde)
-  (GDK_adiaeresis)
-  (GDK_aring)
-  (GDK_ae)
-  (GDK_ccedilla)
-  (GDK_egrave)
-  (GDK_eacute)
-  (GDK_ecircumflex)
-  (GDK_ediaeresis)
-  (GDK_igrave)
-  (GDK_iacute)
-  (GDK_icircumflex)
-  (GDK_idiaeresis)
-  (GDK_eth)
-  (GDK_ntilde)
-  (GDK_ograve)
-  (GDK_oacute)
-  (GDK_ocircumflex)
-  (GDK_otilde)
-  (GDK_odiaeresis)
-  (GDK_division)
-  (GDK_oslash)
-  (GDK_ooblique)
-  (GDK_ugrave)
-  (GDK_uacute)
-  (GDK_ucircumflex)
-  (GDK_udiaeresis)
-  (GDK_yacute)
-  (GDK_thorn)
-  (GDK_ydiaeresis)
-  (GDK_Aogonek)
-  (GDK_breve)
-  (GDK_Lstroke)
-  (GDK_Lcaron)
-  (GDK_Sacute)
-  (GDK_Scaron)
-  (GDK_Scedilla)
-  (GDK_Tcaron)
-  (GDK_Zacute)
-  (GDK_Zcaron)
-  (GDK_Zabovedot)
-  (GDK_aogonek)
-  (GDK_ogonek)
-  (GDK_lstroke)
-  (GDK_lcaron)
-  (GDK_sacute)
-  (GDK_caron)
-  (GDK_scaron)
-  (GDK_scedilla)
-  (GDK_tcaron)
-  (GDK_zacute)
-  (GDK_doubleacute)
-  (GDK_zcaron)
-  (GDK_zabovedot)
-  (GDK_Racute)
-  (GDK_Abreve)
-  (GDK_Lacute)
-  (GDK_Cacute)
-  (GDK_Ccaron)
-  (GDK_Eogonek)
-  (GDK_Ecaron)
-  (GDK_Dcaron)
-  (GDK_Dstroke)
-  (GDK_Nacute)
-  (GDK_Ncaron)
-  (GDK_Odoubleacute)
-  (GDK_Rcaron)
-  (GDK_Uring)
-  (GDK_Udoubleacute)
-  (GDK_Tcedilla)
-  (GDK_racute)
-  (GDK_abreve)
-  (GDK_lacute)
-  (GDK_cacute)
-  (GDK_ccaron)
-  (GDK_eogonek)
-  (GDK_ecaron)
-  (GDK_dcaron)
-  (GDK_dstroke)
-  (GDK_nacute)
-  (GDK_ncaron)
-  (GDK_odoubleacute)
-  (GDK_udoubleacute)
-  (GDK_rcaron)
-  (GDK_uring)
-  (GDK_tcedilla)
-  (GDK_abovedot)
-  (GDK_Hstroke)
-  (GDK_Hcircumflex)
-  (GDK_Iabovedot)
-  (GDK_Gbreve)
-  (GDK_Jcircumflex)
-  (GDK_hstroke)
-  (GDK_hcircumflex)
-  (GDK_idotless)
-  (GDK_gbreve)
-  (GDK_jcircumflex)
-  (GDK_Cabovedot)
-  (GDK_Ccircumflex)
-  (GDK_Gabovedot)
-  (GDK_Gcircumflex)
-  (GDK_Ubreve)
-  (GDK_Scircumflex)
-  (GDK_cabovedot)
-  (GDK_ccircumflex)
-  (GDK_gabovedot)
-  (GDK_gcircumflex)
-  (GDK_ubreve)
-  (GDK_scircumflex)
-  (GDK_kra)
-  (GDK_kappa)
-  (GDK_Rcedilla)
-  (GDK_Itilde)
-  (GDK_Lcedilla)
-  (GDK_Emacron)
-  (GDK_Gcedilla)
-  (GDK_Tslash)
-  (GDK_rcedilla)
-  (GDK_itilde)
-  (GDK_lcedilla)
-  (GDK_emacron)
-  (GDK_gcedilla)
-  (GDK_tslash)
-  (GDK_ENG)
-  (GDK_eng)
-  (GDK_Amacron)
-  (GDK_Iogonek)
-  (GDK_Eabovedot)
-  (GDK_Imacron)
-  (GDK_Ncedilla)
-  (GDK_Omacron)
-  (GDK_Kcedilla)
-  (GDK_Uogonek)
-  (GDK_Utilde)
-  (GDK_Umacron)
-  (GDK_amacron)
-  (GDK_iogonek)
-  (GDK_eabovedot)
-  (GDK_imacron)
-  (GDK_ncedilla)
-  (GDK_omacron)
-  (GDK_kcedilla)
-  (GDK_uogonek)
-  (GDK_utilde)
-  (GDK_umacron)
-  (GDK_Babovedot)
-  (GDK_babovedot)
-  (GDK_Dabovedot)
-  (GDK_Wgrave)
-  (GDK_Wacute)
-  (GDK_dabovedot)
-  (GDK_Ygrave)
-  (GDK_Fabovedot)
-  (GDK_fabovedot)
-  (GDK_Mabovedot)
-  (GDK_mabovedot)
-  (GDK_Pabovedot)
-  (GDK_wgrave)
-  (GDK_pabovedot)
-  (GDK_wacute)
-  (GDK_Sabovedot)
-  (GDK_ygrave)
-  (GDK_Wdiaeresis)
-  (GDK_wdiaeresis)
-  (GDK_sabovedot)
-  (GDK_Wcircumflex)
-  (GDK_Tabovedot)
-  (GDK_Ycircumflex)
-  (GDK_wcircumflex)
-  (GDK_tabovedot)
-  (GDK_ycircumflex)
-  (GDK_OE)
-  (GDK_oe)
-  (GDK_Ydiaeresis)
-  (GDK_overline)
-  (GDK_kana_fullstop)
-  (GDK_kana_openingbracket)
-  (GDK_kana_closingbracket)
-  (GDK_kana_comma)
-  (GDK_kana_conjunctive)
-  (GDK_kana_middledot)
-  (GDK_kana_WO)
-  (GDK_kana_a)
-  (GDK_kana_i)
-  (GDK_kana_u)
-  (GDK_kana_e)
-  (GDK_kana_o)
-  (GDK_kana_ya)
-  (GDK_kana_yu)
-  (GDK_kana_yo)
-  (GDK_kana_tsu)
-  (GDK_kana_tu)
-  (GDK_prolongedsound)
-  (GDK_kana_A)
-  (GDK_kana_I)
-  (GDK_kana_U)
-  (GDK_kana_E)
-  (GDK_kana_O)
-  (GDK_kana_KA)
-  (GDK_kana_KI)
-  (GDK_kana_KU)
-  (GDK_kana_KE)
-  (GDK_kana_KO)
-  (GDK_kana_SA)
-  (GDK_kana_SHI)
-  (GDK_kana_SU)
-  (GDK_kana_SE)
-  (GDK_kana_SO)
-  (GDK_kana_TA)
-  (GDK_kana_CHI)
-  (GDK_kana_TI)
-  (GDK_kana_TSU)
-  (GDK_kana_TU)
-  (GDK_kana_TE)
-  (GDK_kana_TO)
-  (GDK_kana_NA)
-  (GDK_kana_NI)
-  (GDK_kana_NU)
-  (GDK_kana_NE)
-  (GDK_kana_NO)
-  (GDK_kana_HA)
-  (GDK_kana_HI)
-  (GDK_kana_FU)
-  (GDK_kana_HU)
-  (GDK_kana_HE)
-  (GDK_kana_HO)
-  (GDK_kana_MA)
-  (GDK_kana_MI)
-  (GDK_kana_MU)
-  (GDK_kana_ME)
-  (GDK_kana_MO)
-  (GDK_kana_YA)
-  (GDK_kana_YU)
-  (GDK_kana_YO)
-  (GDK_kana_RA)
-  (GDK_kana_RI)
-  (GDK_kana_RU)
-  (GDK_kana_RE)
-  (GDK_kana_RO)
-  (GDK_kana_WA)
-  (GDK_kana_N)
-  (GDK_voicedsound)
-  (GDK_semivoicedsound)
-  (GDK_kana_switch)
-  (GDK_Farsi_0)
-  (GDK_Farsi_1)
-  (GDK_Farsi_2)
-  (GDK_Farsi_3)
-  (GDK_Farsi_4)
-  (GDK_Farsi_5)
-  (GDK_Farsi_6)
-  (GDK_Farsi_7)
-  (GDK_Farsi_8)
-  (GDK_Farsi_9)
-  (GDK_Arabic_percent)
-  (GDK_Arabic_superscript_alef)
-  (GDK_Arabic_tteh)
-  (GDK_Arabic_peh)
-  (GDK_Arabic_tcheh)
-  (GDK_Arabic_ddal)
-  (GDK_Arabic_rreh)
-  (GDK_Arabic_comma)
-  (GDK_Arabic_fullstop)
-  (GDK_Arabic_0)
-  (GDK_Arabic_1)
-  (GDK_Arabic_2)
-  (GDK_Arabic_3)
-  (GDK_Arabic_4)
-  (GDK_Arabic_5)
-  (GDK_Arabic_6)
-  (GDK_Arabic_7)
-  (GDK_Arabic_8)
-  (GDK_Arabic_9)
-  (GDK_Arabic_semicolon)
-  (GDK_Arabic_question_mark)
-  (GDK_Arabic_hamza)
-  (GDK_Arabic_maddaonalef)
-  (GDK_Arabic_hamzaonalef)
-  (GDK_Arabic_hamzaonwaw)
-  (GDK_Arabic_hamzaunderalef)
-  (GDK_Arabic_hamzaonyeh)
-  (GDK_Arabic_alef)
-  (GDK_Arabic_beh)
-  (GDK_Arabic_tehmarbuta)
-  (GDK_Arabic_teh)
-  (GDK_Arabic_theh)
-  (GDK_Arabic_jeem)
-  (GDK_Arabic_hah)
-  (GDK_Arabic_khah)
-  (GDK_Arabic_dal)
-  (GDK_Arabic_thal)
-  (GDK_Arabic_ra)
-  (GDK_Arabic_zain)
-  (GDK_Arabic_seen)
-  (GDK_Arabic_sheen)
-  (GDK_Arabic_sad)
-  (GDK_Arabic_dad)
-  (GDK_Arabic_tah)
-  (GDK_Arabic_zah)
-  (GDK_Arabic_ain)
-  (GDK_Arabic_ghain)
-  (GDK_Arabic_tatweel)
-  (GDK_Arabic_feh)
-  (GDK_Arabic_qaf)
-  (GDK_Arabic_kaf)
-  (GDK_Arabic_lam)
-  (GDK_Arabic_meem)
-  (GDK_Arabic_noon)
-  (GDK_Arabic_ha)
-  (GDK_Arabic_heh)
-  (GDK_Arabic_waw)
-  (GDK_Arabic_alefmaksura)
-  (GDK_Arabic_yeh)
-  (GDK_Arabic_fathatan)
-  (GDK_Arabic_dammatan)
-  (GDK_Arabic_kasratan)
-  (GDK_Arabic_fatha)
-  (GDK_Arabic_damma)
-  (GDK_Arabic_kasra)
-  (GDK_Arabic_shadda)
-  (GDK_Arabic_sukun)
-  (GDK_Arabic_madda_above)
-  (GDK_Arabic_hamza_above)
-  (GDK_Arabic_hamza_below)
-  (GDK_Arabic_jeh)
-  (GDK_Arabic_veh)
-  (GDK_Arabic_keheh)
-  (GDK_Arabic_gaf)
-  (GDK_Arabic_noon_ghunna)
-  (GDK_Arabic_heh_doachashmee)
-  (GDK_Farsi_yeh)
-  (GDK_Arabic_farsi_yeh)
-  (GDK_Arabic_yeh_baree)
-  (GDK_Arabic_heh_goal)
-  (GDK_Arabic_switch)
-  (GDK_Cyrillic_GHE_bar)
-  (GDK_Cyrillic_ghe_bar)
-  (GDK_Cyrillic_ZHE_descender)
-  (GDK_Cyrillic_zhe_descender)
-  (GDK_Cyrillic_KA_descender)
-  (GDK_Cyrillic_ka_descender)
-  (GDK_Cyrillic_KA_vertstroke)
-  (GDK_Cyrillic_ka_vertstroke)
-  (GDK_Cyrillic_EN_descender)
-  (GDK_Cyrillic_en_descender)
-  (GDK_Cyrillic_U_straight)
-  (GDK_Cyrillic_u_straight)
-  (GDK_Cyrillic_U_straight_bar)
-  (GDK_Cyrillic_u_straight_bar)
-  (GDK_Cyrillic_HA_descender)
-  (GDK_Cyrillic_ha_descender)
-  (GDK_Cyrillic_CHE_descender)
-  (GDK_Cyrillic_che_descender)
-  (GDK_Cyrillic_CHE_vertstroke)
-  (GDK_Cyrillic_che_vertstroke)
-  (GDK_Cyrillic_SHHA)
-  (GDK_Cyrillic_shha)
-  (GDK_Cyrillic_SCHWA)
-  (GDK_Cyrillic_schwa)
-  (GDK_Cyrillic_I_macron)
-  (GDK_Cyrillic_i_macron)
-  (GDK_Cyrillic_O_bar)
-  (GDK_Cyrillic_o_bar)
-  (GDK_Cyrillic_U_macron)
-  (GDK_Cyrillic_u_macron)
-  (GDK_Serbian_dje)
-  (GDK_Macedonia_gje)
-  (GDK_Cyrillic_io)
-  (GDK_Ukrainian_ie)
-  (GDK_Ukranian_je)
-  (GDK_Macedonia_dse)
-  (GDK_Ukrainian_i)
-  (GDK_Ukranian_i)
-  (GDK_Ukrainian_yi)
-  (GDK_Ukranian_yi)
-  (GDK_Cyrillic_je)
-  (GDK_Serbian_je)
-  (GDK_Cyrillic_lje)
-  (GDK_Serbian_lje)
-  (GDK_Cyrillic_nje)
-  (GDK_Serbian_nje)
-  (GDK_Serbian_tshe)
-  (GDK_Macedonia_kje)
-  (GDK_Ukrainian_ghe_with_upturn)
-  (GDK_Byelorussian_shortu)
-  (GDK_Cyrillic_dzhe)
-  (GDK_Serbian_dze)
-  (GDK_numerosign)
-  (GDK_Serbian_DJE)
-  (GDK_Macedonia_GJE)
-  (GDK_Cyrillic_IO)
-  (GDK_Ukrainian_IE)
-  (GDK_Ukranian_JE)
-  (GDK_Macedonia_DSE)
-  (GDK_Ukrainian_I)
-  (GDK_Ukranian_I)
-  (GDK_Ukrainian_YI)
-  (GDK_Ukranian_YI)
-  (GDK_Cyrillic_JE)
-  (GDK_Serbian_JE)
-  (GDK_Cyrillic_LJE)
-  (GDK_Serbian_LJE)
-  (GDK_Cyrillic_NJE)
-  (GDK_Serbian_NJE)
-  (GDK_Serbian_TSHE)
-  (GDK_Macedonia_KJE)
-  (GDK_Ukrainian_GHE_WITH_UPTURN)
-  (GDK_Byelorussian_SHORTU)
-  (GDK_Cyrillic_DZHE)
-  (GDK_Serbian_DZE)
-  (GDK_Cyrillic_yu)
-  (GDK_Cyrillic_a)
-  (GDK_Cyrillic_be)
-  (GDK_Cyrillic_tse)
-  (GDK_Cyrillic_de)
-  (GDK_Cyrillic_ie)
-  (GDK_Cyrillic_ef)
-  (GDK_Cyrillic_ghe)
-  (GDK_Cyrillic_ha)
-  (GDK_Cyrillic_i)
-  (GDK_Cyrillic_shorti)
-  (GDK_Cyrillic_ka)
-  (GDK_Cyrillic_el)
-  (GDK_Cyrillic_em)
-  (GDK_Cyrillic_en)
-  (GDK_Cyrillic_o)
-  (GDK_Cyrillic_pe)
-  (GDK_Cyrillic_ya)
-  (GDK_Cyrillic_er)
-  (GDK_Cyrillic_es)
-  (GDK_Cyrillic_te)
-  (GDK_Cyrillic_u)
-  (GDK_Cyrillic_zhe)
-  (GDK_Cyrillic_ve)
-  (GDK_Cyrillic_softsign)
-  (GDK_Cyrillic_yeru)
-  (GDK_Cyrillic_ze)
-  (GDK_Cyrillic_sha)
-  (GDK_Cyrillic_e)
-  (GDK_Cyrillic_shcha)
-  (GDK_Cyrillic_che)
-  (GDK_Cyrillic_hardsign)
-  (GDK_Cyrillic_YU)
-  (GDK_Cyrillic_A)
-  (GDK_Cyrillic_BE)
-  (GDK_Cyrillic_TSE)
-  (GDK_Cyrillic_DE)
-  (GDK_Cyrillic_IE)
-  (GDK_Cyrillic_EF)
-  (GDK_Cyrillic_GHE)
-  (GDK_Cyrillic_HA)
-  (GDK_Cyrillic_I)
-  (GDK_Cyrillic_SHORTI)
-  (GDK_Cyrillic_KA)
-  (GDK_Cyrillic_EL)
-  (GDK_Cyrillic_EM)
-  (GDK_Cyrillic_EN)
-  (GDK_Cyrillic_O)
-  (GDK_Cyrillic_PE)
-  (GDK_Cyrillic_YA)
-  (GDK_Cyrillic_ER)
-  (GDK_Cyrillic_ES)
-  (GDK_Cyrillic_TE)
-  (GDK_Cyrillic_U)
-  (GDK_Cyrillic_ZHE)
-  (GDK_Cyrillic_VE)
-  (GDK_Cyrillic_SOFTSIGN)
-  (GDK_Cyrillic_YERU)
-  (GDK_Cyrillic_ZE)
-  (GDK_Cyrillic_SHA)
-  (GDK_Cyrillic_E)
-  (GDK_Cyrillic_SHCHA)
-  (GDK_Cyrillic_CHE)
-  (GDK_Cyrillic_HARDSIGN)
-  (GDK_Greek_ALPHAaccent)
-  (GDK_Greek_EPSILONaccent)
-  (GDK_Greek_ETAaccent)
-  (GDK_Greek_IOTAaccent)
-  (GDK_Greek_IOTAdieresis)
-  (GDK_Greek_IOTAdiaeresis)
-  (GDK_Greek_OMICRONaccent)
-  (GDK_Greek_UPSILONaccent)
-  (GDK_Greek_UPSILONdieresis)
-  (GDK_Greek_OMEGAaccent)
-  (GDK_Greek_accentdieresis)
-  (GDK_Greek_horizbar)
-  (GDK_Greek_alphaaccent)
-  (GDK_Greek_epsilonaccent)
-  (GDK_Greek_etaaccent)
-  (GDK_Greek_iotaaccent)
-  (GDK_Greek_iotadieresis)
-  (GDK_Greek_iotaaccentdieresis)
-  (GDK_Greek_omicronaccent)
-  (GDK_Greek_upsilonaccent)
-  (GDK_Greek_upsilondieresis)
-  (GDK_Greek_upsilonaccentdieresis)
-  (GDK_Greek_omegaaccent)
-  (GDK_Greek_ALPHA)
-  (GDK_Greek_BETA)
-  (GDK_Greek_GAMMA)
-  (GDK_Greek_DELTA)
-  (GDK_Greek_EPSILON)
-  (GDK_Greek_ZETA)
-  (GDK_Greek_ETA)
-  (GDK_Greek_THETA)
-  (GDK_Greek_IOTA)
-  (GDK_Greek_KAPPA)
-  (GDK_Greek_LAMDA)
-  (GDK_Greek_LAMBDA)
-  (GDK_Greek_MU)
-  (GDK_Greek_NU)
-  (GDK_Greek_XI)
-  (GDK_Greek_OMICRON)
-  (GDK_Greek_PI)
-  (GDK_Greek_RHO)
-  (GDK_Greek_SIGMA)
-  (GDK_Greek_TAU)
-  (GDK_Greek_UPSILON)
-  (GDK_Greek_PHI)
-  (GDK_Greek_CHI)
-  (GDK_Greek_PSI)
-  (GDK_Greek_OMEGA)
-  (GDK_Greek_alpha)
-  (GDK_Greek_beta)
-  (GDK_Greek_gamma)
-  (GDK_Greek_delta)
-  (GDK_Greek_epsilon)
-  (GDK_Greek_zeta)
-  (GDK_Greek_eta)
-  (GDK_Greek_theta)
-  (GDK_Greek_iota)
-  (GDK_Greek_kappa)
-  (GDK_Greek_lamda)
-  (GDK_Greek_lambda)
-  (GDK_Greek_mu)
-  (GDK_Greek_nu)
-  (GDK_Greek_xi)
-  (GDK_Greek_omicron)
-  (GDK_Greek_pi)
-  (GDK_Greek_rho)
-  (GDK_Greek_sigma)
-  (GDK_Greek_finalsmallsigma)
-  (GDK_Greek_tau)
-  (GDK_Greek_upsilon)
-  (GDK_Greek_phi)
-  (GDK_Greek_chi)
-  (GDK_Greek_psi)
-  (GDK_Greek_omega)
-  (GDK_Greek_switch)
-  (GDK_leftradical)
-  (GDK_topleftradical)
-  (GDK_horizconnector)
-  (GDK_topintegral)
-  (GDK_botintegral)
-  (GDK_vertconnector)
-  (GDK_topleftsqbracket)
-  (GDK_botleftsqbracket)
-  (GDK_toprightsqbracket)
-  (GDK_botrightsqbracket)
-  (GDK_topleftparens)
-  (GDK_botleftparens)
-  (GDK_toprightparens)
-  (GDK_botrightparens)
-  (GDK_leftmiddlecurlybrace)
-  (GDK_rightmiddlecurlybrace)
-  (GDK_topleftsummation)
-  (GDK_botleftsummation)
-  (GDK_topvertsummationconnector)
-  (GDK_botvertsummationconnector)
-  (GDK_toprightsummation)
-  (GDK_botrightsummation)
-  (GDK_rightmiddlesummation)
-  (GDK_lessthanequal)
-  (GDK_notequal)
-  (GDK_greaterthanequal)
-  (GDK_integral)
-  (GDK_therefore)
-  (GDK_variation)
-  (GDK_infinity)
-  (GDK_nabla)
-  (GDK_approximate)
-  (GDK_similarequal)
-  (GDK_ifonlyif)
-  (GDK_implies)
-  (GDK_identical)
-  (GDK_radical)
-  (GDK_includedin)
-  (GDK_includes)
-  (GDK_intersection)
-  (GDK_union)
-  (GDK_logicaland)
-  (GDK_logicalor)
-  (GDK_partialderivative)
-  (GDK_function)
-  (GDK_leftarrow)
-  (GDK_uparrow)
-  (GDK_rightarrow)
-  (GDK_downarrow)
-  (GDK_blank)
-  (GDK_soliddiamond)
-  (GDK_checkerboard)
-  (GDK_ht)
-  (GDK_ff)
-  (GDK_cr)
-  (GDK_lf)
-  (GDK_nl)
-  (GDK_vt)
-  (GDK_lowrightcorner)
-  (GDK_uprightcorner)
-  (GDK_upleftcorner)
-  (GDK_lowleftcorner)
-  (GDK_crossinglines)
-  (GDK_horizlinescan1)
-  (GDK_horizlinescan3)
-  (GDK_horizlinescan5)
-  (GDK_horizlinescan7)
-  (GDK_horizlinescan9)
-  (GDK_leftt)
-  (GDK_rightt)
-  (GDK_bott)
-  (GDK_topt)
-  (GDK_vertbar)
-  (GDK_emspace)
-  (GDK_enspace)
-  (GDK_em3space)
-  (GDK_em4space)
-  (GDK_digitspace)
-  (GDK_punctspace)
-  (GDK_thinspace)
-  (GDK_hairspace)
-  (GDK_emdash)
-  (GDK_endash)
-  (GDK_signifblank)
-  (GDK_ellipsis)
-  (GDK_doubbaselinedot)
-  (GDK_onethird)
-  (GDK_twothirds)
-  (GDK_onefifth)
-  (GDK_twofifths)
-  (GDK_threefifths)
-  (GDK_fourfifths)
-  (GDK_onesixth)
-  (GDK_fivesixths)
-  (GDK_careof)
-  (GDK_figdash)
-  (GDK_leftanglebracket)
-  (GDK_decimalpoint)
-  (GDK_rightanglebracket)
-  (GDK_marker)
-  (GDK_oneeighth)
-  (GDK_threeeighths)
-  (GDK_fiveeighths)
-  (GDK_seveneighths)
-  (GDK_trademark)
-  (GDK_signaturemark)
-  (GDK_trademarkincircle)
-  (GDK_leftopentriangle)
-  (GDK_rightopentriangle)
-  (GDK_emopencircle)
-  (GDK_emopenrectangle)
-  (GDK_leftsinglequotemark)
-  (GDK_rightsinglequotemark)
-  (GDK_leftdoublequotemark)
-  (GDK_rightdoublequotemark)
-  (GDK_prescription)
-  (GDK_minutes)
-  (GDK_seconds)
-  (GDK_latincross)
-  (GDK_hexagram)
-  (GDK_filledrectbullet)
-  (GDK_filledlefttribullet)
-  (GDK_filledrighttribullet)
-  (GDK_emfilledcircle)
-  (GDK_emfilledrect)
-  (GDK_enopencircbullet)
-  (GDK_enopensquarebullet)
-  (GDK_openrectbullet)
-  (GDK_opentribulletup)
-  (GDK_opentribulletdown)
-  (GDK_openstar)
-  (GDK_enfilledcircbullet)
-  (GDK_enfilledsqbullet)
-  (GDK_filledtribulletup)
-  (GDK_filledtribulletdown)
-  (GDK_leftpointer)
-  (GDK_rightpointer)
-  (GDK_club)
-  (GDK_diamond)
-  (GDK_heart)
-  (GDK_maltesecross)
-  (GDK_dagger)
-  (GDK_doubledagger)
-  (GDK_checkmark)
-  (GDK_ballotcross)
-  (GDK_musicalsharp)
-  (GDK_musicalflat)
-  (GDK_malesymbol)
-  (GDK_femalesymbol)
-  (GDK_telephone)
-  (GDK_telephonerecorder)
-  (GDK_phonographcopyright)
-  (GDK_caret)
-  (GDK_singlelowquotemark)
-  (GDK_doublelowquotemark)
-  (GDK_cursor)
-  (GDK_leftcaret)
-  (GDK_rightcaret)
-  (GDK_downcaret)
-  (GDK_upcaret)
-  (GDK_overbar)
-  (GDK_downtack)
-  (GDK_upshoe)
-  (GDK_downstile)
-  (GDK_underbar)
-  (GDK_jot)
-  (GDK_quad)
-  (GDK_uptack)
-  (GDK_circle)
-  (GDK_upstile)
-  (GDK_downshoe)
-  (GDK_rightshoe)
-  (GDK_leftshoe)
-  (GDK_lefttack)
-  (GDK_righttack)
-  (GDK_hebrew_doublelowline)
-  (GDK_hebrew_aleph)
-  (GDK_hebrew_bet)
-  (GDK_hebrew_beth)
-  (GDK_hebrew_gimel)
-  (GDK_hebrew_gimmel)
-  (GDK_hebrew_dalet)
-  (GDK_hebrew_daleth)
-  (GDK_hebrew_he)
-  (GDK_hebrew_waw)
-  (GDK_hebrew_zain)
-  (GDK_hebrew_zayin)
-  (GDK_hebrew_chet)
-  (GDK_hebrew_het)
-  (GDK_hebrew_tet)
-  (GDK_hebrew_teth)
-  (GDK_hebrew_yod)
-  (GDK_hebrew_finalkaph)
-  (GDK_hebrew_kaph)
-  (GDK_hebrew_lamed)
-  (GDK_hebrew_finalmem)
-  (GDK_hebrew_mem)
-  (GDK_hebrew_finalnun)
-  (GDK_hebrew_nun)
-  (GDK_hebrew_samech)
-  (GDK_hebrew_samekh)
-  (GDK_hebrew_ayin)
-  (GDK_hebrew_finalpe)
-  (GDK_hebrew_pe)
-  (GDK_hebrew_finalzade)
-  (GDK_hebrew_finalzadi)
-  (GDK_hebrew_zade)
-  (GDK_hebrew_zadi)
-  (GDK_hebrew_qoph)
-  (GDK_hebrew_kuf)
-  (GDK_hebrew_resh)
-  (GDK_hebrew_shin)
-  (GDK_hebrew_taw)
-  (GDK_hebrew_taf)
-  (GDK_Hebrew_switch)
-  (GDK_Thai_kokai)
-  (GDK_Thai_khokhai)
-  (GDK_Thai_khokhuat)
-  (GDK_Thai_khokhwai)
-  (GDK_Thai_khokhon)
-  (GDK_Thai_khorakhang)
-  (GDK_Thai_ngongu)
-  (GDK_Thai_chochan)
-  (GDK_Thai_choching)
-  (GDK_Thai_chochang)
-  (GDK_Thai_soso)
-  (GDK_Thai_chochoe)
-  (GDK_Thai_yoying)
-  (GDK_Thai_dochada)
-  (GDK_Thai_topatak)
-  (GDK_Thai_thothan)
-  (GDK_Thai_thonangmontho)
-  (GDK_Thai_thophuthao)
-  (GDK_Thai_nonen)
-  (GDK_Thai_dodek)
-  (GDK_Thai_totao)
-  (GDK_Thai_thothung)
-  (GDK_Thai_thothahan)
-  (GDK_Thai_thothong)
-  (GDK_Thai_nonu)
-  (GDK_Thai_bobaimai)
-  (GDK_Thai_popla)
-  (GDK_Thai_phophung)
-  (GDK_Thai_fofa)
-  (GDK_Thai_phophan)
-  (GDK_Thai_fofan)
-  (GDK_Thai_phosamphao)
-  (GDK_Thai_moma)
-  (GDK_Thai_yoyak)
-  (GDK_Thai_rorua)
-  (GDK_Thai_ru)
-  (GDK_Thai_loling)
-  (GDK_Thai_lu)
-  (GDK_Thai_wowaen)
-  (GDK_Thai_sosala)
-  (GDK_Thai_sorusi)
-  (GDK_Thai_sosua)
-  (GDK_Thai_hohip)
-  (GDK_Thai_lochula)
-  (GDK_Thai_oang)
-  (GDK_Thai_honokhuk)
-  (GDK_Thai_paiyannoi)
-  (GDK_Thai_saraa)
-  (GDK_Thai_maihanakat)
-  (GDK_Thai_saraaa)
-  (GDK_Thai_saraam)
-  (GDK_Thai_sarai)
-  (GDK_Thai_saraii)
-  (GDK_Thai_saraue)
-  (GDK_Thai_sarauee)
-  (GDK_Thai_sarau)
-  (GDK_Thai_sarauu)
-  (GDK_Thai_phinthu)
-  (GDK_Thai_maihanakat_maitho)
-  (GDK_Thai_baht)
-  (GDK_Thai_sarae)
-  (GDK_Thai_saraae)
-  (GDK_Thai_sarao)
-  (GDK_Thai_saraaimaimuan)
-  (GDK_Thai_saraaimaimalai)
-  (GDK_Thai_lakkhangyao)
-  (GDK_Thai_maiyamok)
-  (GDK_Thai_maitaikhu)
-  (GDK_Thai_maiek)
-  (GDK_Thai_maitho)
-  (GDK_Thai_maitri)
-  (GDK_Thai_maichattawa)
-  (GDK_Thai_thanthakhat)
-  (GDK_Thai_nikhahit)
-  (GDK_Thai_leksun)
-  (GDK_Thai_leknung)
-  (GDK_Thai_leksong)
-  (GDK_Thai_leksam)
-  (GDK_Thai_leksi)
-  (GDK_Thai_lekha)
-  (GDK_Thai_lekhok)
-  (GDK_Thai_lekchet)
-  (GDK_Thai_lekpaet)
-  (GDK_Thai_lekkao)
-  (GDK_Hangul)
-  (GDK_Hangul_Start)
-  (GDK_Hangul_End)
-  (GDK_Hangul_Hanja)
-  (GDK_Hangul_Jamo)
-  (GDK_Hangul_Romaja)
-  (GDK_Hangul_Codeinput)
-  (GDK_Hangul_Jeonja)
-  (GDK_Hangul_Banja)
-  (GDK_Hangul_PreHanja)
-  (GDK_Hangul_PostHanja)
-  (GDK_Hangul_SingleCandidate)
-  (GDK_Hangul_MultipleCandidate)
-  (GDK_Hangul_PreviousCandidate)
-  (GDK_Hangul_Special)
-  (GDK_Hangul_switch)
-  (GDK_Hangul_Kiyeog)
-  (GDK_Hangul_SsangKiyeog)
-  (GDK_Hangul_KiyeogSios)
-  (GDK_Hangul_Nieun)
-  (GDK_Hangul_NieunJieuj)
-  (GDK_Hangul_NieunHieuh)
-  (GDK_Hangul_Dikeud)
-  (GDK_Hangul_SsangDikeud)
-  (GDK_Hangul_Rieul)
-  (GDK_Hangul_RieulKiyeog)
-  (GDK_Hangul_RieulMieum)
-  (GDK_Hangul_RieulPieub)
-  (GDK_Hangul_RieulSios)
-  (GDK_Hangul_RieulTieut)
-  (GDK_Hangul_RieulPhieuf)
-  (GDK_Hangul_RieulHieuh)
-  (GDK_Hangul_Mieum)
-  (GDK_Hangul_Pieub)
-  (GDK_Hangul_SsangPieub)
-  (GDK_Hangul_PieubSios)
-  (GDK_Hangul_Sios)
-  (GDK_Hangul_SsangSios)
-  (GDK_Hangul_Ieung)
-  (GDK_Hangul_Jieuj)
-  (GDK_Hangul_SsangJieuj)
-  (GDK_Hangul_Cieuc)
-  (GDK_Hangul_Khieuq)
-  (GDK_Hangul_Tieut)
-  (GDK_Hangul_Phieuf)
-  (GDK_Hangul_Hieuh)
-  (GDK_Hangul_A)
-  (GDK_Hangul_AE)
-  (GDK_Hangul_YA)
-  (GDK_Hangul_YAE)
-  (GDK_Hangul_EO)
-  (GDK_Hangul_E)
-  (GDK_Hangul_YEO)
-  (GDK_Hangul_YE)
-  (GDK_Hangul_O)
-  (GDK_Hangul_WA)
-  (GDK_Hangul_WAE)
-  (GDK_Hangul_OE)
-  (GDK_Hangul_YO)
-  (GDK_Hangul_U)
-  (GDK_Hangul_WEO)
-  (GDK_Hangul_WE)
-  (GDK_Hangul_WI)
-  (GDK_Hangul_YU)
-  (GDK_Hangul_EU)
-  (GDK_Hangul_YI)
-  (GDK_Hangul_I)
-  (GDK_Hangul_J_Kiyeog)
-  (GDK_Hangul_J_SsangKiyeog)
-  (GDK_Hangul_J_KiyeogSios)
-  (GDK_Hangul_J_Nieun)
-  (GDK_Hangul_J_NieunJieuj)
-  (GDK_Hangul_J_NieunHieuh)
-  (GDK_Hangul_J_Dikeud)
-  (GDK_Hangul_J_Rieul)
-  (GDK_Hangul_J_RieulKiyeog)
-  (GDK_Hangul_J_RieulMieum)
-  (GDK_Hangul_J_RieulPieub)
-  (GDK_Hangul_J_RieulSios)
-  (GDK_Hangul_J_RieulTieut)
-  (GDK_Hangul_J_RieulPhieuf)
-  (GDK_Hangul_J_RieulHieuh)
-  (GDK_Hangul_J_Mieum)
-  (GDK_Hangul_J_Pieub)
-  (GDK_Hangul_J_PieubSios)
-  (GDK_Hangul_J_Sios)
-  (GDK_Hangul_J_SsangSios)
-  (GDK_Hangul_J_Ieung)
-  (GDK_Hangul_J_Jieuj)
-  (GDK_Hangul_J_Cieuc)
-  (GDK_Hangul_J_Khieuq)
-  (GDK_Hangul_J_Tieut)
-  (GDK_Hangul_J_Phieuf)
-  (GDK_Hangul_J_Hieuh)
-  (GDK_Hangul_RieulYeorinHieuh)
-  (GDK_Hangul_SunkyeongeumMieum)
-  (GDK_Hangul_SunkyeongeumPieub)
-  (GDK_Hangul_PanSios)
-  (GDK_Hangul_KkogjiDalrinIeung)
-  (GDK_Hangul_SunkyeongeumPhieuf)
-  (GDK_Hangul_YeorinHieuh)
-  (GDK_Hangul_AraeA)
-  (GDK_Hangul_AraeAE)
-  (GDK_Hangul_J_PanSios)
-  (GDK_Hangul_J_KkogjiDalrinIeung)
-  (GDK_Hangul_J_YeorinHieuh)
-  (GDK_Korean_Won)
-  (GDK_Armenian_ligature_ew)
-  (GDK_Armenian_full_stop)
-  (GDK_Armenian_verjaket)
-  (GDK_Armenian_separation_mark)
-  (GDK_Armenian_but)
-  (GDK_Armenian_hyphen)
-  (GDK_Armenian_yentamna)
-  (GDK_Armenian_exclam)
-  (GDK_Armenian_amanak)
-  (GDK_Armenian_accent)
-  (GDK_Armenian_shesht)
-  (GDK_Armenian_question)
-  (GDK_Armenian_paruyk)
-  (GDK_Armenian_AYB)
-  (GDK_Armenian_ayb)
-  (GDK_Armenian_BEN)
-  (GDK_Armenian_ben)
-  (GDK_Armenian_GIM)
-  (GDK_Armenian_gim)
-  (GDK_Armenian_DA)
-  (GDK_Armenian_da)
-  (GDK_Armenian_YECH)
-  (GDK_Armenian_yech)
-  (GDK_Armenian_ZA)
-  (GDK_Armenian_za)
-  (GDK_Armenian_E)
-  (GDK_Armenian_e)
-  (GDK_Armenian_AT)
-  (GDK_Armenian_at)
-  (GDK_Armenian_TO)
-  (GDK_Armenian_to)
-  (GDK_Armenian_ZHE)
-  (GDK_Armenian_zhe)
-  (GDK_Armenian_INI)
-  (GDK_Armenian_ini)
-  (GDK_Armenian_LYUN)
-  (GDK_Armenian_lyun)
-  (GDK_Armenian_KHE)
-  (GDK_Armenian_khe)
-  (GDK_Armenian_TSA)
-  (GDK_Armenian_tsa)
-  (GDK_Armenian_KEN)
-  (GDK_Armenian_ken)
-  (GDK_Armenian_HO)
-  (GDK_Armenian_ho)
-  (GDK_Armenian_DZA)
-  (GDK_Armenian_dza)
-  (GDK_Armenian_GHAT)
-  (GDK_Armenian_ghat)
-  (GDK_Armenian_TCHE)
-  (GDK_Armenian_tche)
-  (GDK_Armenian_MEN)
-  (GDK_Armenian_men)
-  (GDK_Armenian_HI)
-  (GDK_Armenian_hi)
-  (GDK_Armenian_NU)
-  (GDK_Armenian_nu)
-  (GDK_Armenian_SHA)
-  (GDK_Armenian_sha)
-  (GDK_Armenian_VO)
-  (GDK_Armenian_vo)
-  (GDK_Armenian_CHA)
-  (GDK_Armenian_cha)
-  (GDK_Armenian_PE)
-  (GDK_Armenian_pe)
-  (GDK_Armenian_JE)
-  (GDK_Armenian_je)
-  (GDK_Armenian_RA)
-  (GDK_Armenian_ra)
-  (GDK_Armenian_SE)
-  (GDK_Armenian_se)
-  (GDK_Armenian_VEV)
-  (GDK_Armenian_vev)
-  (GDK_Armenian_TYUN)
-  (GDK_Armenian_tyun)
-  (GDK_Armenian_RE)
-  (GDK_Armenian_re)
-  (GDK_Armenian_TSO)
-  (GDK_Armenian_tso)
-  (GDK_Armenian_VYUN)
-  (GDK_Armenian_vyun)
-  (GDK_Armenian_PYUR)
-  (GDK_Armenian_pyur)
-  (GDK_Armenian_KE)
-  (GDK_Armenian_ke)
-  (GDK_Armenian_O)
-  (GDK_Armenian_o)
-  (GDK_Armenian_FE)
-  (GDK_Armenian_fe)
-  (GDK_Armenian_apostrophe)
-  (GDK_Georgian_an)
-  (GDK_Georgian_ban)
-  (GDK_Georgian_gan)
-  (GDK_Georgian_don)
-  (GDK_Georgian_en)
-  (GDK_Georgian_vin)
-  (GDK_Georgian_zen)
-  (GDK_Georgian_tan)
-  (GDK_Georgian_in)
-  (GDK_Georgian_kan)
-  (GDK_Georgian_las)
-  (GDK_Georgian_man)
-  (GDK_Georgian_nar)
-  (GDK_Georgian_on)
-  (GDK_Georgian_par)
-  (GDK_Georgian_zhar)
-  (GDK_Georgian_rae)
-  (GDK_Georgian_san)
-  (GDK_Georgian_tar)
-  (GDK_Georgian_un)
-  (GDK_Georgian_phar)
-  (GDK_Georgian_khar)
-  (GDK_Georgian_ghan)
-  (GDK_Georgian_qar)
-  (GDK_Georgian_shin)
-  (GDK_Georgian_chin)
-  (GDK_Georgian_can)
-  (GDK_Georgian_jil)
-  (GDK_Georgian_cil)
-  (GDK_Georgian_char)
-  (GDK_Georgian_xan)
-  (GDK_Georgian_jhan)
-  (GDK_Georgian_hae)
-  (GDK_Georgian_he)
-  (GDK_Georgian_hie)
-  (GDK_Georgian_we)
-  (GDK_Georgian_har)
-  (GDK_Georgian_hoe)
-  (GDK_Georgian_fi)
-  (GDK_Xabovedot)
-  (GDK_Ibreve)
-  (GDK_Zstroke)
-  (GDK_Gcaron)
-  (GDK_Ocaron)
-  (GDK_Obarred)
-  (GDK_xabovedot)
-  (GDK_ibreve)
-  (GDK_zstroke)
-  (GDK_gcaron)
-  (GDK_ocaron)
-  (GDK_obarred)
-  (GDK_SCHWA)
-  (GDK_schwa)
-  (GDK_Lbelowdot)
-  (GDK_lbelowdot)
-  (GDK_Abelowdot)
-  (GDK_abelowdot)
-  (GDK_Ahook)
-  (GDK_ahook)
-  (GDK_Acircumflexacute)
-  (GDK_acircumflexacute)
-  (GDK_Acircumflexgrave)
-  (GDK_acircumflexgrave)
-  (GDK_Acircumflexhook)
-  (GDK_acircumflexhook)
-  (GDK_Acircumflextilde)
-  (GDK_acircumflextilde)
-  (GDK_Acircumflexbelowdot)
-  (GDK_acircumflexbelowdot)
-  (GDK_Abreveacute)
-  (GDK_abreveacute)
-  (GDK_Abrevegrave)
-  (GDK_abrevegrave)
-  (GDK_Abrevehook)
-  (GDK_abrevehook)
-  (GDK_Abrevetilde)
-  (GDK_abrevetilde)
-  (GDK_Abrevebelowdot)
-  (GDK_abrevebelowdot)
-  (GDK_Ebelowdot)
-  (GDK_ebelowdot)
-  (GDK_Ehook)
-  (GDK_ehook)
-  (GDK_Etilde)
-  (GDK_etilde)
-  (GDK_Ecircumflexacute)
-  (GDK_ecircumflexacute)
-  (GDK_Ecircumflexgrave)
-  (GDK_ecircumflexgrave)
-  (GDK_Ecircumflexhook)
-  (GDK_ecircumflexhook)
-  (GDK_Ecircumflextilde)
-  (GDK_ecircumflextilde)
-  (GDK_Ecircumflexbelowdot)
-  (GDK_ecircumflexbelowdot)
-  (GDK_Ihook)
-  (GDK_ihook)
-  (GDK_Ibelowdot)
-  (GDK_ibelowdot)
-  (GDK_Obelowdot)
-  (GDK_obelowdot)
-  (GDK_Ohook)
-  (GDK_ohook)
-  (GDK_Ocircumflexacute)
-  (GDK_ocircumflexacute)
-  (GDK_Ocircumflexgrave)
-  (GDK_ocircumflexgrave)
-  (GDK_Ocircumflexhook)
-  (GDK_ocircumflexhook)
-  (GDK_Ocircumflextilde)
-  (GDK_ocircumflextilde)
-  (GDK_Ocircumflexbelowdot)
-  (GDK_ocircumflexbelowdot)
-  (GDK_Ohornacute)
-  (GDK_ohornacute)
-  (GDK_Ohorngrave)
-  (GDK_ohorngrave)
-  (GDK_Ohornhook)
-  (GDK_ohornhook)
-  (GDK_Ohorntilde)
-  (GDK_ohorntilde)
-  (GDK_Ohornbelowdot)
-  (GDK_ohornbelowdot)
-  (GDK_Ubelowdot)
-  (GDK_ubelowdot)
-  (GDK_Uhook)
-  (GDK_uhook)
-  (GDK_Uhornacute)
-  (GDK_uhornacute)
-  (GDK_Uhorngrave)
-  (GDK_uhorngrave)
-  (GDK_Uhornhook)
-  (GDK_uhornhook)
-  (GDK_Uhorntilde)
-  (GDK_uhorntilde)
-  (GDK_Uhornbelowdot)
-  (GDK_uhornbelowdot)
-  (GDK_Ybelowdot)
-  (GDK_ybelowdot)
-  (GDK_Yhook)
-  (GDK_yhook)
-  (GDK_Ytilde)
-  (GDK_ytilde)
-  (GDK_Ohorn)
-  (GDK_ohorn)
-  (GDK_Uhorn)
-  (GDK_uhorn)
-  (GDK_EcuSign)
-  (GDK_ColonSign)
-  (GDK_CruzeiroSign)
-  (GDK_FFrancSign)
-  (GDK_LiraSign)
-  (GDK_MillSign)
-  (GDK_NairaSign)
-  (GDK_PesetaSign)
-  (GDK_RupeeSign)
-  (GDK_WonSign)
-  (GDK_NewSheqelSign)
-  (GDK_DongSign)
-  (GDK_EuroSign)
-  (GDK_zerosuperior)
-  (GDK_foursuperior)
-  (GDK_fivesuperior)
-  (GDK_sixsuperior)
-  (GDK_sevensuperior)
-  (GDK_eightsuperior)
-  (GDK_ninesuperior)
-  (GDK_zerosubscript)
-  (GDK_onesubscript)
-  (GDK_twosubscript)
-  (GDK_threesubscript)
-  (GDK_foursubscript)
-  (GDK_fivesubscript)
-  (GDK_sixsubscript)
-  (GDK_sevensubscript)
-  (GDK_eightsubscript)
-  (GDK_ninesubscript)
-  (GDK_partdifferential)
-  (GDK_emptyset)
-  (GDK_elementof)
-  (GDK_notelementof)
-  (GDK_containsas)
-  (GDK_squareroot)
-  (GDK_cuberoot)
-  (GDK_fourthroot)
-  (GDK_dintegral)
-  (GDK_tintegral)
-  (GDK_because)
-  (GDK_approxeq)
-  (GDK_notapproxeq)
-  (GDK_notidentical)
-  (GDK_stricteq))
\ No newline at end of file
+  (GDK_KEY_VoidSymbol)
+  (GDK_KEY_BackSpace)
+  (GDK_KEY_Tab)
+  (GDK_KEY_Linefeed)
+  (GDK_KEY_Clear)
+  (GDK_KEY_Return)
+  (GDK_KEY_Pause)
+  (GDK_KEY_Scroll_Lock)
+  (GDK_KEY_Sys_Req)
+  (GDK_KEY_Escape)
+  (GDK_KEY_Delete)
+  (GDK_KEY_Multi_key)
+  (GDK_KEY_Codeinput)
+  (GDK_KEY_SingleCandidate)
+  (GDK_KEY_MultipleCandidate)
+  (GDK_KEY_PreviousCandidate)
+  (GDK_KEY_Kanji)
+  (GDK_KEY_Muhenkan)
+  (GDK_KEY_Henkan_Mode)
+  (GDK_KEY_Henkan)
+  (GDK_KEY_Romaji)
+  (GDK_KEY_Hiragana)
+  (GDK_KEY_Katakana)
+  (GDK_KEY_Hiragana_Katakana)
+  (GDK_KEY_Zenkaku)
+  (GDK_KEY_Hankaku)
+  (GDK_KEY_Zenkaku_Hankaku)
+  (GDK_KEY_Touroku)
+  (GDK_KEY_Massyo)
+  (GDK_KEY_Kana_Lock)
+  (GDK_KEY_Kana_Shift)
+  (GDK_KEY_Eisu_Shift)
+  (GDK_KEY_Eisu_toggle)
+  (GDK_KEY_Kanji_Bangou)
+  (GDK_KEY_Zen_Koho)
+  (GDK_KEY_Mae_Koho)
+  (GDK_KEY_Home)
+  (GDK_KEY_Left)
+  (GDK_KEY_Up)
+  (GDK_KEY_Right)
+  (GDK_KEY_Down)
+  (GDK_KEY_Prior)
+  (GDK_KEY_Page_Up)
+  (GDK_KEY_Next)
+  (GDK_KEY_Page_Down)
+  (GDK_KEY_End)
+  (GDK_KEY_Begin)
+  (GDK_KEY_Select)
+  (GDK_KEY_Print)
+  (GDK_KEY_Execute)
+  (GDK_KEY_Insert)
+  (GDK_KEY_Undo)
+  (GDK_KEY_Redo)
+  (GDK_KEY_Menu)
+  (GDK_KEY_Find)
+  (GDK_KEY_Cancel)
+  (GDK_KEY_Help)
+  (GDK_KEY_Break)
+  (GDK_KEY_Mode_switch)
+  (GDK_KEY_script_switch)
+  (GDK_KEY_Num_Lock)
+  (GDK_KEY_KP_Space)
+  (GDK_KEY_KP_Tab)
+  (GDK_KEY_KP_Enter)
+  (GDK_KEY_KP_F1)
+  (GDK_KEY_KP_F2)
+  (GDK_KEY_KP_F3)
+  (GDK_KEY_KP_F4)
+  (GDK_KEY_KP_Home)
+  (GDK_KEY_KP_Left)
+  (GDK_KEY_KP_Up)
+  (GDK_KEY_KP_Right)
+  (GDK_KEY_KP_Down)
+  (GDK_KEY_KP_Prior)
+  (GDK_KEY_KP_Page_Up)
+  (GDK_KEY_KP_Next)
+  (GDK_KEY_KP_Page_Down)
+  (GDK_KEY_KP_End)
+  (GDK_KEY_KP_Begin)
+  (GDK_KEY_KP_Insert)
+  (GDK_KEY_KP_Delete)
+  (GDK_KEY_KP_Equal)
+  (GDK_KEY_KP_Multiply)
+  (GDK_KEY_KP_Add)
+  (GDK_KEY_KP_Separator)
+  (GDK_KEY_KP_Subtract)
+  (GDK_KEY_KP_Decimal)
+  (GDK_KEY_KP_Divide)
+  (GDK_KEY_KP_0)
+  (GDK_KEY_KP_1)
+  (GDK_KEY_KP_2)
+  (GDK_KEY_KP_3)
+  (GDK_KEY_KP_4)
+  (GDK_KEY_KP_5)
+  (GDK_KEY_KP_6)
+  (GDK_KEY_KP_7)
+  (GDK_KEY_KP_8)
+  (GDK_KEY_KP_9)
+  (GDK_KEY_F1)
+  (GDK_KEY_F2)
+  (GDK_KEY_F3)
+  (GDK_KEY_F4)
+  (GDK_KEY_F5)
+  (GDK_KEY_F6)
+  (GDK_KEY_F7)
+  (GDK_KEY_F8)
+  (GDK_KEY_F9)
+  (GDK_KEY_F10)
+  (GDK_KEY_F11)
+  (GDK_KEY_L1)
+  (GDK_KEY_F12)
+  (GDK_KEY_L2)
+  (GDK_KEY_F13)
+  (GDK_KEY_L3)
+  (GDK_KEY_F14)
+  (GDK_KEY_L4)
+  (GDK_KEY_F15)
+  (GDK_KEY_L5)
+  (GDK_KEY_F16)
+  (GDK_KEY_L6)
+  (GDK_KEY_F17)
+  (GDK_KEY_L7)
+  (GDK_KEY_F18)
+  (GDK_KEY_L8)
+  (GDK_KEY_F19)
+  (GDK_KEY_L9)
+  (GDK_KEY_F20)
+  (GDK_KEY_L10)
+  (GDK_KEY_F21)
+  (GDK_KEY_R1)
+  (GDK_KEY_F22)
+  (GDK_KEY_R2)
+  (GDK_KEY_F23)
+  (GDK_KEY_R3)
+  (GDK_KEY_F24)
+  (GDK_KEY_R4)
+  (GDK_KEY_F25)
+  (GDK_KEY_R5)
+  (GDK_KEY_F26)
+  (GDK_KEY_R6)
+  (GDK_KEY_F27)
+  (GDK_KEY_R7)
+  (GDK_KEY_F28)
+  (GDK_KEY_R8)
+  (GDK_KEY_F29)
+  (GDK_KEY_R9)
+  (GDK_KEY_F30)
+  (GDK_KEY_R10)
+  (GDK_KEY_F31)
+  (GDK_KEY_R11)
+  (GDK_KEY_F32)
+  (GDK_KEY_R12)
+  (GDK_KEY_F33)
+  (GDK_KEY_R13)
+  (GDK_KEY_F34)
+  (GDK_KEY_R14)
+  (GDK_KEY_F35)
+  (GDK_KEY_R15)
+  (GDK_KEY_Shift_L)
+  (GDK_KEY_Shift_R)
+  (GDK_KEY_Control_L)
+  (GDK_KEY_Control_R)
+  (GDK_KEY_Caps_Lock)
+  (GDK_KEY_Shift_Lock)
+  (GDK_KEY_Meta_L)
+  (GDK_KEY_Meta_R)
+  (GDK_KEY_Alt_L)
+  (GDK_KEY_Alt_R)
+  (GDK_KEY_Super_L)
+  (GDK_KEY_Super_R)
+  (GDK_KEY_Hyper_L)
+  (GDK_KEY_Hyper_R)
+  (GDK_KEY_ISO_Lock)
+  (GDK_KEY_ISO_Level2_Latch)
+  (GDK_KEY_ISO_Level3_Shift)
+  (GDK_KEY_ISO_Level3_Latch)
+  (GDK_KEY_ISO_Level3_Lock)
+  (GDK_KEY_ISO_Group_Shift)
+  (GDK_KEY_ISO_Group_Latch)
+  (GDK_KEY_ISO_Group_Lock)
+  (GDK_KEY_ISO_Next_Group)
+  (GDK_KEY_ISO_Next_Group_Lock)
+  (GDK_KEY_ISO_Prev_Group)
+  (GDK_KEY_ISO_Prev_Group_Lock)
+  (GDK_KEY_ISO_First_Group)
+  (GDK_KEY_ISO_First_Group_Lock)
+  (GDK_KEY_ISO_Last_Group)
+  (GDK_KEY_ISO_Last_Group_Lock)
+  (GDK_KEY_ISO_Left_Tab)
+  (GDK_KEY_ISO_Move_Line_Up)
+  (GDK_KEY_ISO_Move_Line_Down)
+  (GDK_KEY_ISO_Partial_Line_Up)
+  (GDK_KEY_ISO_Partial_Line_Down)
+  (GDK_KEY_ISO_Partial_Space_Left)
+  (GDK_KEY_ISO_Partial_Space_Right)
+  (GDK_KEY_ISO_Set_Margin_Left)
+  (GDK_KEY_ISO_Set_Margin_Right)
+  (GDK_KEY_ISO_Release_Margin_Left)
+  (GDK_KEY_ISO_Release_Margin_Right)
+  (GDK_KEY_ISO_Release_Both_Margins)
+  (GDK_KEY_ISO_Fast_Cursor_Left)
+  (GDK_KEY_ISO_Fast_Cursor_Right)
+  (GDK_KEY_ISO_Fast_Cursor_Up)
+  (GDK_KEY_ISO_Fast_Cursor_Down)
+  (GDK_KEY_ISO_Continuous_Underline)
+  (GDK_KEY_ISO_Discontinuous_Underline)
+  (GDK_KEY_ISO_Emphasize)
+  (GDK_KEY_ISO_Center_Object)
+  (GDK_KEY_ISO_Enter)
+  (GDK_KEY_dead_grave)
+  (GDK_KEY_dead_acute)
+  (GDK_KEY_dead_circumflex)
+  (GDK_KEY_dead_tilde)
+  (GDK_KEY_dead_macron)
+  (GDK_KEY_dead_breve)
+  (GDK_KEY_dead_abovedot)
+  (GDK_KEY_dead_diaeresis)
+  (GDK_KEY_dead_abovering)
+  (GDK_KEY_dead_doubleacute)
+  (GDK_KEY_dead_caron)
+  (GDK_KEY_dead_cedilla)
+  (GDK_KEY_dead_ogonek)
+  (GDK_KEY_dead_iota)
+  (GDK_KEY_dead_voiced_sound)
+  (GDK_KEY_dead_semivoiced_sound)
+  (GDK_KEY_dead_belowdot)
+  (GDK_KEY_dead_hook)
+  (GDK_KEY_dead_horn)
+  (GDK_KEY_First_Virtual_Screen)
+  (GDK_KEY_Prev_Virtual_Screen)
+  (GDK_KEY_Next_Virtual_Screen)
+  (GDK_KEY_Last_Virtual_Screen)
+  (GDK_KEY_Terminate_Server)
+  (GDK_KEY_AccessX_Enable)
+  (GDK_KEY_AccessX_Feedback_Enable)
+  (GDK_KEY_RepeatKeys_Enable)
+  (GDK_KEY_SlowKeys_Enable)
+  (GDK_KEY_BounceKeys_Enable)
+  (GDK_KEY_StickyKeys_Enable)
+  (GDK_KEY_MouseKeys_Enable)
+  (GDK_KEY_MouseKeys_Accel_Enable)
+  (GDK_KEY_Overlay1_Enable)
+  (GDK_KEY_Overlay2_Enable)
+  (GDK_KEY_AudibleBell_Enable)
+  (GDK_KEY_Pointer_Left)
+  (GDK_KEY_Pointer_Right)
+  (GDK_KEY_Pointer_Up)
+  (GDK_KEY_Pointer_Down)
+  (GDK_KEY_Pointer_UpLeft)
+  (GDK_KEY_Pointer_UpRight)
+  (GDK_KEY_Pointer_DownLeft)
+  (GDK_KEY_Pointer_DownRight)
+  (GDK_KEY_Pointer_Button_Dflt)
+  (GDK_KEY_Pointer_Button1)
+  (GDK_KEY_Pointer_Button2)
+  (GDK_KEY_Pointer_Button3)
+  (GDK_KEY_Pointer_Button4)
+  (GDK_KEY_Pointer_Button5)
+  (GDK_KEY_Pointer_DblClick_Dflt)
+  (GDK_KEY_Pointer_DblClick1)
+  (GDK_KEY_Pointer_DblClick2)
+  (GDK_KEY_Pointer_DblClick3)
+  (GDK_KEY_Pointer_DblClick4)
+  (GDK_KEY_Pointer_DblClick5)
+  (GDK_KEY_Pointer_Drag_Dflt)
+  (GDK_KEY_Pointer_Drag1)
+  (GDK_KEY_Pointer_Drag2)
+  (GDK_KEY_Pointer_Drag3)
+  (GDK_KEY_Pointer_Drag4)
+  (GDK_KEY_Pointer_Drag5)
+  (GDK_KEY_Pointer_EnableKeys)
+  (GDK_KEY_Pointer_Accelerate)
+  (GDK_KEY_Pointer_DfltBtnNext)
+  (GDK_KEY_Pointer_DfltBtnPrev)
+  (GDK_KEY_3270_Duplicate)
+  (GDK_KEY_3270_FieldMark)
+  (GDK_KEY_3270_Right2)
+  (GDK_KEY_3270_Left2)
+  (GDK_KEY_3270_BackTab)
+  (GDK_KEY_3270_EraseEOF)
+  (GDK_KEY_3270_EraseInput)
+  (GDK_KEY_3270_Reset)
+  (GDK_KEY_3270_Quit)
+  (GDK_KEY_3270_PA1)
+  (GDK_KEY_3270_PA2)
+  (GDK_KEY_3270_PA3)
+  (GDK_KEY_3270_Test)
+  (GDK_KEY_3270_Attn)
+  (GDK_KEY_3270_CursorBlink)
+  (GDK_KEY_3270_AltCursor)
+  (GDK_KEY_3270_KeyClick)
+  (GDK_KEY_3270_Jump)
+  (GDK_KEY_3270_Ident)
+  (GDK_KEY_3270_Rule)
+  (GDK_KEY_3270_Copy)
+  (GDK_KEY_3270_Play)
+  (GDK_KEY_3270_Setup)
+  (GDK_KEY_3270_Record)
+  (GDK_KEY_3270_ChangeScreen)
+  (GDK_KEY_3270_DeleteWord)
+  (GDK_KEY_3270_ExSelect)
+  (GDK_KEY_3270_CursorSelect)
+  (GDK_KEY_3270_PrintScreen)
+  (GDK_KEY_3270_Enter)
+  (GDK_KEY_space)
+  (GDK_KEY_exclam)
+  (GDK_KEY_quotedbl)
+  (GDK_KEY_numbersign)
+  (GDK_KEY_dollar)
+  (GDK_KEY_percent)
+  (GDK_KEY_ampersand)
+  (GDK_KEY_apostrophe)
+  (GDK_KEY_quoteright)
+  (GDK_KEY_parenleft)
+  (GDK_KEY_parenright)
+  (GDK_KEY_asterisk)
+  (GDK_KEY_plus)
+  (GDK_KEY_comma)
+  (GDK_KEY_minus)
+  (GDK_KEY_period)
+  (GDK_KEY_slash)
+  (GDK_KEY_0)
+  (GDK_KEY_1)
+  (GDK_KEY_2)
+  (GDK_KEY_3)
+  (GDK_KEY_4)
+  (GDK_KEY_5)
+  (GDK_KEY_6)
+  (GDK_KEY_7)
+  (GDK_KEY_8)
+  (GDK_KEY_9)
+  (GDK_KEY_colon)
+  (GDK_KEY_semicolon)
+  (GDK_KEY_less)
+  (GDK_KEY_equal)
+  (GDK_KEY_greater)
+  (GDK_KEY_question)
+  (GDK_KEY_at)
+  (GDK_KEY_A)
+  (GDK_KEY_B)
+  (GDK_KEY_C)
+  (GDK_KEY_D)
+  (GDK_KEY_E)
+  (GDK_KEY_F)
+  (GDK_KEY_G)
+  (GDK_KEY_H)
+  (GDK_KEY_I)
+  (GDK_KEY_J)
+  (GDK_KEY_K)
+  (GDK_KEY_L)
+  (GDK_KEY_M)
+  (GDK_KEY_N)
+  (GDK_KEY_O)
+  (GDK_KEY_P)
+  (GDK_KEY_Q)
+  (GDK_KEY_R)
+  (GDK_KEY_S)
+  (GDK_KEY_T)
+  (GDK_KEY_U)
+  (GDK_KEY_V)
+  (GDK_KEY_W)
+  (GDK_KEY_X)
+  (GDK_KEY_Y)
+  (GDK_KEY_Z)
+  (GDK_KEY_bracketleft)
+  (GDK_KEY_backslash)
+  (GDK_KEY_bracketright)
+  (GDK_KEY_asciicircum)
+  (GDK_KEY_underscore)
+  (GDK_KEY_grave)
+  (GDK_KEY_quoteleft)
+  (GDK_KEY_a)
+  (GDK_KEY_b)
+  (GDK_KEY_c)
+  (GDK_KEY_d)
+  (GDK_KEY_e)
+  (GDK_KEY_f)
+  (GDK_KEY_g)
+  (GDK_KEY_h)
+  (GDK_KEY_i)
+  (GDK_KEY_j)
+  (GDK_KEY_k)
+  (GDK_KEY_l)
+  (GDK_KEY_m)
+  (GDK_KEY_n)
+  (GDK_KEY_o)
+  (GDK_KEY_p)
+  (GDK_KEY_q)
+  (GDK_KEY_r)
+  (GDK_KEY_s)
+  (GDK_KEY_t)
+  (GDK_KEY_u)
+  (GDK_KEY_v)
+  (GDK_KEY_w)
+  (GDK_KEY_x)
+  (GDK_KEY_y)
+  (GDK_KEY_z)
+  (GDK_KEY_braceleft)
+  (GDK_KEY_bar)
+  (GDK_KEY_braceright)
+  (GDK_KEY_asciitilde)
+  (GDK_KEY_nobreakspace)
+  (GDK_KEY_exclamdown)
+  (GDK_KEY_cent)
+  (GDK_KEY_sterling)
+  (GDK_KEY_currency)
+  (GDK_KEY_yen)
+  (GDK_KEY_brokenbar)
+  (GDK_KEY_section)
+  (GDK_KEY_diaeresis)
+  (GDK_KEY_copyright)
+  (GDK_KEY_ordfeminine)
+  (GDK_KEY_guillemotleft)
+  (GDK_KEY_notsign)
+  (GDK_KEY_hyphen)
+  (GDK_KEY_registered)
+  (GDK_KEY_macron)
+  (GDK_KEY_degree)
+  (GDK_KEY_plusminus)
+  (GDK_KEY_twosuperior)
+  (GDK_KEY_threesuperior)
+  (GDK_KEY_acute)
+  (GDK_KEY_mu)
+  (GDK_KEY_paragraph)
+  (GDK_KEY_periodcentered)
+  (GDK_KEY_cedilla)
+  (GDK_KEY_onesuperior)
+  (GDK_KEY_masculine)
+  (GDK_KEY_guillemotright)
+  (GDK_KEY_onequarter)
+  (GDK_KEY_onehalf)
+  (GDK_KEY_threequarters)
+  (GDK_KEY_questiondown)
+  (GDK_KEY_Agrave)
+  (GDK_KEY_Aacute)
+  (GDK_KEY_Acircumflex)
+  (GDK_KEY_Atilde)
+  (GDK_KEY_Adiaeresis)
+  (GDK_KEY_Aring)
+  (GDK_KEY_AE)
+  (GDK_KEY_Ccedilla)
+  (GDK_KEY_Egrave)
+  (GDK_KEY_Eacute)
+  (GDK_KEY_Ecircumflex)
+  (GDK_KEY_Ediaeresis)
+  (GDK_KEY_Igrave)
+  (GDK_KEY_Iacute)
+  (GDK_KEY_Icircumflex)
+  (GDK_KEY_Idiaeresis)
+  (GDK_KEY_ETH)
+  (GDK_KEY_Eth)
+  (GDK_KEY_Ntilde)
+  (GDK_KEY_Ograve)
+  (GDK_KEY_Oacute)
+  (GDK_KEY_Ocircumflex)
+  (GDK_KEY_Otilde)
+  (GDK_KEY_Odiaeresis)
+  (GDK_KEY_multiply)
+  (GDK_KEY_Oslash)
+  (GDK_KEY_Ooblique)
+  (GDK_KEY_Ugrave)
+  (GDK_KEY_Uacute)
+  (GDK_KEY_Ucircumflex)
+  (GDK_KEY_Udiaeresis)
+  (GDK_KEY_Yacute)
+  (GDK_KEY_THORN)
+  (GDK_KEY_Thorn)
+  (GDK_KEY_ssharp)
+  (GDK_KEY_agrave)
+  (GDK_KEY_aacute)
+  (GDK_KEY_acircumflex)
+  (GDK_KEY_atilde)
+  (GDK_KEY_adiaeresis)
+  (GDK_KEY_aring)
+  (GDK_KEY_ae)
+  (GDK_KEY_ccedilla)
+  (GDK_KEY_egrave)
+  (GDK_KEY_eacute)
+  (GDK_KEY_ecircumflex)
+  (GDK_KEY_ediaeresis)
+  (GDK_KEY_igrave)
+  (GDK_KEY_iacute)
+  (GDK_KEY_icircumflex)
+  (GDK_KEY_idiaeresis)
+  (GDK_KEY_eth)
+  (GDK_KEY_ntilde)
+  (GDK_KEY_ograve)
+  (GDK_KEY_oacute)
+  (GDK_KEY_ocircumflex)
+  (GDK_KEY_otilde)
+  (GDK_KEY_odiaeresis)
+  (GDK_KEY_division)
+  (GDK_KEY_oslash)
+  (GDK_KEY_ooblique)
+  (GDK_KEY_ugrave)
+  (GDK_KEY_uacute)
+  (GDK_KEY_ucircumflex)
+  (GDK_KEY_udiaeresis)
+  (GDK_KEY_yacute)
+  (GDK_KEY_thorn)
+  (GDK_KEY_ydiaeresis)
+  (GDK_KEY_Aogonek)
+  (GDK_KEY_breve)
+  (GDK_KEY_Lstroke)
+  (GDK_KEY_Lcaron)
+  (GDK_KEY_Sacute)
+  (GDK_KEY_Scaron)
+  (GDK_KEY_Scedilla)
+  (GDK_KEY_Tcaron)
+  (GDK_KEY_Zacute)
+  (GDK_KEY_Zcaron)
+  (GDK_KEY_Zabovedot)
+  (GDK_KEY_aogonek)
+  (GDK_KEY_ogonek)
+  (GDK_KEY_lstroke)
+  (GDK_KEY_lcaron)
+  (GDK_KEY_sacute)
+  (GDK_KEY_caron)
+  (GDK_KEY_scaron)
+  (GDK_KEY_scedilla)
+  (GDK_KEY_tcaron)
+  (GDK_KEY_zacute)
+  (GDK_KEY_doubleacute)
+  (GDK_KEY_zcaron)
+  (GDK_KEY_zabovedot)
+  (GDK_KEY_Racute)
+  (GDK_KEY_Abreve)
+  (GDK_KEY_Lacute)
+  (GDK_KEY_Cacute)
+  (GDK_KEY_Ccaron)
+  (GDK_KEY_Eogonek)
+  (GDK_KEY_Ecaron)
+  (GDK_KEY_Dcaron)
+  (GDK_KEY_Dstroke)
+  (GDK_KEY_Nacute)
+  (GDK_KEY_Ncaron)
+  (GDK_KEY_Odoubleacute)
+  (GDK_KEY_Rcaron)
+  (GDK_KEY_Uring)
+  (GDK_KEY_Udoubleacute)
+  (GDK_KEY_Tcedilla)
+  (GDK_KEY_racute)
+  (GDK_KEY_abreve)
+  (GDK_KEY_lacute)
+  (GDK_KEY_cacute)
+  (GDK_KEY_ccaron)
+  (GDK_KEY_eogonek)
+  (GDK_KEY_ecaron)
+  (GDK_KEY_dcaron)
+  (GDK_KEY_dstroke)
+  (GDK_KEY_nacute)
+  (GDK_KEY_ncaron)
+  (GDK_KEY_odoubleacute)
+  (GDK_KEY_udoubleacute)
+  (GDK_KEY_rcaron)
+  (GDK_KEY_uring)
+  (GDK_KEY_tcedilla)
+  (GDK_KEY_abovedot)
+  (GDK_KEY_Hstroke)
+  (GDK_KEY_Hcircumflex)
+  (GDK_KEY_Iabovedot)
+  (GDK_KEY_Gbreve)
+  (GDK_KEY_Jcircumflex)
+  (GDK_KEY_hstroke)
+  (GDK_KEY_hcircumflex)
+  (GDK_KEY_idotless)
+  (GDK_KEY_gbreve)
+  (GDK_KEY_jcircumflex)
+  (GDK_KEY_Cabovedot)
+  (GDK_KEY_Ccircumflex)
+  (GDK_KEY_Gabovedot)
+  (GDK_KEY_Gcircumflex)
+  (GDK_KEY_Ubreve)
+  (GDK_KEY_Scircumflex)
+  (GDK_KEY_cabovedot)
+  (GDK_KEY_ccircumflex)
+  (GDK_KEY_gabovedot)
+  (GDK_KEY_gcircumflex)
+  (GDK_KEY_ubreve)
+  (GDK_KEY_scircumflex)
+  (GDK_KEY_kra)
+  (GDK_KEY_kappa)
+  (GDK_KEY_Rcedilla)
+  (GDK_KEY_Itilde)
+  (GDK_KEY_Lcedilla)
+  (GDK_KEY_Emacron)
+  (GDK_KEY_Gcedilla)
+  (GDK_KEY_Tslash)
+  (GDK_KEY_rcedilla)
+  (GDK_KEY_itilde)
+  (GDK_KEY_lcedilla)
+  (GDK_KEY_emacron)
+  (GDK_KEY_gcedilla)
+  (GDK_KEY_tslash)
+  (GDK_KEY_ENG)
+  (GDK_KEY_eng)
+  (GDK_KEY_Amacron)
+  (GDK_KEY_Iogonek)
+  (GDK_KEY_Eabovedot)
+  (GDK_KEY_Imacron)
+  (GDK_KEY_Ncedilla)
+  (GDK_KEY_Omacron)
+  (GDK_KEY_Kcedilla)
+  (GDK_KEY_Uogonek)
+  (GDK_KEY_Utilde)
+  (GDK_KEY_Umacron)
+  (GDK_KEY_amacron)
+  (GDK_KEY_iogonek)
+  (GDK_KEY_eabovedot)
+  (GDK_KEY_imacron)
+  (GDK_KEY_ncedilla)
+  (GDK_KEY_omacron)
+  (GDK_KEY_kcedilla)
+  (GDK_KEY_uogonek)
+  (GDK_KEY_utilde)
+  (GDK_KEY_umacron)
+  (GDK_KEY_Babovedot)
+  (GDK_KEY_babovedot)
+  (GDK_KEY_Dabovedot)
+  (GDK_KEY_Wgrave)
+  (GDK_KEY_Wacute)
+  (GDK_KEY_dabovedot)
+  (GDK_KEY_Ygrave)
+  (GDK_KEY_Fabovedot)
+  (GDK_KEY_fabovedot)
+  (GDK_KEY_Mabovedot)
+  (GDK_KEY_mabovedot)
+  (GDK_KEY_Pabovedot)
+  (GDK_KEY_wgrave)
+  (GDK_KEY_pabovedot)
+  (GDK_KEY_wacute)
+  (GDK_KEY_Sabovedot)
+  (GDK_KEY_ygrave)
+  (GDK_KEY_Wdiaeresis)
+  (GDK_KEY_wdiaeresis)
+  (GDK_KEY_sabovedot)
+  (GDK_KEY_Wcircumflex)
+  (GDK_KEY_Tabovedot)
+  (GDK_KEY_Ycircumflex)
+  (GDK_KEY_wcircumflex)
+  (GDK_KEY_tabovedot)
+  (GDK_KEY_ycircumflex)
+  (GDK_KEY_OE)
+  (GDK_KEY_oe)
+  (GDK_KEY_Ydiaeresis)
+  (GDK_KEY_overline)
+  (GDK_KEY_kana_fullstop)
+  (GDK_KEY_kana_openingbracket)
+  (GDK_KEY_kana_closingbracket)
+  (GDK_KEY_kana_comma)
+  (GDK_KEY_kana_conjunctive)
+  (GDK_KEY_kana_middledot)
+  (GDK_KEY_kana_WO)
+  (GDK_KEY_kana_a)
+  (GDK_KEY_kana_i)
+  (GDK_KEY_kana_u)
+  (GDK_KEY_kana_e)
+  (GDK_KEY_kana_o)
+  (GDK_KEY_kana_ya)
+  (GDK_KEY_kana_yu)
+  (GDK_KEY_kana_yo)
+  (GDK_KEY_kana_tsu)
+  (GDK_KEY_kana_tu)
+  (GDK_KEY_prolongedsound)
+  (GDK_KEY_kana_A)
+  (GDK_KEY_kana_I)
+  (GDK_KEY_kana_U)
+  (GDK_KEY_kana_E)
+  (GDK_KEY_kana_O)
+  (GDK_KEY_kana_KA)
+  (GDK_KEY_kana_KI)
+  (GDK_KEY_kana_KU)
+  (GDK_KEY_kana_KE)
+  (GDK_KEY_kana_KO)
+  (GDK_KEY_kana_SA)
+  (GDK_KEY_kana_SHI)
+  (GDK_KEY_kana_SU)
+  (GDK_KEY_kana_SE)
+  (GDK_KEY_kana_SO)
+  (GDK_KEY_kana_TA)
+  (GDK_KEY_kana_CHI)
+  (GDK_KEY_kana_TI)
+  (GDK_KEY_kana_TSU)
+  (GDK_KEY_kana_TU)
+  (GDK_KEY_kana_TE)
+  (GDK_KEY_kana_TO)
+  (GDK_KEY_kana_NA)
+  (GDK_KEY_kana_NI)
+  (GDK_KEY_kana_NU)
+  (GDK_KEY_kana_NE)
+  (GDK_KEY_kana_NO)
+  (GDK_KEY_kana_HA)
+  (GDK_KEY_kana_HI)
+  (GDK_KEY_kana_FU)
+  (GDK_KEY_kana_HU)
+  (GDK_KEY_kana_HE)
+  (GDK_KEY_kana_HO)
+  (GDK_KEY_kana_MA)
+  (GDK_KEY_kana_MI)
+  (GDK_KEY_kana_MU)
+  (GDK_KEY_kana_ME)
+  (GDK_KEY_kana_MO)
+  (GDK_KEY_kana_YA)
+  (GDK_KEY_kana_YU)
+  (GDK_KEY_kana_YO)
+  (GDK_KEY_kana_RA)
+  (GDK_KEY_kana_RI)
+  (GDK_KEY_kana_RU)
+  (GDK_KEY_kana_RE)
+  (GDK_KEY_kana_RO)
+  (GDK_KEY_kana_WA)
+  (GDK_KEY_kana_N)
+  (GDK_KEY_voicedsound)
+  (GDK_KEY_semivoicedsound)
+  (GDK_KEY_kana_switch)
+  (GDK_KEY_Farsi_0)
+  (GDK_KEY_Farsi_1)
+  (GDK_KEY_Farsi_2)
+  (GDK_KEY_Farsi_3)
+  (GDK_KEY_Farsi_4)
+  (GDK_KEY_Farsi_5)
+  (GDK_KEY_Farsi_6)
+  (GDK_KEY_Farsi_7)
+  (GDK_KEY_Farsi_8)
+  (GDK_KEY_Farsi_9)
+  (GDK_KEY_Arabic_percent)
+  (GDK_KEY_Arabic_superscript_alef)
+  (GDK_KEY_Arabic_tteh)
+  (GDK_KEY_Arabic_peh)
+  (GDK_KEY_Arabic_tcheh)
+  (GDK_KEY_Arabic_ddal)
+  (GDK_KEY_Arabic_rreh)
+  (GDK_KEY_Arabic_comma)
+  (GDK_KEY_Arabic_fullstop)
+  (GDK_KEY_Arabic_0)
+  (GDK_KEY_Arabic_1)
+  (GDK_KEY_Arabic_2)
+  (GDK_KEY_Arabic_3)
+  (GDK_KEY_Arabic_4)
+  (GDK_KEY_Arabic_5)
+  (GDK_KEY_Arabic_6)
+  (GDK_KEY_Arabic_7)
+  (GDK_KEY_Arabic_8)
+  (GDK_KEY_Arabic_9)
+  (GDK_KEY_Arabic_semicolon)
+  (GDK_KEY_Arabic_question_mark)
+  (GDK_KEY_Arabic_hamza)
+  (GDK_KEY_Arabic_maddaonalef)
+  (GDK_KEY_Arabic_hamzaonalef)
+  (GDK_KEY_Arabic_hamzaonwaw)
+  (GDK_KEY_Arabic_hamzaunderalef)
+  (GDK_KEY_Arabic_hamzaonyeh)
+  (GDK_KEY_Arabic_alef)
+  (GDK_KEY_Arabic_beh)
+  (GDK_KEY_Arabic_tehmarbuta)
+  (GDK_KEY_Arabic_teh)
+  (GDK_KEY_Arabic_theh)
+  (GDK_KEY_Arabic_jeem)
+  (GDK_KEY_Arabic_hah)
+  (GDK_KEY_Arabic_khah)
+  (GDK_KEY_Arabic_dal)
+  (GDK_KEY_Arabic_thal)
+  (GDK_KEY_Arabic_ra)
+  (GDK_KEY_Arabic_zain)
+  (GDK_KEY_Arabic_seen)
+  (GDK_KEY_Arabic_sheen)
+  (GDK_KEY_Arabic_sad)
+  (GDK_KEY_Arabic_dad)
+  (GDK_KEY_Arabic_tah)
+  (GDK_KEY_Arabic_zah)
+  (GDK_KEY_Arabic_ain)
+  (GDK_KEY_Arabic_ghain)
+  (GDK_KEY_Arabic_tatweel)
+  (GDK_KEY_Arabic_feh)
+  (GDK_KEY_Arabic_qaf)
+  (GDK_KEY_Arabic_kaf)
+  (GDK_KEY_Arabic_lam)
+  (GDK_KEY_Arabic_meem)
+  (GDK_KEY_Arabic_noon)
+  (GDK_KEY_Arabic_ha)
+  (GDK_KEY_Arabic_heh)
+  (GDK_KEY_Arabic_waw)
+  (GDK_KEY_Arabic_alefmaksura)
+  (GDK_KEY_Arabic_yeh)
+  (GDK_KEY_Arabic_fathatan)
+  (GDK_KEY_Arabic_dammatan)
+  (GDK_KEY_Arabic_kasratan)
+  (GDK_KEY_Arabic_fatha)
+  (GDK_KEY_Arabic_damma)
+  (GDK_KEY_Arabic_kasra)
+  (GDK_KEY_Arabic_shadda)
+  (GDK_KEY_Arabic_sukun)
+  (GDK_KEY_Arabic_madda_above)
+  (GDK_KEY_Arabic_hamza_above)
+  (GDK_KEY_Arabic_hamza_below)
+  (GDK_KEY_Arabic_jeh)
+  (GDK_KEY_Arabic_veh)
+  (GDK_KEY_Arabic_keheh)
+  (GDK_KEY_Arabic_gaf)
+  (GDK_KEY_Arabic_noon_ghunna)
+  (GDK_KEY_Arabic_heh_doachashmee)
+  (GDK_KEY_Farsi_yeh)
+  (GDK_KEY_Arabic_farsi_yeh)
+  (GDK_KEY_Arabic_yeh_baree)
+  (GDK_KEY_Arabic_heh_goal)
+  (GDK_KEY_Arabic_switch)
+  (GDK_KEY_Cyrillic_GHE_bar)
+  (GDK_KEY_Cyrillic_ghe_bar)
+  (GDK_KEY_Cyrillic_ZHE_descender)
+  (GDK_KEY_Cyrillic_zhe_descender)
+  (GDK_KEY_Cyrillic_KA_descender)
+  (GDK_KEY_Cyrillic_ka_descender)
+  (GDK_KEY_Cyrillic_KA_vertstroke)
+  (GDK_KEY_Cyrillic_ka_vertstroke)
+  (GDK_KEY_Cyrillic_EN_descender)
+  (GDK_KEY_Cyrillic_en_descender)
+  (GDK_KEY_Cyrillic_U_straight)
+  (GDK_KEY_Cyrillic_u_straight)
+  (GDK_KEY_Cyrillic_U_straight_bar)
+  (GDK_KEY_Cyrillic_u_straight_bar)
+  (GDK_KEY_Cyrillic_HA_descender)
+  (GDK_KEY_Cyrillic_ha_descender)
+  (GDK_KEY_Cyrillic_CHE_descender)
+  (GDK_KEY_Cyrillic_che_descender)
+  (GDK_KEY_Cyrillic_CHE_vertstroke)
+  (GDK_KEY_Cyrillic_che_vertstroke)
+  (GDK_KEY_Cyrillic_SHHA)
+  (GDK_KEY_Cyrillic_shha)
+  (GDK_KEY_Cyrillic_SCHWA)
+  (GDK_KEY_Cyrillic_schwa)
+  (GDK_KEY_Cyrillic_I_macron)
+  (GDK_KEY_Cyrillic_i_macron)
+  (GDK_KEY_Cyrillic_O_bar)
+  (GDK_KEY_Cyrillic_o_bar)
+  (GDK_KEY_Cyrillic_U_macron)
+  (GDK_KEY_Cyrillic_u_macron)
+  (GDK_KEY_Serbian_dje)
+  (GDK_KEY_Macedonia_gje)
+  (GDK_KEY_Cyrillic_io)
+  (GDK_KEY_Ukrainian_ie)
+  (GDK_KEY_Ukranian_je)
+  (GDK_KEY_Macedonia_dse)
+  (GDK_KEY_Ukrainian_i)
+  (GDK_KEY_Ukranian_i)
+  (GDK_KEY_Ukrainian_yi)
+  (GDK_KEY_Ukranian_yi)
+  (GDK_KEY_Cyrillic_je)
+  (GDK_KEY_Serbian_je)
+  (GDK_KEY_Cyrillic_lje)
+  (GDK_KEY_Serbian_lje)
+  (GDK_KEY_Cyrillic_nje)
+  (GDK_KEY_Serbian_nje)
+  (GDK_KEY_Serbian_tshe)
+  (GDK_KEY_Macedonia_kje)
+  (GDK_KEY_Ukrainian_ghe_with_upturn)
+  (GDK_KEY_Byelorussian_shortu)
+  (GDK_KEY_Cyrillic_dzhe)
+  (GDK_KEY_Serbian_dze)
+  (GDK_KEY_numerosign)
+  (GDK_KEY_Serbian_DJE)
+  (GDK_KEY_Macedonia_GJE)
+  (GDK_KEY_Cyrillic_IO)
+  (GDK_KEY_Ukrainian_IE)
+  (GDK_KEY_Ukranian_JE)
+  (GDK_KEY_Macedonia_DSE)
+  (GDK_KEY_Ukrainian_I)
+  (GDK_KEY_Ukranian_I)
+  (GDK_KEY_Ukrainian_YI)
+  (GDK_KEY_Ukranian_YI)
+  (GDK_KEY_Cyrillic_JE)
+  (GDK_KEY_Serbian_JE)
+  (GDK_KEY_Cyrillic_LJE)
+  (GDK_KEY_Serbian_LJE)
+  (GDK_KEY_Cyrillic_NJE)
+  (GDK_KEY_Serbian_NJE)
+  (GDK_KEY_Serbian_TSHE)
+  (GDK_KEY_Macedonia_KJE)
+  (GDK_KEY_Ukrainian_GHE_WITH_UPTURN)
+  (GDK_KEY_Byelorussian_SHORTU)
+  (GDK_KEY_Cyrillic_DZHE)
+  (GDK_KEY_Serbian_DZE)
+  (GDK_KEY_Cyrillic_yu)
+  (GDK_KEY_Cyrillic_a)
+  (GDK_KEY_Cyrillic_be)
+  (GDK_KEY_Cyrillic_tse)
+  (GDK_KEY_Cyrillic_de)
+  (GDK_KEY_Cyrillic_ie)
+  (GDK_KEY_Cyrillic_ef)
+  (GDK_KEY_Cyrillic_ghe)
+  (GDK_KEY_Cyrillic_ha)
+  (GDK_KEY_Cyrillic_i)
+  (GDK_KEY_Cyrillic_shorti)
+  (GDK_KEY_Cyrillic_ka)
+  (GDK_KEY_Cyrillic_el)
+  (GDK_KEY_Cyrillic_em)
+  (GDK_KEY_Cyrillic_en)
+  (GDK_KEY_Cyrillic_o)
+  (GDK_KEY_Cyrillic_pe)
+  (GDK_KEY_Cyrillic_ya)
+  (GDK_KEY_Cyrillic_er)
+  (GDK_KEY_Cyrillic_es)
+  (GDK_KEY_Cyrillic_te)
+  (GDK_KEY_Cyrillic_u)
+  (GDK_KEY_Cyrillic_zhe)
+  (GDK_KEY_Cyrillic_ve)
+  (GDK_KEY_Cyrillic_softsign)
+  (GDK_KEY_Cyrillic_yeru)
+  (GDK_KEY_Cyrillic_ze)
+  (GDK_KEY_Cyrillic_sha)
+  (GDK_KEY_Cyrillic_e)
+  (GDK_KEY_Cyrillic_shcha)
+  (GDK_KEY_Cyrillic_che)
+  (GDK_KEY_Cyrillic_hardsign)
+  (GDK_KEY_Cyrillic_YU)
+  (GDK_KEY_Cyrillic_A)
+  (GDK_KEY_Cyrillic_BE)
+  (GDK_KEY_Cyrillic_TSE)
+  (GDK_KEY_Cyrillic_DE)
+  (GDK_KEY_Cyrillic_IE)
+  (GDK_KEY_Cyrillic_EF)
+  (GDK_KEY_Cyrillic_GHE)
+  (GDK_KEY_Cyrillic_HA)
+  (GDK_KEY_Cyrillic_I)
+  (GDK_KEY_Cyrillic_SHORTI)
+  (GDK_KEY_Cyrillic_KA)
+  (GDK_KEY_Cyrillic_EL)
+  (GDK_KEY_Cyrillic_EM)
+  (GDK_KEY_Cyrillic_EN)
+  (GDK_KEY_Cyrillic_O)
+  (GDK_KEY_Cyrillic_PE)
+  (GDK_KEY_Cyrillic_YA)
+  (GDK_KEY_Cyrillic_ER)
+  (GDK_KEY_Cyrillic_ES)
+  (GDK_KEY_Cyrillic_TE)
+  (GDK_KEY_Cyrillic_U)
+  (GDK_KEY_Cyrillic_ZHE)
+  (GDK_KEY_Cyrillic_VE)
+  (GDK_KEY_Cyrillic_SOFTSIGN)
+  (GDK_KEY_Cyrillic_YERU)
+  (GDK_KEY_Cyrillic_ZE)
+  (GDK_KEY_Cyrillic_SHA)
+  (GDK_KEY_Cyrillic_E)
+  (GDK_KEY_Cyrillic_SHCHA)
+  (GDK_KEY_Cyrillic_CHE)
+  (GDK_KEY_Cyrillic_HARDSIGN)
+  (GDK_KEY_Greek_ALPHAaccent)
+  (GDK_KEY_Greek_EPSILONaccent)
+  (GDK_KEY_Greek_ETAaccent)
+  (GDK_KEY_Greek_IOTAaccent)
+  (GDK_KEY_Greek_IOTAdieresis)
+  (GDK_KEY_Greek_IOTAdiaeresis)
+  (GDK_KEY_Greek_OMICRONaccent)
+  (GDK_KEY_Greek_UPSILONaccent)
+  (GDK_KEY_Greek_UPSILONdieresis)
+  (GDK_KEY_Greek_OMEGAaccent)
+  (GDK_KEY_Greek_accentdieresis)
+  (GDK_KEY_Greek_horizbar)
+  (GDK_KEY_Greek_alphaaccent)
+  (GDK_KEY_Greek_epsilonaccent)
+  (GDK_KEY_Greek_etaaccent)
+  (GDK_KEY_Greek_iotaaccent)
+  (GDK_KEY_Greek_iotadieresis)
+  (GDK_KEY_Greek_iotaaccentdieresis)
+  (GDK_KEY_Greek_omicronaccent)
+  (GDK_KEY_Greek_upsilonaccent)
+  (GDK_KEY_Greek_upsilondieresis)
+  (GDK_KEY_Greek_upsilonaccentdieresis)
+  (GDK_KEY_Greek_omegaaccent)
+  (GDK_KEY_Greek_ALPHA)
+  (GDK_KEY_Greek_BETA)
+  (GDK_KEY_Greek_GAMMA)
+  (GDK_KEY_Greek_DELTA)
+  (GDK_KEY_Greek_EPSILON)
+  (GDK_KEY_Greek_ZETA)
+  (GDK_KEY_Greek_ETA)
+  (GDK_KEY_Greek_THETA)
+  (GDK_KEY_Greek_IOTA)
+  (GDK_KEY_Greek_KAPPA)
+  (GDK_KEY_Greek_LAMDA)
+  (GDK_KEY_Greek_LAMBDA)
+  (GDK_KEY_Greek_MU)
+  (GDK_KEY_Greek_NU)
+  (GDK_KEY_Greek_XI)
+  (GDK_KEY_Greek_OMICRON)
+  (GDK_KEY_Greek_PI)
+  (GDK_KEY_Greek_RHO)
+  (GDK_KEY_Greek_SIGMA)
+  (GDK_KEY_Greek_TAU)
+  (GDK_KEY_Greek_UPSILON)
+  (GDK_KEY_Greek_PHI)
+  (GDK_KEY_Greek_CHI)
+  (GDK_KEY_Greek_PSI)
+  (GDK_KEY_Greek_OMEGA)
+  (GDK_KEY_Greek_alpha)
+  (GDK_KEY_Greek_beta)
+  (GDK_KEY_Greek_gamma)
+  (GDK_KEY_Greek_delta)
+  (GDK_KEY_Greek_epsilon)
+  (GDK_KEY_Greek_zeta)
+  (GDK_KEY_Greek_eta)
+  (GDK_KEY_Greek_theta)
+  (GDK_KEY_Greek_iota)
+  (GDK_KEY_Greek_kappa)
+  (GDK_KEY_Greek_lamda)
+  (GDK_KEY_Greek_lambda)
+  (GDK_KEY_Greek_mu)
+  (GDK_KEY_Greek_nu)
+  (GDK_KEY_Greek_xi)
+  (GDK_KEY_Greek_omicron)
+  (GDK_KEY_Greek_pi)
+  (GDK_KEY_Greek_rho)
+  (GDK_KEY_Greek_sigma)
+  (GDK_KEY_Greek_finalsmallsigma)
+  (GDK_KEY_Greek_tau)
+  (GDK_KEY_Greek_upsilon)
+  (GDK_KEY_Greek_phi)
+  (GDK_KEY_Greek_chi)
+  (GDK_KEY_Greek_psi)
+  (GDK_KEY_Greek_omega)
+  (GDK_KEY_Greek_switch)
+  (GDK_KEY_leftradical)
+  (GDK_KEY_topleftradical)
+  (GDK_KEY_horizconnector)
+  (GDK_KEY_topintegral)
+  (GDK_KEY_botintegral)
+  (GDK_KEY_vertconnector)
+  (GDK_KEY_topleftsqbracket)
+  (GDK_KEY_botleftsqbracket)
+  (GDK_KEY_toprightsqbracket)
+  (GDK_KEY_botrightsqbracket)
+  (GDK_KEY_topleftparens)
+  (GDK_KEY_botleftparens)
+  (GDK_KEY_toprightparens)
+  (GDK_KEY_botrightparens)
+  (GDK_KEY_leftmiddlecurlybrace)
+  (GDK_KEY_rightmiddlecurlybrace)
+  (GDK_KEY_topleftsummation)
+  (GDK_KEY_botleftsummation)
+  (GDK_KEY_topvertsummationconnector)
+  (GDK_KEY_botvertsummationconnector)
+  (GDK_KEY_toprightsummation)
+  (GDK_KEY_botrightsummation)
+  (GDK_KEY_rightmiddlesummation)
+  (GDK_KEY_lessthanequal)
+  (GDK_KEY_notequal)
+  (GDK_KEY_greaterthanequal)
+  (GDK_KEY_integral)
+  (GDK_KEY_therefore)
+  (GDK_KEY_variation)
+  (GDK_KEY_infinity)
+  (GDK_KEY_nabla)
+  (GDK_KEY_approximate)
+  (GDK_KEY_similarequal)
+  (GDK_KEY_ifonlyif)
+  (GDK_KEY_implies)
+  (GDK_KEY_identical)
+  (GDK_KEY_radical)
+  (GDK_KEY_includedin)
+  (GDK_KEY_includes)
+  (GDK_KEY_intersection)
+  (GDK_KEY_union)
+  (GDK_KEY_logicaland)
+  (GDK_KEY_logicalor)
+  (GDK_KEY_partialderivative)
+  (GDK_KEY_function)
+  (GDK_KEY_leftarrow)
+  (GDK_KEY_uparrow)
+  (GDK_KEY_rightarrow)
+  (GDK_KEY_downarrow)
+  (GDK_KEY_blank)
+  (GDK_KEY_soliddiamond)
+  (GDK_KEY_checkerboard)
+  (GDK_KEY_ht)
+  (GDK_KEY_ff)
+  (GDK_KEY_cr)
+  (GDK_KEY_lf)
+  (GDK_KEY_nl)
+  (GDK_KEY_vt)
+  (GDK_KEY_lowrightcorner)
+  (GDK_KEY_uprightcorner)
+  (GDK_KEY_upleftcorner)
+  (GDK_KEY_lowleftcorner)
+  (GDK_KEY_crossinglines)
+  (GDK_KEY_horizlinescan1)
+  (GDK_KEY_horizlinescan3)
+  (GDK_KEY_horizlinescan5)
+  (GDK_KEY_horizlinescan7)
+  (GDK_KEY_horizlinescan9)
+  (GDK_KEY_leftt)
+  (GDK_KEY_rightt)
+  (GDK_KEY_bott)
+  (GDK_KEY_topt)
+  (GDK_KEY_vertbar)
+  (GDK_KEY_emspace)
+  (GDK_KEY_enspace)
+  (GDK_KEY_em3space)
+  (GDK_KEY_em4space)
+  (GDK_KEY_digitspace)
+  (GDK_KEY_punctspace)
+  (GDK_KEY_thinspace)
+  (GDK_KEY_hairspace)
+  (GDK_KEY_emdash)
+  (GDK_KEY_endash)
+  (GDK_KEY_signifblank)
+  (GDK_KEY_ellipsis)
+  (GDK_KEY_doubbaselinedot)
+  (GDK_KEY_onethird)
+  (GDK_KEY_twothirds)
+  (GDK_KEY_onefifth)
+  (GDK_KEY_twofifths)
+  (GDK_KEY_threefifths)
+  (GDK_KEY_fourfifths)
+  (GDK_KEY_onesixth)
+  (GDK_KEY_fivesixths)
+  (GDK_KEY_careof)
+  (GDK_KEY_figdash)
+  (GDK_KEY_leftanglebracket)
+  (GDK_KEY_decimalpoint)
+  (GDK_KEY_rightanglebracket)
+  (GDK_KEY_marker)
+  (GDK_KEY_oneeighth)
+  (GDK_KEY_threeeighths)
+  (GDK_KEY_fiveeighths)
+  (GDK_KEY_seveneighths)
+  (GDK_KEY_trademark)
+  (GDK_KEY_signaturemark)
+  (GDK_KEY_trademarkincircle)
+  (GDK_KEY_leftopentriangle)
+  (GDK_KEY_rightopentriangle)
+  (GDK_KEY_emopencircle)
+  (GDK_KEY_emopenrectangle)
+  (GDK_KEY_leftsinglequotemark)
+  (GDK_KEY_rightsinglequotemark)
+  (GDK_KEY_leftdoublequotemark)
+  (GDK_KEY_rightdoublequotemark)
+  (GDK_KEY_prescription)
+  (GDK_KEY_minutes)
+  (GDK_KEY_seconds)
+  (GDK_KEY_latincross)
+  (GDK_KEY_hexagram)
+  (GDK_KEY_filledrectbullet)
+  (GDK_KEY_filledlefttribullet)
+  (GDK_KEY_filledrighttribullet)
+  (GDK_KEY_emfilledcircle)
+  (GDK_KEY_emfilledrect)
+  (GDK_KEY_enopencircbullet)
+  (GDK_KEY_enopensquarebullet)
+  (GDK_KEY_openrectbullet)
+  (GDK_KEY_opentribulletup)
+  (GDK_KEY_opentribulletdown)
+  (GDK_KEY_openstar)
+  (GDK_KEY_enfilledcircbullet)
+  (GDK_KEY_enfilledsqbullet)
+  (GDK_KEY_filledtribulletup)
+  (GDK_KEY_filledtribulletdown)
+  (GDK_KEY_leftpointer)
+  (GDK_KEY_rightpointer)
+  (GDK_KEY_club)
+  (GDK_KEY_diamond)
+  (GDK_KEY_heart)
+  (GDK_KEY_maltesecross)
+  (GDK_KEY_dagger)
+  (GDK_KEY_doubledagger)
+  (GDK_KEY_checkmark)
+  (GDK_KEY_ballotcross)
+  (GDK_KEY_musicalsharp)
+  (GDK_KEY_musicalflat)
+  (GDK_KEY_malesymbol)
+  (GDK_KEY_femalesymbol)
+  (GDK_KEY_telephone)
+  (GDK_KEY_telephonerecorder)
+  (GDK_KEY_phonographcopyright)
+  (GDK_KEY_caret)
+  (GDK_KEY_singlelowquotemark)
+  (GDK_KEY_doublelowquotemark)
+  (GDK_KEY_cursor)
+  (GDK_KEY_leftcaret)
+  (GDK_KEY_rightcaret)
+  (GDK_KEY_downcaret)
+  (GDK_KEY_upcaret)
+  (GDK_KEY_overbar)
+  (GDK_KEY_downtack)
+  (GDK_KEY_upshoe)
+  (GDK_KEY_downstile)
+  (GDK_KEY_underbar)
+  (GDK_KEY_jot)
+  (GDK_KEY_quad)
+  (GDK_KEY_uptack)
+  (GDK_KEY_circle)
+  (GDK_KEY_upstile)
+  (GDK_KEY_downshoe)
+  (GDK_KEY_rightshoe)
+  (GDK_KEY_leftshoe)
+  (GDK_KEY_lefttack)
+  (GDK_KEY_righttack)
+  (GDK_KEY_hebrew_doublelowline)
+  (GDK_KEY_hebrew_aleph)
+  (GDK_KEY_hebrew_bet)
+  (GDK_KEY_hebrew_beth)
+  (GDK_KEY_hebrew_gimel)
+  (GDK_KEY_hebrew_gimmel)
+  (GDK_KEY_hebrew_dalet)
+  (GDK_KEY_hebrew_daleth)
+  (GDK_KEY_hebrew_he)
+  (GDK_KEY_hebrew_waw)
+  (GDK_KEY_hebrew_zain)
+  (GDK_KEY_hebrew_zayin)
+  (GDK_KEY_hebrew_chet)
+  (GDK_KEY_hebrew_het)
+  (GDK_KEY_hebrew_tet)
+  (GDK_KEY_hebrew_teth)
+  (GDK_KEY_hebrew_yod)
+  (GDK_KEY_hebrew_finalkaph)
+  (GDK_KEY_hebrew_kaph)
+  (GDK_KEY_hebrew_lamed)
+  (GDK_KEY_hebrew_finalmem)
+  (GDK_KEY_hebrew_mem)
+  (GDK_KEY_hebrew_finalnun)
+  (GDK_KEY_hebrew_nun)
+  (GDK_KEY_hebrew_samech)
+  (GDK_KEY_hebrew_samekh)
+  (GDK_KEY_hebrew_ayin)
+  (GDK_KEY_hebrew_finalpe)
+  (GDK_KEY_hebrew_pe)
+  (GDK_KEY_hebrew_finalzade)
+  (GDK_KEY_hebrew_finalzadi)
+  (GDK_KEY_hebrew_zade)
+  (GDK_KEY_hebrew_zadi)
+  (GDK_KEY_hebrew_qoph)
+  (GDK_KEY_hebrew_kuf)
+  (GDK_KEY_hebrew_resh)
+  (GDK_KEY_hebrew_shin)
+  (GDK_KEY_hebrew_taw)
+  (GDK_KEY_hebrew_taf)
+  (GDK_KEY_Hebrew_switch)
+  (GDK_KEY_Thai_kokai)
+  (GDK_KEY_Thai_khokhai)
+  (GDK_KEY_Thai_khokhuat)
+  (GDK_KEY_Thai_khokhwai)
+  (GDK_KEY_Thai_khokhon)
+  (GDK_KEY_Thai_khorakhang)
+  (GDK_KEY_Thai_ngongu)
+  (GDK_KEY_Thai_chochan)
+  (GDK_KEY_Thai_choching)
+  (GDK_KEY_Thai_chochang)
+  (GDK_KEY_Thai_soso)
+  (GDK_KEY_Thai_chochoe)
+  (GDK_KEY_Thai_yoying)
+  (GDK_KEY_Thai_dochada)
+  (GDK_KEY_Thai_topatak)
+  (GDK_KEY_Thai_thothan)
+  (GDK_KEY_Thai_thonangmontho)
+  (GDK_KEY_Thai_thophuthao)
+  (GDK_KEY_Thai_nonen)
+  (GDK_KEY_Thai_dodek)
+  (GDK_KEY_Thai_totao)
+  (GDK_KEY_Thai_thothung)
+  (GDK_KEY_Thai_thothahan)
+  (GDK_KEY_Thai_thothong)
+  (GDK_KEY_Thai_nonu)
+  (GDK_KEY_Thai_bobaimai)
+  (GDK_KEY_Thai_popla)
+  (GDK_KEY_Thai_phophung)
+  (GDK_KEY_Thai_fofa)
+  (GDK_KEY_Thai_phophan)
+  (GDK_KEY_Thai_fofan)
+  (GDK_KEY_Thai_phosamphao)
+  (GDK_KEY_Thai_moma)
+  (GDK_KEY_Thai_yoyak)
+  (GDK_KEY_Thai_rorua)
+  (GDK_KEY_Thai_ru)
+  (GDK_KEY_Thai_loling)
+  (GDK_KEY_Thai_lu)
+  (GDK_KEY_Thai_wowaen)
+  (GDK_KEY_Thai_sosala)
+  (GDK_KEY_Thai_sorusi)
+  (GDK_KEY_Thai_sosua)
+  (GDK_KEY_Thai_hohip)
+  (GDK_KEY_Thai_lochula)
+  (GDK_KEY_Thai_oang)
+  (GDK_KEY_Thai_honokhuk)
+  (GDK_KEY_Thai_paiyannoi)
+  (GDK_KEY_Thai_saraa)
+  (GDK_KEY_Thai_maihanakat)
+  (GDK_KEY_Thai_saraaa)
+  (GDK_KEY_Thai_saraam)
+  (GDK_KEY_Thai_sarai)
+  (GDK_KEY_Thai_saraii)
+  (GDK_KEY_Thai_saraue)
+  (GDK_KEY_Thai_sarauee)
+  (GDK_KEY_Thai_sarau)
+  (GDK_KEY_Thai_sarauu)
+  (GDK_KEY_Thai_phinthu)
+  (GDK_KEY_Thai_maihanakat_maitho)
+  (GDK_KEY_Thai_baht)
+  (GDK_KEY_Thai_sarae)
+  (GDK_KEY_Thai_saraae)
+  (GDK_KEY_Thai_sarao)
+  (GDK_KEY_Thai_saraaimaimuan)
+  (GDK_KEY_Thai_saraaimaimalai)
+  (GDK_KEY_Thai_lakkhangyao)
+  (GDK_KEY_Thai_maiyamok)
+  (GDK_KEY_Thai_maitaikhu)
+  (GDK_KEY_Thai_maiek)
+  (GDK_KEY_Thai_maitho)
+  (GDK_KEY_Thai_maitri)
+  (GDK_KEY_Thai_maichattawa)
+  (GDK_KEY_Thai_thanthakhat)
+  (GDK_KEY_Thai_nikhahit)
+  (GDK_KEY_Thai_leksun)
+  (GDK_KEY_Thai_leknung)
+  (GDK_KEY_Thai_leksong)
+  (GDK_KEY_Thai_leksam)
+  (GDK_KEY_Thai_leksi)
+  (GDK_KEY_Thai_lekha)
+  (GDK_KEY_Thai_lekhok)
+  (GDK_KEY_Thai_lekchet)
+  (GDK_KEY_Thai_lekpaet)
+  (GDK_KEY_Thai_lekkao)
+  (GDK_KEY_Hangul)
+  (GDK_KEY_Hangul_Start)
+  (GDK_KEY_Hangul_End)
+  (GDK_KEY_Hangul_Hanja)
+  (GDK_KEY_Hangul_Jamo)
+  (GDK_KEY_Hangul_Romaja)
+  (GDK_KEY_Hangul_Codeinput)
+  (GDK_KEY_Hangul_Jeonja)
+  (GDK_KEY_Hangul_Banja)
+  (GDK_KEY_Hangul_PreHanja)
+  (GDK_KEY_Hangul_PostHanja)
+  (GDK_KEY_Hangul_SingleCandidate)
+  (GDK_KEY_Hangul_MultipleCandidate)
+  (GDK_KEY_Hangul_PreviousCandidate)
+  (GDK_KEY_Hangul_Special)
+  (GDK_KEY_Hangul_switch)
+  (GDK_KEY_Hangul_Kiyeog)
+  (GDK_KEY_Hangul_SsangKiyeog)
+  (GDK_KEY_Hangul_KiyeogSios)
+  (GDK_KEY_Hangul_Nieun)
+  (GDK_KEY_Hangul_NieunJieuj)
+  (GDK_KEY_Hangul_NieunHieuh)
+  (GDK_KEY_Hangul_Dikeud)
+  (GDK_KEY_Hangul_SsangDikeud)
+  (GDK_KEY_Hangul_Rieul)
+  (GDK_KEY_Hangul_RieulKiyeog)
+  (GDK_KEY_Hangul_RieulMieum)
+  (GDK_KEY_Hangul_RieulPieub)
+  (GDK_KEY_Hangul_RieulSios)
+  (GDK_KEY_Hangul_RieulTieut)
+  (GDK_KEY_Hangul_RieulPhieuf)
+  (GDK_KEY_Hangul_RieulHieuh)
+  (GDK_KEY_Hangul_Mieum)
+  (GDK_KEY_Hangul_Pieub)
+  (GDK_KEY_Hangul_SsangPieub)
+  (GDK_KEY_Hangul_PieubSios)
+  (GDK_KEY_Hangul_Sios)
+  (GDK_KEY_Hangul_SsangSios)
+  (GDK_KEY_Hangul_Ieung)
+  (GDK_KEY_Hangul_Jieuj)
+  (GDK_KEY_Hangul_SsangJieuj)
+  (GDK_KEY_Hangul_Cieuc)
+  (GDK_KEY_Hangul_Khieuq)
+  (GDK_KEY_Hangul_Tieut)
+  (GDK_KEY_Hangul_Phieuf)
+  (GDK_KEY_Hangul_Hieuh)
+  (GDK_KEY_Hangul_A)
+  (GDK_KEY_Hangul_AE)
+  (GDK_KEY_Hangul_YA)
+  (GDK_KEY_Hangul_YAE)
+  (GDK_KEY_Hangul_EO)
+  (GDK_KEY_Hangul_E)
+  (GDK_KEY_Hangul_YEO)
+  (GDK_KEY_Hangul_YE)
+  (GDK_KEY_Hangul_O)
+  (GDK_KEY_Hangul_WA)
+  (GDK_KEY_Hangul_WAE)
+  (GDK_KEY_Hangul_OE)
+  (GDK_KEY_Hangul_YO)
+  (GDK_KEY_Hangul_U)
+  (GDK_KEY_Hangul_WEO)
+  (GDK_KEY_Hangul_WE)
+  (GDK_KEY_Hangul_WI)
+  (GDK_KEY_Hangul_YU)
+  (GDK_KEY_Hangul_EU)
+  (GDK_KEY_Hangul_YI)
+  (GDK_KEY_Hangul_I)
+  (GDK_KEY_Hangul_J_Kiyeog)
+  (GDK_KEY_Hangul_J_SsangKiyeog)
+  (GDK_KEY_Hangul_J_KiyeogSios)
+  (GDK_KEY_Hangul_J_Nieun)
+  (GDK_KEY_Hangul_J_NieunJieuj)
+  (GDK_KEY_Hangul_J_NieunHieuh)
+  (GDK_KEY_Hangul_J_Dikeud)
+  (GDK_KEY_Hangul_J_Rieul)
+  (GDK_KEY_Hangul_J_RieulKiyeog)
+  (GDK_KEY_Hangul_J_RieulMieum)
+  (GDK_KEY_Hangul_J_RieulPieub)
+  (GDK_KEY_Hangul_J_RieulSios)
+  (GDK_KEY_Hangul_J_RieulTieut)
+  (GDK_KEY_Hangul_J_RieulPhieuf)
+  (GDK_KEY_Hangul_J_RieulHieuh)
+  (GDK_KEY_Hangul_J_Mieum)
+  (GDK_KEY_Hangul_J_Pieub)
+  (GDK_KEY_Hangul_J_PieubSios)
+  (GDK_KEY_Hangul_J_Sios)
+  (GDK_KEY_Hangul_J_SsangSios)
+  (GDK_KEY_Hangul_J_Ieung)
+  (GDK_KEY_Hangul_J_Jieuj)
+  (GDK_KEY_Hangul_J_Cieuc)
+  (GDK_KEY_Hangul_J_Khieuq)
+  (GDK_KEY_Hangul_J_Tieut)
+  (GDK_KEY_Hangul_J_Phieuf)
+  (GDK_KEY_Hangul_J_Hieuh)
+  (GDK_KEY_Hangul_RieulYeorinHieuh)
+  (GDK_KEY_Hangul_SunkyeongeumMieum)
+  (GDK_KEY_Hangul_SunkyeongeumPieub)
+  (GDK_KEY_Hangul_PanSios)
+  (GDK_KEY_Hangul_KkogjiDalrinIeung)
+  (GDK_KEY_Hangul_SunkyeongeumPhieuf)
+  (GDK_KEY_Hangul_YeorinHieuh)
+  (GDK_KEY_Hangul_AraeA)
+  (GDK_KEY_Hangul_AraeAE)
+  (GDK_KEY_Hangul_J_PanSios)
+  (GDK_KEY_Hangul_J_KkogjiDalrinIeung)
+  (GDK_KEY_Hangul_J_YeorinHieuh)
+  (GDK_KEY_Korean_Won)
+  (GDK_KEY_Armenian_ligature_ew)
+  (GDK_KEY_Armenian_full_stop)
+  (GDK_KEY_Armenian_verjaket)
+  (GDK_KEY_Armenian_separation_mark)
+  (GDK_KEY_Armenian_but)
+  (GDK_KEY_Armenian_hyphen)
+  (GDK_KEY_Armenian_yentamna)
+  (GDK_KEY_Armenian_exclam)
+  (GDK_KEY_Armenian_amanak)
+  (GDK_KEY_Armenian_accent)
+  (GDK_KEY_Armenian_shesht)
+  (GDK_KEY_Armenian_question)
+  (GDK_KEY_Armenian_paruyk)
+  (GDK_KEY_Armenian_AYB)
+  (GDK_KEY_Armenian_ayb)
+  (GDK_KEY_Armenian_BEN)
+  (GDK_KEY_Armenian_ben)
+  (GDK_KEY_Armenian_GIM)
+  (GDK_KEY_Armenian_gim)
+  (GDK_KEY_Armenian_DA)
+  (GDK_KEY_Armenian_da)
+  (GDK_KEY_Armenian_YECH)
+  (GDK_KEY_Armenian_yech)
+  (GDK_KEY_Armenian_ZA)
+  (GDK_KEY_Armenian_za)
+  (GDK_KEY_Armenian_E)
+  (GDK_KEY_Armenian_e)
+  (GDK_KEY_Armenian_AT)
+  (GDK_KEY_Armenian_at)
+  (GDK_KEY_Armenian_TO)
+  (GDK_KEY_Armenian_to)
+  (GDK_KEY_Armenian_ZHE)
+  (GDK_KEY_Armenian_zhe)
+  (GDK_KEY_Armenian_INI)
+  (GDK_KEY_Armenian_ini)
+  (GDK_KEY_Armenian_LYUN)
+  (GDK_KEY_Armenian_lyun)
+  (GDK_KEY_Armenian_KHE)
+  (GDK_KEY_Armenian_khe)
+  (GDK_KEY_Armenian_TSA)
+  (GDK_KEY_Armenian_tsa)
+  (GDK_KEY_Armenian_KEN)
+  (GDK_KEY_Armenian_ken)
+  (GDK_KEY_Armenian_HO)
+  (GDK_KEY_Armenian_ho)
+  (GDK_KEY_Armenian_DZA)
+  (GDK_KEY_Armenian_dza)
+  (GDK_KEY_Armenian_GHAT)
+  (GDK_KEY_Armenian_ghat)
+  (GDK_KEY_Armenian_TCHE)
+  (GDK_KEY_Armenian_tche)
+  (GDK_KEY_Armenian_MEN)
+  (GDK_KEY_Armenian_men)
+  (GDK_KEY_Armenian_HI)
+  (GDK_KEY_Armenian_hi)
+  (GDK_KEY_Armenian_NU)
+  (GDK_KEY_Armenian_nu)
+  (GDK_KEY_Armenian_SHA)
+  (GDK_KEY_Armenian_sha)
+  (GDK_KEY_Armenian_VO)
+  (GDK_KEY_Armenian_vo)
+  (GDK_KEY_Armenian_CHA)
+  (GDK_KEY_Armenian_cha)
+  (GDK_KEY_Armenian_PE)
+  (GDK_KEY_Armenian_pe)
+  (GDK_KEY_Armenian_JE)
+  (GDK_KEY_Armenian_je)
+  (GDK_KEY_Armenian_RA)
+  (GDK_KEY_Armenian_ra)
+  (GDK_KEY_Armenian_SE)
+  (GDK_KEY_Armenian_se)
+  (GDK_KEY_Armenian_VEV)
+  (GDK_KEY_Armenian_vev)
+  (GDK_KEY_Armenian_TYUN)
+  (GDK_KEY_Armenian_tyun)
+  (GDK_KEY_Armenian_RE)
+  (GDK_KEY_Armenian_re)
+  (GDK_KEY_Armenian_TSO)
+  (GDK_KEY_Armenian_tso)
+  (GDK_KEY_Armenian_VYUN)
+  (GDK_KEY_Armenian_vyun)
+  (GDK_KEY_Armenian_PYUR)
+  (GDK_KEY_Armenian_pyur)
+  (GDK_KEY_Armenian_KE)
+  (GDK_KEY_Armenian_ke)
+  (GDK_KEY_Armenian_O)
+  (GDK_KEY_Armenian_o)
+  (GDK_KEY_Armenian_FE)
+  (GDK_KEY_Armenian_fe)
+  (GDK_KEY_Armenian_apostrophe)
+  (GDK_KEY_Georgian_an)
+  (GDK_KEY_Georgian_ban)
+  (GDK_KEY_Georgian_gan)
+  (GDK_KEY_Georgian_don)
+  (GDK_KEY_Georgian_en)
+  (GDK_KEY_Georgian_vin)
+  (GDK_KEY_Georgian_zen)
+  (GDK_KEY_Georgian_tan)
+  (GDK_KEY_Georgian_in)
+  (GDK_KEY_Georgian_kan)
+  (GDK_KEY_Georgian_las)
+  (GDK_KEY_Georgian_man)
+  (GDK_KEY_Georgian_nar)
+  (GDK_KEY_Georgian_on)
+  (GDK_KEY_Georgian_par)
+  (GDK_KEY_Georgian_zhar)
+  (GDK_KEY_Georgian_rae)
+  (GDK_KEY_Georgian_san)
+  (GDK_KEY_Georgian_tar)
+  (GDK_KEY_Georgian_un)
+  (GDK_KEY_Georgian_phar)
+  (GDK_KEY_Georgian_khar)
+  (GDK_KEY_Georgian_ghan)
+  (GDK_KEY_Georgian_qar)
+  (GDK_KEY_Georgian_shin)
+  (GDK_KEY_Georgian_chin)
+  (GDK_KEY_Georgian_can)
+  (GDK_KEY_Georgian_jil)
+  (GDK_KEY_Georgian_cil)
+  (GDK_KEY_Georgian_char)
+  (GDK_KEY_Georgian_xan)
+  (GDK_KEY_Georgian_jhan)
+  (GDK_KEY_Georgian_hae)
+  (GDK_KEY_Georgian_he)
+  (GDK_KEY_Georgian_hie)
+  (GDK_KEY_Georgian_we)
+  (GDK_KEY_Georgian_har)
+  (GDK_KEY_Georgian_hoe)
+  (GDK_KEY_Georgian_fi)
+  (GDK_KEY_Xabovedot)
+  (GDK_KEY_Ibreve)
+  (GDK_KEY_Zstroke)
+  (GDK_KEY_Gcaron)
+  (GDK_KEY_Ocaron)
+  (GDK_KEY_Obarred)
+  (GDK_KEY_xabovedot)
+  (GDK_KEY_ibreve)
+  (GDK_KEY_zstroke)
+  (GDK_KEY_gcaron)
+  (GDK_KEY_ocaron)
+  (GDK_KEY_obarred)
+  (GDK_KEY_SCHWA)
+  (GDK_KEY_schwa)
+  (GDK_KEY_Lbelowdot)
+  (GDK_KEY_lbelowdot)
+  (GDK_KEY_Abelowdot)
+  (GDK_KEY_abelowdot)
+  (GDK_KEY_Ahook)
+  (GDK_KEY_ahook)
+  (GDK_KEY_Acircumflexacute)
+  (GDK_KEY_acircumflexacute)
+  (GDK_KEY_Acircumflexgrave)
+  (GDK_KEY_acircumflexgrave)
+  (GDK_KEY_Acircumflexhook)
+  (GDK_KEY_acircumflexhook)
+  (GDK_KEY_Acircumflextilde)
+  (GDK_KEY_acircumflextilde)
+  (GDK_KEY_Acircumflexbelowdot)
+  (GDK_KEY_acircumflexbelowdot)
+  (GDK_KEY_Abreveacute)
+  (GDK_KEY_abreveacute)
+  (GDK_KEY_Abrevegrave)
+  (GDK_KEY_abrevegrave)
+  (GDK_KEY_Abrevehook)
+  (GDK_KEY_abrevehook)
+  (GDK_KEY_Abrevetilde)
+  (GDK_KEY_abrevetilde)
+  (GDK_KEY_Abrevebelowdot)
+  (GDK_KEY_abrevebelowdot)
+  (GDK_KEY_Ebelowdot)
+  (GDK_KEY_ebelowdot)
+  (GDK_KEY_Ehook)
+  (GDK_KEY_ehook)
+  (GDK_KEY_Etilde)
+  (GDK_KEY_etilde)
+  (GDK_KEY_Ecircumflexacute)
+  (GDK_KEY_ecircumflexacute)
+  (GDK_KEY_Ecircumflexgrave)
+  (GDK_KEY_ecircumflexgrave)
+  (GDK_KEY_Ecircumflexhook)
+  (GDK_KEY_ecircumflexhook)
+  (GDK_KEY_Ecircumflextilde)
+  (GDK_KEY_ecircumflextilde)
+  (GDK_KEY_Ecircumflexbelowdot)
+  (GDK_KEY_ecircumflexbelowdot)
+  (GDK_KEY_Ihook)
+  (GDK_KEY_ihook)
+  (GDK_KEY_Ibelowdot)
+  (GDK_KEY_ibelowdot)
+  (GDK_KEY_Obelowdot)
+  (GDK_KEY_obelowdot)
+  (GDK_KEY_Ohook)
+  (GDK_KEY_ohook)
+  (GDK_KEY_Ocircumflexacute)
+  (GDK_KEY_ocircumflexacute)
+  (GDK_KEY_Ocircumflexgrave)
+  (GDK_KEY_ocircumflexgrave)
+  (GDK_KEY_Ocircumflexhook)
+  (GDK_KEY_ocircumflexhook)
+  (GDK_KEY_Ocircumflextilde)
+  (GDK_KEY_ocircumflextilde)
+  (GDK_KEY_Ocircumflexbelowdot)
+  (GDK_KEY_ocircumflexbelowdot)
+  (GDK_KEY_Ohornacute)
+  (GDK_KEY_ohornacute)
+  (GDK_KEY_Ohorngrave)
+  (GDK_KEY_ohorngrave)
+  (GDK_KEY_Ohornhook)
+  (GDK_KEY_ohornhook)
+  (GDK_KEY_Ohorntilde)
+  (GDK_KEY_ohorntilde)
+  (GDK_KEY_Ohornbelowdot)
+  (GDK_KEY_ohornbelowdot)
+  (GDK_KEY_Ubelowdot)
+  (GDK_KEY_ubelowdot)
+  (GDK_KEY_Uhook)
+  (GDK_KEY_uhook)
+  (GDK_KEY_Uhornacute)
+  (GDK_KEY_uhornacute)
+  (GDK_KEY_Uhorngrave)
+  (GDK_KEY_uhorngrave)
+  (GDK_KEY_Uhornhook)
+  (GDK_KEY_uhornhook)
+  (GDK_KEY_Uhorntilde)
+  (GDK_KEY_uhorntilde)
+  (GDK_KEY_Uhornbelowdot)
+  (GDK_KEY_uhornbelowdot)
+  (GDK_KEY_Ybelowdot)
+  (GDK_KEY_ybelowdot)
+  (GDK_KEY_Yhook)
+  (GDK_KEY_yhook)
+  (GDK_KEY_Ytilde)
+  (GDK_KEY_ytilde)
+  (GDK_KEY_Ohorn)
+  (GDK_KEY_ohorn)
+  (GDK_KEY_Uhorn)
+  (GDK_KEY_uhorn)
+  (GDK_KEY_EcuSign)
+  (GDK_KEY_ColonSign)
+  (GDK_KEY_CruzeiroSign)
+  (GDK_KEY_FFrancSign)
+  (GDK_KEY_LiraSign)
+  (GDK_KEY_MillSign)
+  (GDK_KEY_NairaSign)
+  (GDK_KEY_PesetaSign)
+  (GDK_KEY_RupeeSign)
+  (GDK_KEY_WonSign)
+  (GDK_KEY_NewSheqelSign)
+  (GDK_KEY_DongSign)
+  (GDK_KEY_EuroSign)
+  (GDK_KEY_zerosuperior)
+  (GDK_KEY_foursuperior)
+  (GDK_KEY_fivesuperior)
+  (GDK_KEY_sixsuperior)
+  (GDK_KEY_sevensuperior)
+  (GDK_KEY_eightsuperior)
+  (GDK_KEY_ninesuperior)
+  (GDK_KEY_zerosubscript)
+  (GDK_KEY_onesubscript)
+  (GDK_KEY_twosubscript)
+  (GDK_KEY_threesubscript)
+  (GDK_KEY_foursubscript)
+  (GDK_KEY_fivesubscript)
+  (GDK_KEY_sixsubscript)
+  (GDK_KEY_sevensubscript)
+  (GDK_KEY_eightsubscript)
+  (GDK_KEY_ninesubscript)
+  (GDK_KEY_partdifferential)
+  (GDK_KEY_emptyset)
+  (GDK_KEY_elementof)
+  (GDK_KEY_notelementof)
+  (GDK_KEY_containsas)
+  (GDK_KEY_squareroot)
+  (GDK_KEY_cuberoot)
+  (GDK_KEY_fourthroot)
+  (GDK_KEY_dintegral)
+  (GDK_KEY_tintegral)
+  (GDK_KEY_because)
+  (GDK_KEY_approxeq)
+  (GDK_KEY_notapproxeq)
+  (GDK_KEY_notidentical)
+  (GDK_KEY_stricteq))
\ No newline at end of file
index f54a9799c63af309aaa3828fe9a685b327cbfb7d..3ada5ca8e879eb26db9ba32243eaa6e16a361336 100644 (file)
@@ -4,18 +4,10 @@ gtk-2.0/gdk/gdktypes.h |#
 
 (include "glib")
 (include "pango")
-;(include "glib-object")
-
-;(include "gdkconfig")
 
 (enum (GDK_CURRENT_TIME))
-(enum (GDK_PARENT_RELATIVE))
 
-(typedef GdkPoint (struct _GdkPoint))
 (typedef GdkRectangle (struct _GdkRectangle))
-(typedef GdkSegment (struct _GdkSegment))
-(typedef GdkSpan (struct _GdkSpan))
-(typedef GdkWChar guint32)
 
 (typedef GdkAtom (* (struct _GdkAtom)))
 
@@ -24,23 +16,6 @@ gtk-2.0/gdk/gdktypes.h |#
 (typedef GdkColor (struct _GdkColor))
 (typedef GdkColormap (struct _GdkColormap))
 (typedef GdkCursor (struct _GdkCursor))
-;(typedef GdkFont (struct _GdkFont))
-(typedef GdkGC (struct _GdkGC))
-;(typedef GdkImage (struct _GdkImage))
-;(typedef GdkRegion (struct _GdkRegion))
-(typedef GdkVisual (struct _GdkVisual))
-
-(typedef GdkDrawable (struct _GdkDrawable))
-(typedef GdkBitmap (struct _GdkDrawable))
-(typedef GdkPixmap (struct _GdkDrawable))
-(typedef GdkWindow (struct _GdkDrawable))
-;(typedef GdkDisplay (struct _GdkDisplay))
-;(typedef GdkScreen (struct _GdkScreen))
-
-(typedef GdkByteOrder
-        (enum
-         (GDK_LSB_FIRST)
-         (GDK_MSB_FIRST)))
 
 (typedef GdkModifierType
         (enum
@@ -63,45 +38,8 @@ gtk-2.0/gdk/gdktypes.h |#
          (GDK_RELEASE_MASK)
          (GDK_MODIFIER_MASK)))
 
-(typedef GdkInputCondition
-        (enum
-         (GDK_INPUT_READ)
-         (GDK_INPUT_WRITE)
-         (GDK_INPUT_EXCEPTION)))
-
-(typedef GdkStatus
-        (enum
-         (GDK_OK)
-         (GDK_ERROR)
-         (GDK_ERROR_PARAM)
-         (GDK_ERROR_FILE)
-         (GDK_ERROR_MEM)))
-
-(typedef GdkGrabStatus
-        (enum
-         (GDK_GRAB_SUCCESS)
-         (GDK_GRAB_ALREADY_GRABBED)
-         (GDK_GRAB_INVALID_TIME)
-         (GDK_GRAB_NOT_VIEWABLE)
-         (GDK_GRAB_FROZEN)))
-
-(struct _GdkPoint
-       (x gint)
-       (y gint))
-
 (struct _GdkRectangle
        (x gint)
        (y gint)
        (width gint)
-       (height gint))
-
-(struct _GdkSegment
-       (x1 gint)
-       (y1 gint)
-       (x2 gint)
-       (y2 gint))
-
-(struct _GdkSpan
-       (x gint)
-       (y gint)
-       (width gint))
\ No newline at end of file
+       (height gint))
\ No newline at end of file
diff --git a/src/gtk/Includes/gdkvisual.cdecl b/src/gtk/Includes/gdkvisual.cdecl
deleted file mode 100644 (file)
index 569d4c6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#| -*-Scheme-*-
-
-gtk-2.0/gdk/gdkvisual.h |#
-
-(include "gdktypes")
-
-(typedef GdkVisualType
-        (enum
-         (GDK_VISUAL_STATIC_GRAY)
-         (GDK_VISUAL_GRAYSCALE)
-         (GDK_VISUAL_STATIC_COLOR)
-         (GDK_VISUAL_PSEUDO_COLOR)
-         (GDK_VISUAL_TRUE_COLOR)
-         (GDK_VISUAL_DIRECT_COLOR)))
-
-(struct _GdkVisual
-       (parent_instance GObject)
-       (type GdkVisualType)
-       (depth gint)
-       (byte_order GdkByteOrder)
-       (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))
\ No newline at end of file
index 8481d22fbf735253ecb0d6f872e9b4b51b75d230..cfaf95771b58498655e52c0d5bf531b892103969 100644 (file)
@@ -2,7 +2,7 @@
 
 gtk-2.0/gdk/gdkwindow.h |#
 
-(include "gdkdrawable")
+;(include "gdkdrawable")
 (include "gdktypes")
 (include "gdkevents")
 
@@ -141,36 +141,6 @@ gtk-2.0/gdk/gdkwindow.h |#
                                        (win_x (* gint))
                                        (win_y (* gint))))))
 
-(typedef GdkWindowObject (struct _GdkWindowObject))
-
-(typedef GdkWindowObjectClass (struct _GdkWindowObjectClass))
-
-(struct _GdkWindowObject
-       (parent_instance GdkDrawable)
-       (impl (* GdkDrawable))
-       (parent (* GdkWindowObject))
-       (user_data gpointer)
-       (x gint)
-       (y gint)
-       (extension_events gint)
-       (filters (* GList))
-       (children (* GList))
-       (bg_color GdkColor)
-       (bg_pixmap (* GdkPixmap))
-       (paint_stack (* GSList))
-       (update_area (* GdkRegion))
-       (update_freeze_count guint)
-       (window_type guint8)
-       (depth guint8)
-       (resize_count guint8)
-       (state GdkWindowState)
-       ;;(_skip guchar)
-       (event_mask GdkEventMask)
-       (update_and_descendants_freeze_count guint))
-
-(struct _GdkWindowObjectClass
-       (parent_class GdkDrawableClass))
-
 (extern (* GdkWindow) gdk_window_new
        (parent (* GdkWindow))
        (attributes (* GdkWindowAttr))
index c6ae1f27508c8381c3f0d2bfd0fd4429ab8990a3..0120e88f905e9c01bb3d52c38269b310112d5a8c 100644 (file)
@@ -59,7 +59,7 @@ gtk-2.0/gtk/gtk.h |#
 ;(include "gtkfontsel")
 (include "gtkframe")
 ;(include "gtkgamma")
-(include "gtkgc")
+;(include "gtkgc")
 ;(include "gtkhandlebox")
 ;(include "gtkhbbox")
 (include "gtkhbox")
index c9698099559157ad5bb909e1cff7f974c63373d9..49fc659d9942bd863a58aef27f10538dda035742 100644 (file)
@@ -34,8 +34,8 @@ gtk-2.0/gtk/gtkadjustment.h |#
 ;      (lower gdouble)
 ;      (upper gdouble))
 
-;(extern gdouble gtk_adjustment_get_value
-;      (adjustment (* GtkAdjustment)))
+(extern gdouble gtk_adjustment_get_value
+       (adjustment (* GtkAdjustment)))
 
 ;(extern void gtk_adjustment_set_value
 ;      (adjustment (* GtkAdjustment))
diff --git a/src/gtk/Includes/gtkgc.cdecl b/src/gtk/Includes/gtkgc.cdecl
deleted file mode 100644 (file)
index 97140f2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#| -*-Scheme-*-
-
-gtk+-2.20.1/gtk/gtkgc.h |#
-
-(extern (* GdkGC) gtk_gc_get
-       (depth gint)
-       (colormap (* GdkColormap))
-       (values (* GdkGCValues))
-       (values_mask GdkGCValuesMask))
-
-(extern void gtk_gc_release
-       (gc (* GdkGC)))
index ae7635401306a8fa61c9447bc6bc99c08779166c..6b65202c660a9000e10e157da3266d65dbfdf4e8 100644 (file)
@@ -12,4 +12,4 @@ pango-1.0/pango/pangocairo.h |#
 
 (extern (* PangoLayout) pango_cairo_create_layout (cr (* cairo_t)))
 (extern void pango_cairo_update_layout (cr (* cairo_t))(layout (* PangoLayout)))
-(extern void pango_cairo_show_layout (cd (* cairo_t))(layout (* PangoLayout)))
+(extern void pango_cairo_show_layout (cr (* cairo_t))(layout (* PangoLayout)))
diff --git a/src/gtk/cairo.scm b/src/gtk/cairo.scm
new file mode 100644 (file)
index 0000000..70bb6d4
--- /dev/null
@@ -0,0 +1,60 @@
+#| -*-Scheme-*-
+
+Copyright (C) 2012  Matthew Birkholz
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+|#
+
+;;;; Cairo interface.
+;;; package: (gtk cairo)
+
+(define (gdk-cairo-create GdkDrawable)
+  (let ((cairo (make-alien '|cairo_t|))
+       (copy (make-alien '|cairo_t|)))
+    (add-gc-cleanup cairo (make-cairo-cleanup copy))
+    (C-call "gdk_cairo_create" copy GdkDrawable)
+    (copy-alien-address! cairo copy)
+    (check-cairo-status cairo)
+    cairo))
+
+(define (make-cairo-cleanup alien)
+  (named-lambda (cairo-cleanup)
+    ;;without-interrupts
+    (if (not (alien-null? alien))
+       (begin
+         (C-call "cairo_destroy" alien)
+         (alien-null! alien)))))
+
+(define (cairo-destroy cairo)
+  (check-cairo-status cairo)
+  (without-interrupts
+   (lambda ()
+     (if (not (alien-null? cairo))
+        (begin
+          (C-call "cairo_destroy" cairo)
+          (alien-null! cairo)))))
+  (punt-gc-cleanup cairo))
+
+(define (check-cairo-status cairo)
+  (let ((status (C-call "cairo_status" cairo)))
+    (if (not (= status (C-enum "CAIRO_STATUS_SUCCESS")))
+       (let ((msg (C-call "cairo_status_to_string"
+                          (make-alien '(* (const char)))
+                          cairo)))
+         (error msg cairo)))))
\ No newline at end of file
index 956663a8d57705b81413f2d06dc1990a3281d319..5f00be21875b864f729bbffe6790e3fa5a4fa8f6 100644 (file)
@@ -145,7 +145,6 @@ USA.
            (%trace2 ";picked: "ink"\n")
            (let ((index (text-ink-xy-to-index ink x y))
                  (text-extent (fix-ink-extent ink)))
-             (%trace ";picked: "index" in "ink"\n")
              (with-text-ink-grapheme-rect
               ink index
               (lambda (xG yG widthG heightG)
index bb33c00c38916cafb036843af309c207fe5fca2e..98a695d043f7a30b531d186175fdfc11d15d5370 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-Copyright (C) 2007, 2008, 2009, 2010, 2011  Matthew Birkholz
+Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012  Matthew Birkholz
 
 This file is part of MIT/GNU Scheme.
 
@@ -667,7 +667,7 @@ USA.
          (vadjustment (fix-layout-vadjustment widget))
          (hadjustment (fix-layout-hadjustment widget))
          (value (floor->exact
-                 (C-> (gobject-alien adjustment) "GtkAdjustment value"))))
+                 (C-call "gtk_adjustment_get_value" (gobject-alien adjustment)))))
       (cond ((eq? adjustment vadjustment)
             (%trace2 ";vadjustment to "value"\n")
             (scroll widget (fix-rect-x window-extent) value))
@@ -810,9 +810,6 @@ USA.
       (begin
        (%trace ";  drag end!\n")
        (set-fix-resizer-dragging?! resizer #f)
-;;; Does a leave notify event always follow, making this happen?
-;;;    (C-call "gtk_widget_set_state"
-;;;            (gobject-alien resizer) (C-enum "GTK_STATE_NORMAL"))
        (C-call "gtk_grab_remove" (gobject-alien resizer)))))
 
 (define (resizer-motion-handler resizer modifiers x y)
@@ -1102,122 +1099,19 @@ USA.
        (fix-rect-move! extent dx dy)
        (drawing-damage ink)))))
 \f
-;; This kind of ink draws (outlines and/or fills) a shape using a
-;; gdk_draw_* function with a GdkGC from gtk_gc_get (i.e. using the
-;; toolkit's GdkGC pool).
+;; This kind of ink draws (outlines and/or fills) a shape according to
+;; a variety of options.  These can be converted LATE, e.g. on expose,
+;; when there is a realized widget.
 
 (define-class <draw-ink>
     (<fix-ink>)
-
-  ;; An alist of logical GraphicsContext member names (e.g. 'dash) X
-  ;; color or font specs, widths, booleans, etc.  The spec's are
-  ;; converted to toolkit objects LATE, e.g. on expose, when the
-  ;; drawing is found in a realized widget.  The conversion of this
-  ;; alist produces the GCValues struct that is passed to gtk_gc_get.
+  ;; Alist of option names (symbols) X values (whatnot).
   (options define standard initial-value '()))
 
 (define-guarantee draw-ink "a <draw-ink>")
 
 ;;; For draw-ink expose handlers (without-interrupts in gtk-thread).
 
-(define (with-gc options widget receiver)
-  (if (pair? options)
-      (let* ((alien.mask (malloc-gcvalues options))
-            (gc (gtk-gc-get widget alien.mask)))
-       (free (car alien.mask))
-       (receiver gc)
-       (gtk-gc-release gc))
-      (let ((gc (make-alien '|GdkGC|)))
-       (C-> (gobject-alien widget) "GtkWidget style" gc)
-       (C-> gc "GtkStyle fg_gc" gc)
-       (C-array-loc! gc "* GdkGC" (C-enum "GTK_STATE_NORMAL"))
-       (C-> gc "* GdkGC" gc)
-       (receiver gc))))
-
-(define (gtk-gc-get widget gcvalues.mask)
-  (let* ((alien (make-alien '|GdkGC|))
-        (copy (make-alien '|GdkGC|))
-        (colormap (gtk-widget-get-colormap widget))
-        (depth (C-> (C-> colormap "GdkColormap visual") "GdkVisual depth")))
-    (add-gc-cleanup alien (gtk-gc-cleanup-thunk copy))
-    (C-call "gtk_gc_get" copy depth colormap
-           (car gcvalues.mask) (cdr gcvalues.mask))
-    (copy-alien-address! alien copy)
-    alien))
-
-(define (gtk-gc-cleanup-thunk copy)
-  (named-lambda (gtk-gc-cleanup-handler)
-    (if (not (alien-null? copy))
-       (begin
-         (C-call "gtk_gc_release" copy)
-         (alien-null! copy)))))
-
-(define (gtk-gc-release gc)
-  (without-interrupts
-   (lambda ()
-     (if (not (alien-null? gc))
-        (begin
-          (C-call "gtk_gc_release" gc)
-          (alien-null! gc)
-          (punt-gc-cleanup gc))))))
-
-(define (malloc-gcvalues options)
-  (let ((gcvalues (malloc (C-sizeof "GdkGCValues") '|GdkGCValues|)))
-    (let loop ((options options)
-              (mask 0))
-      (if (null? options)
-         (cons gcvalues mask)
-         (let ((name (caar options))
-               (value (cdar options)))
-           (case name
-
-             ((FOREGROUND)
-              (poke-color (C-> gcvalues "GdkGCValues foreground") value)
-              (loop (cdr options) (int:+ mask (C-enum "GDK_GC_FOREGROUND"))))
-
-             ((BACKGROUND)
-              (poke-color (C-> gcvalues "GdkGCValues background") value)
-              (loop (cdr options) (int:+ mask (C-enum "GDK_GC_BACKGROUND"))))
-
-             ((FONT)
-              ;; Handled during creation of the PangoLayout.
-              (loop (cdr options) mask))
-
-             #;((FUNCTION)
-              (C->= gcvalues "GdkGCValues function" value)
-              (loop (cdr options) (int:+ mask (C-enum "GDK_GC_FUNCTION"))))
-
-             #;((FILL)
-              ;; This is useless without a pixmap or bitmap setting.
-              (case value
-                ((SOLID)
-                 (C->= gcvalues "GdkGCValues fill" (C-enum "GDK_SOLID")))
-                ((TILED)
-                 (C->= gcvalues "GdkGCValues fill" (C-enum "GDK_TILED")))
-                ((STIPPLED)
-                 (C->= gcvalues "GdkGCValues fill" (C-enum "GDK_STIPPLED")))
-                ((OPAQUE-STIPPLED)
-                 (C->= gcvalues "GdkGCValues fill" (C-enum "GDK_OPAQUE_STIPPLED")))
-                (else (error:datum-out-of-range value)))
-              (loop (cdr options) (int:+ mask (C-enum "GDK_GC_FILL"))))
-
-             ((LINE-WIDTH)
-              (C->= gcvalues "GdkGCValues line_width" value)
-              (loop (cdr options) (int:+ mask (C-enum "GDK_GC_LINE_WIDTH"))))
-
-             ((LINE-STYLE)
-              (C->= gcvalues "GdkGCValues line_style" value)
-              (loop (cdr options) (int:+ mask (C-enum "GDK_GC_LINE_STYLE"))))
-
-             (else (warn "Unsupported option name:" name value)
-                   (loop (cdr options) mask))))))))
-
-(define-integrable (poke-color target source)
-  (C->= target "GdkColor red" (C-> source "GdkColor red"))
-  (C->= target "GdkColor green" (C-> source "GdkColor green"))
-  (C->= target "GdkColor blue" (C-> source "GdkColor blue"))
-  (C->= target "GdkColor pixel" (C-> source "GdkColor pixel")))
-
 (define-integrable (get-option ink name default)
   (let ((entry (assq name (draw-ink-options ink))))
     (if entry (cdr entry) default)))
@@ -1245,43 +1139,70 @@ USA.
 (define-guarantee line-ink "a <line-ink>")
 
 (define-method fix-ink-expose-callback ((ink <line-ink>) widget window area)
-  (declare (ignore area))
+  (declare (ignore window area))
   (%trace2 ";drawing "ink" on "widget"\n")
   (let ((view (fix-layout-view widget))
-       (vector (line-ink-vector ink)))
+       (vector (line-ink-vector ink))
+       (cr (gdk-cairo-create (fix-widget-window widget))))
     (with-fix-rect
      vector
      (lambda (x y dx dy)
        (let ((x (fix:- x (fix-rect-x view)))
             (y (fix:- y (fix-rect-y view))))
-        (with-line-gc
-         ink widget
-         (lambda (gc)
-           (C-call "gdk_draw_line" window gc
-                   x y (fix:+ x dx) (fix:+ y dy)))))))))
-
-(define (with-line-gc ink widget receiver)
-  ;; For drawing lines (with different defaults than the outline gc).
-  (with-gc (line-options ink widget) widget receiver))
-
-(define (line-options ink widget)
-  (append-map!
-   (lambda (entry)
-     (case (car entry)
-       ((FOREGROUND) `((FOREGROUND . ,(allocate-color! widget (cdr entry)))))
-       ((LINE-WIDTH) `((LINE-WIDTH . ,(cdr entry))))
-       ((DASH) (cond ((eq? #t (cdr entry))
-                     `((LINE-STYLE . ,(C-enum "GDK_LINE_ON_OFF_DASH"))))
-                    ((eq? #f (cdr entry))
-                     `((LINE-STYLE . ,(C-enum "GDK_LINE_SOLID"))))
-                    (else
-                     `((LINE-STYLE . ,(C-enum "GDK_LINE_DOUBLE_DASH"))
-                       (BACKGROUND . ,(allocate-color! widget (cdr entry)))))))
-       (else '())))
-   (draw-ink-options ink)))
+        (C-call "cairo_move_to" cr (->flonum x) (->flonum y))
+        (C-call "cairo_rel_line_to" cr (->flonum dx) (->flonum dy)))))
+    (set-line-options! cr ink widget)
+    (let ((color (get-option ink 'DASH '())))
+      (if (and color (not (null? color)) (not (eq? #t color)))
+         (begin
+           (C-call "cairo_save" cr)
+           (set-source-rgb cr color widget)
+           (C-call "cairo_stroke_preserve" cr)
+           (C-call "cairo_restore" cr))))
+    (set-line-dashes! cr ink)
+    (C-call "cairo_stroke" cr)
+    (cairo-destroy cr)))
+
+(define-integrable (set-source-rgb cr color widget)
+  (let ((gdkcolor (allocate-color! widget color)))
+    (if gdkcolor
+       (C-call "cairo_set_source_rgb" cr
+               (flo:/ (->flonum (C-> gdkcolor "GdkColor red")) 65535.)
+               (flo:/ (->flonum (C-> gdkcolor "GdkColor green")) 65535.)
+               (flo:/ (->flonum (C-> gdkcolor "GdkColor blue")) 65535.)))))
+
+(define (set-line-options! cr ink widget)
+  (for-each
+    (lambda (entry)
+      (let ((name (car entry))
+           (value (cdr entry)))
+       (case name
+         ((COLOR) (set-source-rgb cr value widget))
+         ;;((LINE-CAP) ...)
+         ;;((LINE-JOIN) ...)
+         ;;((LINE-MITER-LIMIT) ...)
+         ((LINE-WIDTH) (C-call "cairo_set_line_width" cr value)))))
+    (draw-ink-options ink)))
+
+(define (set-line-dashes! cr ink)
+  (let* ((value (get-option ink 'DASH '()))
+        (dashes (if (and value (not (null? value))) '(5.) #f)))
+    (if dashes
+       (let* ((num (length dashes))
+              (alien (malloc (fix:* num (C-sizeof "double"))
+                             `(array double ,num)))
+              (scan (copy-alien alien)))
+         (for-each
+           (lambda (len)
+             (C->= scan "double" len)
+             (alien-byte-increment! scan (C-sizeof "double") 'double))
+           dashes)
+         (C-call "cairo_set_dash" cr alien num 0)
+         (free alien)))))
 
 (define-integrable (half-line-width ink)
-  (fix:max 1 (fix:1+ (quotient (get-option ink 'WIDTH 1) 2))))
+  (fix:max 1 (fix:1+ (floor->exact (quotient (get-option ink 'LINE-WIDTH 1.)
+                                            2)))))
 
 (define (recache-line-extent! ink)
   (with-fix-rect
@@ -1339,24 +1260,24 @@ USA.
   (guarantee-positive-fixnum width 'set-line-ink-width!)
   (without-interrupts
    (lambda ()
-     (if (set-option!? ink 'LINE-WIDTH width)
+     (if (set-option!? ink 'LINE-WIDTH (->flonum width))
         (recache-line-extent! ink)))))
 
 (define-integrable (guarantee-color-spec spec operator)
   (cond ((string? spec) spec)
-       ((and (vector? spec) (vector-length spec 3)) spec)
+       ((and (vector? spec) (fix:= (vector-length spec) 3)) spec)
        (else (error:wrong-type-argument spec "a color" operator))))
 
 (define (line-ink-color ink)
   (guarantee-line-ink ink 'line-ink-color)
-  (get-option ink 'FOREGROUND '()))
+  (get-option ink 'COLOR '()))
 
 (define (set-line-ink-color! ink color)
   (guarantee-line-ink ink 'set-line-ink-color!)
   (guarantee-color-spec color 'set-line-ink-color!)
   (without-interrupts
    (lambda ()
-     (if (set-option!? ink 'FOREGROUND color)
+     (if (set-option!? ink 'COLOR color)
         (drawing-damage ink)))))
 
 (define (line-ink-dash-color ink)
@@ -1366,7 +1287,7 @@ USA.
 (define (set-line-ink-dash-color! ink color)
   (guarantee-line-ink ink 'set-line-ink-dash-color!)
   (if (not (or (eq? color #t) (eq? color #f)))
-      (guarantee-color-spec color 'set-line-ink-dash!))
+      (guarantee-color-spec color 'set-line-ink-dash-color!))
   (without-interrupts
    (lambda ()
      (if (set-option!? ink 'DASH color)
@@ -1379,7 +1300,7 @@ USA.
 (define-guarantee rectangle-ink "a <rectangle-ink>")
 
 (define-method fix-ink-expose-callback ((ink <rectangle-ink>) widget window area)
-  (declare (ignore area))
+  (declare (ignore window area))
   (%trace2 ";drawing "ink" on "widget"\n")
   (let ((view (fix-layout-view widget))
        (rect (rectangle-ink-rect ink)))
@@ -1387,47 +1308,44 @@ USA.
      rect
      (lambda (x y width height)
        (let ((x (fix:- x (fix-rect-x view)))
-            (y (fix:- y (fix-rect-y view))))
-        (with-fill-gc
-         ink widget
-         (lambda (gc)
-           (C-call "gdk_draw_rectangle" window gc 1 x y width height)))
-        (with-outline-gc
-         ink widget
-         (lambda (gc)
-           (C-call "gdk_draw_rectangle" window gc 0 x y width height))))))))
-
-(define (with-fill-gc ink widget receiver)
+            (y (fix:- y (fix-rect-y view)))
+            (cr (gdk-cairo-create (fix-widget-window widget))))
+        (C-call "cairo_rectangle" cr
+                (->flonum x) (->flonum y)
+                (->flonum width) (->flonum height))
+        (let ((fill (get-option ink 'FILL '())))
+          (if (not (null? fill))
+              (begin
+                (C-call "cairo_save" cr)
+                (set-fill-options! cr ink widget)
+                (C-call "cairo_fill_preserve" cr)
+                (C-call "cairo_restore" cr))))
+        (let ((outline (get-option ink 'OUTLINE '())))
+          (if (not (null? outline))
+              (begin
+                (set-outline-options! cr ink widget)
+                (C-call "cairo_stroke" cr))))
+        (cairo-destroy cr))))))
+
+(define (set-fill-options! cr ink widget)
   ;; For filling ovals, rectangles...
-  (let ((options (fill-options ink widget)))
-    (if (pair? options)
-       (with-gc options widget receiver))))
-
-(define (fill-options ink widget)
-  (append-map!
-   (lambda (entry)
-     (case (car entry)
-       ((FILL) `((FOREGROUND . ,(allocate-color! widget (cdr entry)))))
-       ;;((STIPPLE) `((STIPPLE . ,(bitmap-cache! entry))))
-       (else '())))
-   (draw-ink-options ink)))
-
-(define (with-outline-gc ink widget receiver)
-  ;; For outlining arcs, rectangles...
-  (let ((options (outline-options ink widget)))
-    (if (pair? options)
-       (with-gc options widget receiver))))
-
-(define (outline-options ink widget)
-  (append-map!
-   (lambda (entry)
-     (case (car entry)
-       ((OUTLINE) `((FOREGROUND . ,(allocate-color! widget (cdr entry)))))
-       ((WIDTH) `((LINE-WIDTH . ,(cdr entry))))
-       ;;((STYLE) `((LINE-STYLE . ,(cdr entry))))
-       ;;((OUTLINESTIPPLE) `((OUTLINESTIPPLE . ,(bitmap-cache! entry))))
-       (else '())))
-   (draw-ink-options ink)))
+  (for-each
+    (lambda (entry)
+      (let ((name (car entry))
+           (value (cdr entry)))
+       (case name
+         ((FILL) (set-source-rgb cr value widget)))))
+    (draw-ink-options ink)))
+
+(define (set-outline-options! cr ink widget)
+  (for-each
+    (lambda (entry)
+      (let ((name (car entry))
+           (value (cdr entry)))
+       (case name
+         ((OUTLINE) (set-source-rgb cr value widget))
+         ((LINE-WIDTH) (C-call "cairo_set_line_width" cr value)))))
+    (draw-ink-options ink)))
 
 (define (recache-rectangle-extent! ink)
   (with-fix-rect-bounds
@@ -1477,7 +1395,7 @@ USA.
   (guarantee-positive-fixnum width 'set-rectangle-ink-width!)
   (without-interrupts
    (lambda ()
-     (if (set-option!? ink 'LINE-WIDTH width)
+     (if (set-option!? ink 'LINE-WIDTH (->flonum width))
         (recache-rectangle-extent! ink)))))
 
 (define (rectangle-ink-color ink)
@@ -1504,36 +1422,50 @@ USA.
      (if (set-option!? ink 'FILL color)
         (drawing-damage ink)))))
 \f
+(define-integrable flo:pi (flo:* 4. (flo:atan2 1. 1.)))
+
 (define-class (<arc-ink> (constructor ()))
     (<draw-ink>)
   (rect define standard initializer (lambda () (make-fix-rect 0 0 0 0)))
-  (%start-angle define standard initial-value 0)
-  (%sweep-angle define standard initial-value (fix:* 64 360)))
+  (%start-angle define standard initial-value 0.)
+  (%sweep-angle define standard initial-value (flo:* 2. flo:pi)))
 
 (define-guarantee arc-ink "an <arc-ink>")
 
 (define-method fix-ink-expose-callback ((ink <arc-ink>) widget window area)
-  (declare (ignore area))
+  (declare (ignore window area))
   (%trace2 ";drawing "ink" on "widget"\n")
   (let ((view (fix-layout-view widget))
        (rect (arc-ink-rect ink)))
     (with-fix-rect
      rect
      (lambda (x y width height)
-       (let ((x (fix:- x (fix-rect-x view)))
-            (y (fix:- y (fix-rect-y view))))
-        (with-fill-gc
-         ink widget
-         (lambda (gc)
-           (C-call "gdk_draw_arc" window gc 1 x y width height
-                   (arc-ink-%start-angle ink)
-                   (arc-ink-%sweep-angle ink))))
-        (with-outline-gc
-         ink widget
-         (lambda (gc)
-           (C-call "gdk_draw_arc" window gc 0 x y width height
-                   (arc-ink-%start-angle ink)
-                   (arc-ink-%sweep-angle ink)))))))))
+       (let ((x. (->flonum (fix:- x (fix-rect-x view))))
+            (y. (->flonum (fix:- y (fix-rect-y view))))
+            (width. (->flonum width))
+            (height. (->flonum height))
+            (start. (arc-ink-%start-angle ink))
+            (end. (flo:+ (arc-ink-%start-angle ink)
+                         (arc-ink-%sweep-angle ink)))
+            (cr (gdk-cairo-create (fix-widget-window widget))))
+        (C-call "cairo_save" cr)
+        (C-call "cairo_translate" cr
+                (flo:+ x. (flo:/ width. 2.))
+                (flo:+ y. (flo:/ height. 2.)))
+        (C-call "cairo_scale" cr (flo:/ width. 2.) (flo:/ height. 2.))
+        (C-call "cairo_arc" cr 0. 0. 1. start. end.)
+        (C-call "cairo_restore" cr)
+        (let ((fill (get-option ink 'FILL '())))
+          (if (not (null? fill))
+              (begin
+                (set-fill-options! cr ink widget)
+                (C-call "cairo_fill_preserve" cr))))
+        (let ((outline (get-option ink 'OUTLINE '())))
+          (if (not (null? outline))
+              (begin
+                (set-outline-options! cr ink widget)
+                (C-call "cairo_stroke" cr))))
+        (cairo-destroy cr))))))
 
 (define (recache-arc-extent! ink)
   (with-fix-rect-bounds
@@ -1575,35 +1507,41 @@ USA.
        (drawing-damage ink)))))
 
 (define (arc-ink-start-angle arc)
-  (/ (arc-ink-%start-angle arc) 64))
+  (guarantee-arc-ink arc 'arc-ink-start-angle)
+  (flo:* (flo:/ (arc-ink-%start-angle arc) flo:pi) 180.))
 
 (define (set-arc-ink-start-angle! arc degrees)
-  (let ((new (modulo (round (* 64 degrees)) (fix:* 64 360))))
-    (if (not (fix:= new (arc-ink-%start-angle arc)))
+  (guarantee-arc-ink arc 'set-arc-ink-start-angle!)
+  (guarantee-real degrees 'set-arc-ink-start-angle!)
+  (let ((new (flo:* (->flonum degrees) (flo:/ flo:pi 180.))))
+    (if (not (flo:= new (arc-ink-%start-angle arc)))
        (begin
          (set-arc-ink-%start-angle! arc new)
          (drawing-damage arc)))))
 
-(define-integrable (arc-ink-sweep-angle arc)
-  (/ (arc-ink-%sweep-angle arc) 64))
+(define (arc-ink-sweep-angle arc)
+  (guarantee-arc-ink arc 'arc-ink-sweep-angle)
+  (flo:* (flo:/ (arc-ink-%sweep-angle arc) flo:pi) 180.))
 
 (define (set-arc-ink-sweep-angle! arc degrees)
-  (let ((new (fix:min (round (* 64 degrees)) (fix:* 64 360))))
-    (if (not (fix:= new (arc-ink-%sweep-angle arc)))
+  (guarantee-arc-ink arc 'set-arc-ink-sweep-angle!)
+  (guarantee-real degrees 'set-arc-ink-sweep-angle!)
+  (let ((new (flo:* (->flonum degrees) (flo:/ flo:pi 180.))))
+    (if (not (flo:= new (arc-ink-%sweep-angle arc)))
        (begin
          (set-arc-ink-%sweep-angle! arc new)
          (drawing-damage arc)))))
 
 (define (arc-ink-width ink)
   (guarantee-arc-ink ink 'arc-ink-width)
-  (get-option ink 'WIDTH '()))
+  (get-option ink 'LINE-WIDTH '()))
 
 (define (set-arc-ink-width! ink width)
   (guarantee-arc-ink ink 'set-arc-ink-width!)
   (guarantee-positive-fixnum width 'set-arc-ink-width!)
   (without-interrupts
    (lambda ()
-     (if (set-option!? ink 'WIDTH width)
+     (if (set-option!? ink 'LINE-WIDTH (->flonum width))
         (recache-arc-extent! ink)))))
 
 (define (arc-ink-color ink)
@@ -1635,34 +1573,31 @@ USA.
 
 (define-guarantee text-ink "a <text-ink>")
 
-;; The PangoLayout for gdk_draw_layout in the expose handler.
 (define-generic text-ink-pango-layout (ink))
 
 (define-method fix-ink-expose-callback ((ink <text-ink>) widget window area)
-  (declare (ignore area))
+  (declare (ignore window area))
   (%trace2 ";drawing "ink" on "widget"\n")
-  (let ((view (fix-layout-view widget))
-       (rect (fix-ink-extent ink)))
-    (let ((x (fix:- (fix-rect-x rect) (fix-rect-x view)))
-         (y (fix:- (fix-rect-y rect) (fix-rect-y view)))
-         (layout (text-ink-pango-layout ink)))
-      (if layout
-         (with-text-gc
-          ink widget
-          (lambda (gc)
-            (C-call "gdk_draw_layout" window gc x y
-                    (gobject-alien layout))))))))
-
-(define (with-text-gc ink widget receiver)
-  (with-gc (text-options ink widget) widget receiver))
-
-(define (text-options ink widget)
-  (append-map!
-   (lambda (entry)
-     (case (car entry)
-       ((FOREGROUND) `((FOREGROUND . ,(allocate-color! widget (cdr entry)))))
-       (else '())))
-   (draw-ink-options ink)))
+  (let ((layout (text-ink-pango-layout ink)))
+    (if layout
+       (let ((view (fix-layout-view widget))
+             (rect (fix-ink-extent ink)))
+         (let ((x (fix:- (fix-rect-x rect) (fix-rect-x view)))
+               (y (fix:- (fix-rect-y rect) (fix-rect-y view)))
+               (cr (gdk-cairo-create (fix-widget-window widget))))
+           (set-text-options! cr ink widget)
+           (C-call "cairo_move_to" cr (->flonum x) (->flonum y))
+           (C-call "pango_cairo_show_layout" cr (gobject-alien layout))
+           (cairo-destroy cr))))))
+
+(define (set-text-options! cr ink widget)
+  (for-each
+    (lambda (entry)
+      (let ((name (car entry))
+           (value (cdr entry)))
+       (case name
+         ((COLOR) (set-source-rgb cr value widget)))))
+    (draw-ink-options ink)))
 
 (define (set-text-ink-position! ink x y)
   (guarantee-fixnum x 'set-text-ink-position!)
@@ -1697,14 +1632,14 @@ USA.
 
 (define (text-ink-color ink)
   (guarantee-text-ink ink 'text-ink-color)
-  (get-option ink 'FOREGROUND '()))
+  (get-option ink 'COLOR '()))
 
 (define (set-text-ink-color! ink color)
   (guarantee-text-ink ink 'set-text-ink-color!)
   (guarantee-color-spec color 'set-text-ink-color!)
   (without-interrupts
    (lambda ()
-     (if (set-option!? ink 'FOREGROUND color)
+     (if (set-option!? ink 'COLOR color)
         (drawing-damage ink)))))
 
 (define (text-ink-xy-to-index ink x y)
@@ -1865,30 +1800,20 @@ USA.
          unspecific))))
 
 (define-method fix-ink-expose-callback ((ink <image-ink>) widget window area)
+  (declare (ignore window area))
   (%trace2 ";drawing "ink" on "widget"\n")
 
   (let ((pixbuf (let ((p (image-ink-pixbuf ink)))
                  (if p (gobject-alien p) #f))))
     (if (and pixbuf (not (alien-null? pixbuf)))
-       (let ((extent (fix-ink-extent ink))
-             (view (fix-layout-view widget)))
-         (let ((i (fix-rect-intersection extent area))
-               (view-x (fix-rect-x view))
-               (view-y (fix-rect-y view)))
-           (with-gc '() widget
-            (lambda (gc)
-              (C-call "gdk_draw_pixbuf" window gc
-                      pixbuf
-                      ;; drawing->image
-                      (fix:- (fix-rect-x i) (fix-rect-x extent)) ;src_x
-                      (fix:- (fix-rect-y i) (fix-rect-y extent)) ;src_y
-                      ;; drawing->window
-                      (fix:- (fix-rect-x i) view-x) ;dest_x
-                      (fix:- (fix-rect-y i) view-y) ;dest_y
-                      (fix-rect-width i) (fix-rect-height i)
-                      (C-enum "GDK_RGB_DITHER_NONE")
-                      0 0              ;x_dither, y_dither
-                      ))))))))
+       (let ((view (fix-layout-view widget))
+             (extent (fix-ink-extent ink))
+             (cr (gdk-cairo-create (fix-widget-window widget))))
+         (let ((x. (->flonum (fix:- (fix-rect-x extent) (fix-rect-x view))))
+               (y. (->flonum (fix:- (fix-rect-y extent) (fix-rect-y view)))))
+           (C-call "gdk_cairo_set_source_pixbuf" cr pixbuf x. y.)
+           (C-call "cairo_paint" cr)
+           (cairo-destroy cr))))))
 
 (define-method fix-ink-move! ((ink <image-ink>) dx dy)
   (generic-fix-ink-move! ink dx dy))
index 6c06241137de9cae64facb5eed02a60da418d8a4..ca93eb6154f8f0e7b82d6070dab3400ea9315dfe 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-Copyright (C) 2007, 2008, 2009, 2011  Matthew Birkholz
+Copyright (C) 2007, 2008, 2009, 2011, 2012  Matthew Birkholz
 
 This file is part of MIT/GNU Scheme.
 
@@ -27,6 +27,7 @@ USA.
 (define (make-gtk-event-viewer-demo)
   (let ((window (gtk-window-new 'toplevel))
        (gtk-ev (make-gtk-event-viewer)))
+    (gtk-window-set-default-size window 450 300)
     (gtk-container-add window gtk-ev)
     (gtk-window-set-title window "gtk-event-viewer")
     (gtk-container-set-border-width window 10)
@@ -58,11 +59,9 @@ USA.
          initial-value '()))
 
 (define-method initialize-instance ((widget <gtk-event-viewer>))
-  (%trace ";\t(initialize-instance <gtk-event-viewer>) "widget")...\n")
   (call-next-method widget)
+  (%trace ";\t(initialize-instance <gtk-event-viewer>) "widget")...\n")
   (let ((alien (gobject-alien widget)))
-    (C->= alien "GtkWidget requisition width" 450)
-    (C->= alien "GtkWidget requisition height" 300)
     (C-call "gtk_widget_set_has_window" alien 1)
     (C-call "gtk_widget_set_can_focus" alien 1))
   (set-gtk-widget-size-allocate-callback! widget size-allocate-callback)
@@ -98,7 +97,7 @@ USA.
     (C-call "gdk_window_new" main-GdkWindow parent-GdkWindow attr
            (bit-ior (C-enum "GDK_WA_X") (C-enum "GDK_WA_Y")))
     (error-if-null main-GdkWindow "Could not create main window:" widget)
-    (C->= alien "GtkWidget window" main-GdkWindow)
+    (C-call "gtk_widget_set_window" alien main-GdkWindow)
     (C-call "gdk_window_set_user_data" main-GdkWindow alien)
 
     ;; Event window
@@ -147,17 +146,12 @@ USA.
 
 (define (size-allocate-callback widget GtkAllocation)
   (%trace2 ";size-allocate "widget" "GtkAllocation"\n")
-  (let ((alien (gobject-alien widget))
-       (x (C-> GtkAllocation "GtkAllocation x"))
+  (let ((x (C-> GtkAllocation "GtkAllocation x"))
        (y (C-> GtkAllocation "GtkAllocation y"))
        (width (C-> GtkAllocation "GtkAllocation width"))
        (height (C-> GtkAllocation "GtkAllocation height"))
        (spacing 10))
     (set-fix-rect! (gtk-event-viewer-geometry widget) x y width height)
-    (C->= alien "GtkWidget allocation x" x)
-    (C->= alien "GtkWidget allocation y" y)
-    (C->= alien "GtkWidget allocation width" width)
-    (C->= alien "GtkWidget allocation height" height)
     (let ((event-width (max (- width (* 2 spacing)) 0))
          (event-height (max (- (quotient height 5) spacing) 0)))
       (let ((event-x (quotient (- width event-width) 2))
@@ -196,7 +190,7 @@ USA.
        (expose-handler widget GdkEvent)
        (begin
          (if (and (= type (C-enum "GDK_KEY_PRESS"))
-                  (= (C-> GdkEvent "GdkEvent key keyval") (C-enum "GDK_D")))
+                  (= (C-> GdkEvent "GdkEvent key keyval") (C-enum "GDK_KEY_D")))
              ;; Test debugging in a callback.
              (bkpt 'Test))
 
@@ -223,38 +217,30 @@ USA.
 
 (define (paint-window widget x y width height)
   (%trace2 ";(paint-window "widget" "x" "y" "width" "height")\n")
-  (let* ((alien (gobject-alien widget))
-        (window (gtk-event-viewer-window widget))
-        (rect (gtk-event-viewer-event-box widget))
-        (style (C-> alien "GtkWidget style"))
-        (state (C-> alien "GtkWidget state"))
-        (black-gc (C-> style "GtkStyle black_gc"))
-        (exposed-area (gdk-rectangle x y width height)))
-
-    ;; No longer needed in Gtk+2.0.
-    ;;(C-call "gdk_window_clear_area" window x y width height)
-    ;;(C-call "gdk_gc_set_clip_rectangle" black-gc exposed-area)
-
-    ;; Draw a black rectangle around the event window
-
-    (C-call "gdk_draw_rectangle" window black-gc 0
-           (-1+ (fix-rect-x rect))
-           (-1+ (fix-rect-y rect))
-           (+ 2 (fix-rect-width rect))
-           (+ 2 (fix-rect-height rect)))
-    (C-call "gdk_gc_set_clip_rectangle" black-gc 0)
-
-    ;; Draw text in the description area, if applicable.
-
+  (let ((alien (gobject-alien widget))
+       (cr (gdk-cairo-create (gtk-event-viewer-window widget))))
+
+    ;; Draw a black rectangle around the event window.
+    (let ((box (gtk-event-viewer-event-box widget)))
+      (C-call "cairo_rectangle" cr
+             (->flonum (-1+ (fix-rect-x box)))
+             (->flonum (-1+ (fix-rect-y box)))
+             (->flonum (+ 2 (fix-rect-width box)))
+             (->flonum (+ 2 (fix-rect-height box))))
+      (C-call "cairo_stroke" cr))
+
+    ;; Draw text in the description area.
     (if (gtk-event-viewer-buffer widget)
-       (let* ((descrip-box (gtk-event-viewer-description-box widget))
-              (descrip-gdkrect (gdk-rectangle-from-rect descrip-box))
-              (intersection (gdk-rectangle)))
-         (if (not (= 0 (C-call "gdk_rectangle_intersect"
-                                   exposed-area descrip-gdkrect intersection)))
-             (let ((space 2)
-                   (desc-bottom (fix-rect-max-y descrip-box))
-                   (layout (make-alien '|PangoLayout|)))
+       (let ((descrip-box (gtk-event-viewer-description-box widget)))
+         (let ((space 2))
+           (let ((desc-bottom (fix-rect-max-y descrip-box)))
+             (let ((layout (make-alien '|PangoLayout|)))
+               (C-call "cairo_rectangle" cr
+                       (->flonum (fix-rect-x descrip-box))
+                       (->flonum (fix-rect-y descrip-box))
+                       (->flonum (fix-rect-width descrip-box))
+                       (->flonum (fix-rect-height descrip-box)))
+               (C-call "cairo_clip" cr)
                (C-call "gtk_widget_create_pango_layout" layout alien 0)
                (let loop ((y (fix-rect-y descrip-box))
                           (lines (gtk-event-viewer-buffer widget)))
@@ -268,10 +254,8 @@ USA.
                               (pangos->pixels
                                (C-call "pango_layout_iter_get_baseline"
                                        iter))))
-                         (C-call "gtk_paint_layout"
-                                 style window state 1 ;; Use the text gc.
-                                 intersection alien "gtk-event-viewer"
-                                 10 y layout)
+                         (C-call "cairo_move_to" cr (->flonum 10) (->flonum y))
+                         (C-call "pango_cairo_show_layout" cr layout)
                          (C-call "pango_layout_iter_free" iter)
                          (alien-null! iter)
                          (let ((new-y (+ y (+ baseline space))))
@@ -280,44 +264,44 @@ USA.
                                  (set-cdr! lines '())
                                  unspecific)
                                (loop new-y (cdr lines))))))))
-               (C-call "g_object_unref" layout)))
-         (free descrip-gdkrect)
-         (free intersection)))
+               (C-call "g_object_unref" layout))))))
+    (cairo-destroy cr)
 
+    ;; Draw a focus indicator around the event window.
     (if (gtk-widget-has-focus? widget)
-       (C-call "gtk_paint_focus"
-               style window state 0 alien "gtk-event-viewer"
-               x y (-1+ width) (-1+ height)))
-    (free exposed-area)
-    unspecific))
+       (let ((window (gtk-event-viewer-window widget))
+             (box (gtk-event-viewer-event-box widget))
+             (style (C-> alien "GtkWidget style"))
+             (state (C-> alien "GtkWidget state")))
+         (C-call "gtk_paint_focus"
+                 style window state 0 alien "gtk-event-viewer"
+                 (- (fix-rect-x box) 5)
+                 (- (fix-rect-y box) 5)
+                 (+ (fix-rect-width box) 10)
+                 (+ (fix-rect-height box) 10))))))
 
 (define (paint-event-window widget x y width height)
   (%trace2 ";(paint-event-window "widget" "x" "y" "width" "height")\n")
-  (let ((alien (gobject-alien widget))
-       (event-window (gtk-event-viewer-event-window widget))
-       (extent (pango-rectangle))
-       (layout (make-alien '|PangoLayout|))
-       (area (pango-rectangle x y width height)))
-    (C-call "gdk_window_clear_area" event-window x y width height)
-    (let ((title (string-append "Event Window (0x"
-                               (alien/address-string event-window)")")))
-      (C-call "gtk_widget_create_pango_layout" layout alien title))
+  (let* ((event-window (gtk-event-viewer-event-window widget))
+        (cr (gdk-cairo-create event-window))
+        (extent (pango-rectangle))
+        (layout (make-alien '|PangoLayout|))
+        (title (string-append "Event Window (0x"
+                              (alien/address-string event-window)")")))
+    (C-call "pango_cairo_create_layout" layout cr)
+    (C-call "pango_layout_set_text" layout title -1)
     (C-call "pango_layout_get_pixel_extents" layout extent 0)
-    (C-call "gtk_paint_layout"
-           (C-> alien "GtkWidget style")
-           event-window
-           (C-> alien "GtkWidget state")
-           1 ;; Use the text gc, not the fg gc.
-           area alien "gtk-event-viewer"
+    (C-call "cairo_move_to" cr
            ;;center
+           (->flonum
            (quotient (- (fix-rect-width (gtk-event-viewer-event-box widget))
                         (C-> extent "PangoRectangle width"))
-                     2)
-           0
-           layout)
+                     2))
+           0.)
+    (C-call "pango_cairo_show_layout" cr layout)
     (C-call "g_object_unref" layout)
     (free extent)
-    (free area)
+    (cairo-destroy cr)
     unspecific))
 
 (define (push-text ev lines)
index 405663ac7b0cbdd6a01b0d37616a4e4951c00082..71136da235c9ca57a970f72d01ac1fe574820f24 100644 (file)
@@ -320,8 +320,8 @@ USA.
           (define-integrable (ref i)
             (round->exact (* (vector-ref spec i) 65535)))
           (C->= new "GdkColor red" (ref 0))
-          (C->= new "GdkColor blue" (ref 1))
-          (C->= new "GdkColor green" (ref 2))
+          (C->= new "GdkColor green" (ref 1))
+          (C->= new "GdkColor blue" (ref 2))
           new))
        (else #f)))
 
index b25249f58eb3482b8499b10f7d624a934930d71f..ef12d6c547cac8387a3f475a431b425a779c5769 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-Copyright (C) 2007, 2008, 2009, 2010, 2011  Matthew Birkholz
+Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012  Matthew Birkholz
 
 This file is part of MIT/GNU Scheme.
 
@@ -54,6 +54,14 @@ USA.
          <pixbuf>
          gdk-window-process-updates))
 
+(define-package (gtk cairo)
+  (parent (gtk))
+  (files "cairo")
+  (export (gtk)
+         gdk-cairo-create
+         cairo-destroy
+         check-cairo-status))
+
 (define-package (gtk gio)
   (parent (gtk))
   (files "gio")
index 7bcaf72607e5be8565115c0a267681962a5be41f..011327a973e54294039d3c75ef1745a19cb34172 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-Copyright (C) 2009, 2010, 2011  Matthew Birkholz
+Copyright (C) 2009, 2010, 2011, 2012  Matthew Birkholz
 
 This file is part of MIT/GNU Scheme.
 
@@ -46,26 +46,20 @@ USA.
 (define-syntax translation-vector
   (sc-macro-transformer
    (lambda (form usage-env)
-     (let* ((overrides
-            `((,(C-enum "GDK_Cancel") . stop) ;originally called Cancel
-              ))
-           (keyval.name
-            (lambda (gdk-name.keyval)
+       (list->vector
+       (map (lambda (gdk-name.keyval)
               (let* ((keyval (cdr gdk-name.keyval))
                      (gdk-name (car gdk-name.keyval))
                      (string (symbol-name gdk-name))
-                     (name (cond ((assv keyval overrides) => cdr)
-                                 ((string-prefix? "GDK_" string)
+                     (name (cond ((string-prefix? "GDK_KEY_" string)
                                   (intern (string-replace
                                            (string-tail string 4) #\_ #\-)))
                                  (else
                                   (warn "Unexpected GdkKeysym name:" gdk-name)
                                   gdk-name))))
-                (cons keyval name)))))
-       (list->vector
-       (map keyval.name
+                (cons keyval name)))
             (c-enum-constant-values '(ENUM |GdkKeysyms|) form
-                                    (find-c-includes usage-env))))))))
+                                    (find-c-includes usage-env)))))))
 
 (define gtk-key-translation-table
   (sort! (translation-vector) (lambda (a b) (< (car a) (car b)))))
\ No newline at end of file
index bd8f9fb43f5026d10709b71fc03319578015664f..bd49f5f291357901393cda70c4034acb89631676 100644 (file)
@@ -1,4 +1,27 @@
-;;;-*-Scheme-*-
+#| -*-Scheme-*-
+
+Copyright (C) 2012  Matthew Birkholz
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+|#
+
+;;;; Test the Gtks
 
 (define gcp)
 (define gls)
@@ -45,7 +68,7 @@
 
   (define-test 'gtk-demos
     (lambda ()
-      (await-closed-demos)
+      (with-gc-notification! #t await-closed-demos)
       (gc-flip)))
 
   (define-test 'gtk-demos.callbacks