summary refs log tree commit diff stats
path: root/lib/base
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2008-11-16 22:08:15 +0100
committerAndreas Rumpf <rumpf_a@web.de>2008-11-16 22:08:15 +0100
commit8b2a9401a147bd0b26cd2976ae71a1022fbde8cc (patch)
treec1a1323003ee8148af5dc60bcf1b88157dd00eb8 /lib/base
parent972c51086152bd45aef4eb17c099fa3472a19d04 (diff)
downloadNim-8b2a9401a147bd0b26cd2976ae71a1022fbde8cc.tar.gz
version 0.7.0
Diffstat (limited to 'lib/base')
-rw-r--r--lib/base/cairo/cairo.nim684
-rw-r--r--lib/base/cairo/cairoft.nim14
-rw-r--r--lib/base/cairo/cairowin32.nim30
-rw-r--r--lib/base/cairo/cairoxlib.nim24
-rw-r--r--lib/base/dialogs.nim14
-rw-r--r--lib/base/gtk/atk.nim1
-rw-r--r--lib/base/gtk/gdk2.nim1629
-rw-r--r--lib/base/gtk/gdk2pixbuf.nim244
-rw-r--r--lib/base/gtk/glib2.nim242
-rw-r--r--lib/base/gtk/gtk2.nim1843
-rw-r--r--lib/base/gtk/libglade2.nim91
-rw-r--r--lib/base/gtk/pango.nim859
-rw-r--r--lib/base/gtk/pangoutils.nim44
-rw-r--r--lib/base/lex.nim73
-rw-r--r--lib/base/nregex.nim124
-rw-r--r--lib/base/pcre.nim587
-rw-r--r--lib/base/regexprs.nim229
17 files changed, 3260 insertions, 3472 deletions
diff --git a/lib/base/cairo/cairo.nim b/lib/base/cairo/cairo.nim
index d2a99f355..6da8183f3 100644
--- a/lib/base/cairo/cairo.nim
+++ b/lib/base/cairo/cairo.nim
@@ -58,7 +58,7 @@ else:
 
 type
   PByte = cstring
-  cairo_status_t* = enum
+  TCairoStatus* = enum
     CAIRO_STATUS_SUCCESS = 0, CAIRO_STATUS_NO_MEMORY,
     CAIRO_STATUS_INVALID_RESTORE, CAIRO_STATUS_INVALID_POP_GROUP,
     CAIRO_STATUS_NO_CURRENT_POINT, CAIRO_STATUS_INVALID_MATRIX,
@@ -69,93 +69,93 @@ type
     CAIRO_STATUS_PATTERN_TYPE_MISMATCH, CAIRO_STATUS_INVALID_CONTENT,
     CAIRO_STATUS_INVALID_FORMAT, CAIRO_STATUS_INVALID_VISUAL,
     CAIRO_STATUS_FILE_NOT_FOUND, CAIRO_STATUS_INVALID_DASH
-  cairo_operator_t* = enum
+  TCairoOperator* = enum
     CAIRO_OPERATOR_CLEAR, CAIRO_OPERATOR_SOURCE, CAIRO_OPERATOR_OVER,
     CAIRO_OPERATOR_IN, CAIRO_OPERATOR_OUT, CAIRO_OPERATOR_ATOP,
     CAIRO_OPERATOR_DEST, CAIRO_OPERATOR_DEST_OVER, CAIRO_OPERATOR_DEST_IN,
     CAIRO_OPERATOR_DEST_OUT, CAIRO_OPERATOR_DEST_ATOP, CAIRO_OPERATOR_XOR,
     CAIRO_OPERATOR_ADD, CAIRO_OPERATOR_SATURATE
-  cairo_antialias_t* = enum
+  TCairoAntialias* = enum
     CAIRO_ANTIALIAS_DEFAULT, CAIRO_ANTIALIAS_NONE, CAIRO_ANTIALIAS_GRAY,
     CAIRO_ANTIALIAS_SUBPIXEL
-  cairo_fill_rule_t* = enum
+  TCairoFillRule* = enum
     CAIRO_FILL_RULE_WINDING, CAIRO_FILL_RULE_EVEN_ODD
-  cairo_line_cap_t* = enum
+  TCairoLineCap* = enum
     CAIRO_LINE_CAP_BUTT, CAIRO_LINE_CAP_ROUND, CAIRO_LINE_CAP_SQUARE
-  cairo_line_join_t* = enum
+  TCairoLineJoin* = enum
     CAIRO_LINE_JOIN_MITER, CAIRO_LINE_JOIN_ROUND, CAIRO_LINE_JOIN_BEVEL
-  cairo_font_slant_t* = enum
+  TCairoFontSlant* = enum
     CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_SLANT_OBLIQUE
-  cairo_font_weight_t* = enum
+  TCairoFontWeight* = enum
     CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_WEIGHT_BOLD
-  cairo_subpixel_order_t* = enum
+  TCairoSubpixelOrder* = enum
     CAIRO_SUBPIXEL_ORDER_DEFAULT, CAIRO_SUBPIXEL_ORDER_RGB,
     CAIRO_SUBPIXEL_ORDER_BGR, CAIRO_SUBPIXEL_ORDER_VRGB,
     CAIRO_SUBPIXEL_ORDER_VBGR
-  cairo_hint_style_t* = enum
+  TCairoHintStyle* = enum
     CAIRO_HINT_STYLE_DEFAULT, CAIRO_HINT_STYLE_NONE, CAIRO_HINT_STYLE_SLIGHT,
     CAIRO_HINT_STYLE_MEDIUM, CAIRO_HINT_STYLE_FULL
-  cairo_hint_metrics_t* = enum
+  TCairoHintMetrics* = enum
     CAIRO_HINT_METRICS_DEFAULT, CAIRO_HINT_METRICS_OFF, CAIRO_HINT_METRICS_ON
-  cairo_path_data_type_t* = enum
+  TCairoPathDataType* = enum
     CAIRO_PATH_MOVE_TO, CAIRO_PATH_LINE_TO, CAIRO_PATH_CURVE_TO,
     CAIRO_PATH_CLOSE_PATH
-  cairo_content_t* = enum
+  TCairoContent* = enum
     CAIRO_CONTENT_COLOR = 0x00001000, CAIRO_CONTENT_ALPHA = 0x00002000,
     CAIRO_CONTENT_COLOR_ALPHA = 0x00003000
-  cairo_format_t* = enum
+  TCairoFormat* = enum
     CAIRO_FORMAT_ARGB32, CAIRO_FORMAT_RGB24, CAIRO_FORMAT_A8, CAIRO_FORMAT_A1
-  cairo_extend_t* = enum
+  TCairoExtend* = enum
     CAIRO_EXTEND_NONE, CAIRO_EXTEND_REPEAT, CAIRO_EXTEND_REFLECT,
     CAIRO_EXTEND_PAD
-  cairo_filter_t* = enum
+  TCairoFilter* = enum
     CAIRO_FILTER_FAST, CAIRO_FILTER_GOOD, CAIRO_FILTER_BEST,
     CAIRO_FILTER_NEAREST, CAIRO_FILTER_BILINEAR, CAIRO_FILTER_GAUSSIAN
-  cairo_font_type_t* = enum
+  TCairoFontType* = enum
     CAIRO_FONT_TYPE_TOY, CAIRO_FONT_TYPE_FT, CAIRO_FONT_TYPE_WIN32,
     CAIRO_FONT_TYPE_ATSUI
-  cairo_pattern_type_t* = enum
+  TCairoPatternType* = enum
     CAIRO_PATTERN_TYPE_SOLID, CAIRO_PATTERN_TYPE_SURFACE,
     CAIRO_PATTERN_TYPE_LINEAR, CAIRO_PATTERN_TYPE_RADIAL
-  cairo_surface_type_t* = enum
+  TCairoSurfaceType* = enum
     CAIRO_SURFACE_TYPE_IMAGE, CAIRO_SURFACE_TYPE_PDF, CAIRO_SURFACE_TYPE_PS,
     CAIRO_SURFACE_TYPE_XLIB, CAIRO_SURFACE_TYPE_XCB, CAIRO_SURFACE_TYPE_GLITZ,
     CAIRO_SURFACE_TYPE_QUARTZ, CAIRO_SURFACE_TYPE_WIN32,
     CAIRO_SURFACE_TYPE_BEOS, CAIRO_SURFACE_TYPE_DIRECTFB,
     CAIRO_SURFACE_TYPE_SVG, CAIRO_SURFACE_TYPE_OS2
-  cairo_svg_version_t* = enum
+  TCairoSvgVersion* = enum
     CAIRO_SVG_VERSION_1_1, CAIRO_SVG_VERSION_1_2
-  Pcairo_surface_t* = ref cairo_surface_t
-  PPcairo_surface_t* = ref Pcairo_surface_t
-  Pcairo_t* = ref cairo_t
-  Pcairo_pattern_t* = ref cairo_pattern_t
-  Pcairo_font_options_t* = ref cairo_font_options_t
-  Pcairo_font_face_t* = ref cairo_font_face_t
-  Pcairo_scaled_font_t* = ref cairo_scaled_font_t
-  Pcairo_bool_t* = ref cairo_bool_t
-  cairo_bool_t* = int32
-  Pcairo_matrix_t* = ref cairo_matrix_t
-  Pcairo_user_data_key_t* = ref cairo_user_data_key_t
-  Pcairo_glyph_t* = ref cairo_glyph_t
-  Pcairo_text_extents_t* = ref cairo_text_extents_t
-  Pcairo_font_extents_t* = ref cairo_font_extents_t
-  Pcairo_path_data_type_t* = ref cairo_path_data_type_t
-  Pcairo_path_data_t* = ref cairo_path_data_t
-  Pcairo_path_t* = ref cairo_path_t
-  Pcairo_rectangle_t* = ref cairo_rectangle_t
-  Pcairo_rectangle_list_t* = ref cairo_rectangle_list_t
-  cairo_destroy_func_t* = proc (data: Pointer){.cdecl.}
-  cairo_write_func_t* = proc (closure: Pointer, data: PByte, len: int32): cairo_status_t{.
+  PCairoSurface* = ptr TCairoSurface
+  PPCairoSurface* = ptr PCairoSurface
+  PCairo* = ptr TCairo
+  PCairoPattern* = ptr TCairoPattern
+  PCairoFontOptions* = ptr TCairoFontOptions
+  PCairoFontFace* = ptr TCairoFontFace
+  PCairoScaledFont* = ptr TCairoScaledFont
+  PCairoBool* = ptr TCairoBool
+  TCairoBool* = int32
+  PCairoMatrix* = ptr TCairoMatrix
+  PCairoUserDataKey* = ptr TCairoUserDataKey
+  PCairoGlyph* = ptr TCairoGlyph
+  PCairoTextExtents* = ptr TCairoTextExtents
+  PCairoFontExtents* = ptr TCairoFontExtents
+  PCairoPathDataType* = ptr TCairoPathDataType
+  PCairoPathData* = ptr TCairoPathData
+  PCairoPath* = ptr TCairoPath
+  PCairoRectangle* = ptr TCairoRectangle
+  PCairoRectangleList* = ptr TCairoRectangleList
+  TCairoDestroyFunc* = proc (data: Pointer){.cdecl.}
+  TCairoWriteFunc* = proc (closure: Pointer, data: PByte, len: int32): TCairoStatus{.
       cdecl.}
-  cairo_read_func_t* = proc (closure: Pointer, data: PByte, len: int32): cairo_status_t{.
+  TCairoReadFunc* = proc (closure: Pointer, data: PByte, len: int32): TCairoStatus{.
       cdecl.}
-  cairo_t* {.final.} = object           #OPAQUE
-  cairo_surface_t* {.final.} = object   #OPAQUE
-  cairo_pattern_t* {.final.} = object   #OPAQUE
-  cairo_scaled_font_t* {.final.} = object #OPAQUE
-  cairo_font_face_t* {.final.} = object #OPAQUE
-  cairo_font_options_t* {.final.} = object #OPAQUE
-  cairo_matrix_t* {.final.} = object
+  TCairo* {.final.} = object           #OPAQUE
+  TCairoSurface* {.final.} = object   #OPAQUE
+  TCairoPattern* {.final.} = object   #OPAQUE
+  TCairoScaledFont* {.final.} = object #OPAQUE
+  TCairoFontFace* {.final.} = object #OPAQUE
+  TCairoFontOptions* {.final.} = object #OPAQUE
+  TCairoMatrix* {.final.} = object
     xx: float64
     yx: float64
     xy: float64
@@ -163,15 +163,15 @@ type
     x0: float64
     y0: float64
 
-  cairo_user_data_key_t* {.final.} = object
+  TCairoUserDataKey* {.final.} = object
     unused: int32
 
-  cairo_glyph_t* {.final.} = object
+  TCairoGlyph* {.final.} = object
     index: int32
     x: float64
     y: float64
 
-  cairo_text_extents_t* {.final.} = object
+  TCairoTextExtents* {.final.} = object
     x_bearing: float64
     y_bearing: float64
     width: float64
@@ -179,30 +179,30 @@ type
     x_advance: float64
     y_advance: float64
 
-  cairo_font_extents_t* {.final.} = object
+  TCairoFontExtents* {.final.} = object
     ascent: float64
     descent: float64
     height: float64
     max_x_advance: float64
     max_y_advance: float64
 
-  cairo_path_data_t* {.final.} = object #* _type : cairo_path_data_type_t;
-                                        #       length : LongInt;
-                                        #    end
+  TCairoPathData* {.final.} = object #* _type : TCairoPathDataType;
+                                     #       length : LongInt;
+                                     #    end
     x: float64
     y: float64
 
-  cairo_path_t* {.final.} = object
-    status: cairo_status_t
-    data: Pcairo_path_data_t
+  TCairoPath* {.final.} = object
+    status: TCairoStatus
+    data: PCairoPathData
     num_data: int32
 
-  cairo_rectangle_t* {.final.} = object
+  TCairoRectangle* {.final.} = object
     x, y, width, height: float64
 
-  cairo_rectangle_list_t* {.final.} = object
-    status: cairo_status_t
-    rectangles: Pcairo_rectangle_t
+  TCairoRectangleList* {.final.} = object
+    status: TCairoStatus
+    rectangles: PCairoRectangle
     num_rectangles: int32
 
 
@@ -211,480 +211,480 @@ proc cairo_version_string*(): cstring{.cdecl, importc, dynlib: LIB_CAIRO.}
   #Helper function to retrieve decoded version
 proc cairo_version*(major, minor, micro: var int32)
   #* Functions for manipulating state objects
-proc cairo_create*(target: Pcairo_surface_t): Pcairo_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_reference*(cr: Pcairo_t): Pcairo_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_destroy*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_reference_count*(cr: Pcairo_t): int32{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_user_data*(cr: Pcairo_t, key: Pcairo_user_data_key_t): pointer{.
-    cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_set_user_data*(cr: PCairo_t, key: Pcairo_user_data_key_t,
-                          user_data: Pointer, destroy: cairo_destroy_func_t): cairo_status_t{.
-    cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_save*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_restore*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_push_group*(cr: PCairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_push_group_with_content*(cr: PCairo_t, content: cairo_content_t){.
-    cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pop_group*(cr: PCairo_t): Pcairo_pattern_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pop_group_to_source*(cr: PCairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_create*(target: PCairoSurface): PCairo{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_reference*(cr: PCairo): PCairo{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_destroy*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_reference_count*(cr: PCairo): int32{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_user_data*(cr: PCairo, key: PCairoUserDataKey): pointer{.
+    cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_set_user_data*(cr: PCairo, key: PCairoUserDataKey,
+                          user_data: Pointer, destroy: TCairoDestroyFunc): TCairoStatus{.
+    cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_save*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_restore*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_push_group*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_push_group_with_content*(cr: PCairo, content: TCairoContent){.
+    cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_pop_group*(cr: PCairo): PCairoPattern{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_pop_group_to_source*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Modify state
-proc cairo_set_operator*(cr: Pcairo_t, op: cairo_operator_t){.cdecl, importc,
+proc cairo_set_operator*(cr: PCairo, op: TCairoOperator){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_source*(cr: Pcairo_t, source: Pcairo_pattern_t){.cdecl, importc,
+proc cairo_set_source*(cr: PCairo, source: PCairoPattern){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_source_rgb*(cr: Pcairo_t, red, green, blue: float64){.cdecl, importc,
+proc cairo_set_source_rgb*(cr: PCairo, red, green, blue: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_source_rgba*(cr: Pcairo_t, red, green, blue, alpha: float64){.
+proc cairo_set_source_rgba*(cr: PCairo, red, green, blue, alpha: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_set_source_surface*(cr: Pcairo_t, surface: Pcairo_surface_t,
+proc cairo_set_source_surface*(cr: PCairo, surface: PCairoSurface,
                                x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_set_tolerance*(cr: Pcairo_t, tolerance: float64){.cdecl, importc,
+proc cairo_set_tolerance*(cr: PCairo, tolerance: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_antialias*(cr: Pcairo_t, antialias: cairo_antialias_t){.cdecl, importc,
+proc cairo_set_antialias*(cr: PCairo, antialias: TCairoAntialias){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_fill_rule*(cr: Pcairo_t, fill_rule: cairo_fill_rule_t){.cdecl, importc,
+proc cairo_set_fill_rule*(cr: PCairo, fill_rule: TCairoFillRule){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_line_width*(cr: Pcairo_t, width: float64){.cdecl, importc,
+proc cairo_set_line_width*(cr: PCairo, width: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_line_cap*(cr: Pcairo_t, line_cap: cairo_line_cap_t){.cdecl, importc,
+proc cairo_set_line_cap*(cr: PCairo, line_cap: TCairoLineCap){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_line_join*(cr: Pcairo_t, line_join: cairo_line_join_t){.cdecl, importc,
+proc cairo_set_line_join*(cr: PCairo, line_join: TCairoLineJoin){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_dash*(cr: Pcairo_t, dashes: openarray[float64],
+proc cairo_set_dash*(cr: PCairo, dashes: openarray[float64],
                      offset: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_set_miter_limit*(cr: Pcairo_t, limit: float64){.cdecl, importc,
+proc cairo_set_miter_limit*(cr: PCairo, limit: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_translate*(cr: Pcairo_t, tx, ty: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scale*(cr: Pcairo_t, sx, sy: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_rotate*(cr: Pcairo_t, angle: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_transform*(cr: Pcairo_t, matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_translate*(cr: PCairo, tx, ty: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_scale*(cr: PCairo, sx, sy: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_rotate*(cr: PCairo, angle: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_transform*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_matrix*(cr: Pcairo_t, matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_set_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_identity_matrix*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_user_to_device*(cr: Pcairo_t, x, y: var float64){.cdecl, importc,
+proc cairo_identity_matrix*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_user_to_device*(cr: PCairo, x, y: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_user_to_device_distance*(cr: Pcairo_t, dx, dy: var float64){.cdecl, importc,
+proc cairo_user_to_device_distance*(cr: PCairo, dx, dy: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_device_to_user*(cr: Pcairo_t, x, y: var float64){.cdecl, importc,
+proc cairo_device_to_user*(cr: PCairo, x, y: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_device_to_user_distance*(cr: Pcairo_t, dx, dy: var float64){.cdecl, importc,
+proc cairo_device_to_user_distance*(cr: PCairo, dx, dy: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* Path creation functions
-proc cairo_new_path*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_move_to*(cr: Pcairo_t, x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_new_sub_path*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_line_to*(cr: Pcairo_t, x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_curve_to*(cr: Pcairo_t, x1, y1, x2, y2, x3, y3: float64){.cdecl, importc,
+proc cairo_new_path*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_move_to*(cr: PCairo, x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_new_sub_path*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_line_to*(cr: PCairo, x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_curve_to*(cr: PCairo, x1, y1, x2, y2, x3, y3: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_arc*(cr: Pcairo_t, xc, yc, radius, angle1, angle2: float64){.cdecl, importc,
+proc cairo_arc*(cr: PCairo, xc, yc, radius, angle1, angle2: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_arc_negative*(cr: Pcairo_t, xc, yc, radius, angle1, angle2: float64){.
+proc cairo_arc_negative*(cr: PCairo, xc, yc, radius, angle1, angle2: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_rel_move_to*(cr: Pcairo_t, dx, dy: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_rel_line_to*(cr: Pcairo_t, dx, dy: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_rel_curve_to*(cr: Pcairo_t, dx1, dy1, dx2, dy2, dx3, dy3: float64){.
+proc cairo_rel_move_to*(cr: PCairo, dx, dy: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_rel_line_to*(cr: PCairo, dx, dy: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_rel_curve_to*(cr: PCairo, dx1, dy1, dx2, dy2, dx3, dy3: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_rectangle*(cr: Pcairo_t, x, y, width, height: float64){.cdecl, importc,
+proc cairo_rectangle*(cr: PCairo, x, y, width, height: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_close_path*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_close_path*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Painting functions
-proc cairo_paint*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_paint_with_alpha*(cr: Pcairo_t, alpha: float64){.cdecl, importc,
+proc cairo_paint*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_paint_with_alpha*(cr: PCairo, alpha: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_mask*(cr: Pcairo_t, pattern: Pcairo_pattern_t){.cdecl, importc,
+proc cairo_mask*(cr: PCairo, pattern: PCairoPattern){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_mask_surface*(cr: Pcairo_t, surface: Pcairo_surface_t,
+proc cairo_mask_surface*(cr: PCairo, surface: PCairoSurface,
                          surface_x, surface_y: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_stroke*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_stroke_preserve*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_fill*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_fill_preserve*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_copy_page*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_show_page*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_stroke*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_stroke_preserve*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_fill*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_fill_preserve*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_copy_page*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_show_page*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Insideness testing
-proc cairo_in_stroke*(cr: Pcairo_t, x, y: float64): cairo_bool_t{.cdecl, importc,
+proc cairo_in_stroke*(cr: PCairo, x, y: float64): TCairoBool{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_in_fill*(cr: Pcairo_t, x, y: float64): cairo_bool_t{.cdecl, importc,
+proc cairo_in_fill*(cr: PCairo, x, y: float64): TCairoBool{.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* Rectangular extents
-proc cairo_stroke_extents*(cr: Pcairo_t, x1, y1, x2, y2: var float64){.cdecl, importc,
+proc cairo_stroke_extents*(cr: PCairo, x1, y1, x2, y2: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_fill_extents*(cr: Pcairo_t, x1, y1, x2, y2: var float64){.cdecl, importc,
+proc cairo_fill_extents*(cr: PCairo, x1, y1, x2, y2: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* Clipping
-proc cairo_reset_clip*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_clip*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_clip_preserve*(cr: Pcairo_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_clip_extents*(cr: Pcairo_t, x1, y1, x2, y2: var float64){.cdecl, importc,
+proc cairo_reset_clip*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_clip*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_clip_preserve*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_clip_extents*(cr: PCairo, x1, y1, x2, y2: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_copy_clip_rectangle_list*(cr: Pcairo_t): Pcairo_rectangle_list_t{.
+proc cairo_copy_clip_rectangle_list*(cr: PCairo): PCairoRectangleList{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_rectangle_list_destroy*(rectangle_list: Pcairo_rectangle_list_t){.
+proc cairo_rectangle_list_destroy*(rectangle_list: PCairoRectangleList){.
     cdecl, importc, dynlib: LIB_CAIRO.}
   #* Font/Text functions
-proc cairo_font_options_create*(): Pcairo_font_options_t{.cdecl, importc,
+proc cairo_font_options_create*(): PCairoFontOptions{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_options_copy*(original: Pcairo_font_options_t): Pcairo_font_options_t{.
+proc cairo_font_options_copy*(original: PCairoFontOptions): PCairoFontOptions{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_destroy*(options: Pcairo_font_options_t){.cdecl, importc,
+proc cairo_font_options_destroy*(options: PCairoFontOptions){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_options_status*(options: Pcairo_font_options_t): cairo_status_t{.
+proc cairo_font_options_status*(options: PCairoFontOptions): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_merge*(options, other: Pcairo_font_options_t){.cdecl, importc,
+proc cairo_font_options_merge*(options, other: PCairoFontOptions){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_options_equal*(options, other: Pcairo_font_options_t): cairo_bool_t{.
+proc cairo_font_options_equal*(options, other: PCairoFontOptions): TCairoBool{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_hash*(options: Pcairo_font_options_t): int32{.cdecl, importc,
+proc cairo_font_options_hash*(options: PCairoFontOptions): int32{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_options_set_antialias*(options: Pcairo_font_options_t,
-                                       antialias: cairo_antialias_t){.cdecl, importc,
+proc cairo_font_options_set_antialias*(options: PCairoFontOptions,
+                                       antialias: TCairoAntialias){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_options_get_antialias*(options: Pcairo_font_options_t): cairo_antialias_t{.
+proc cairo_font_options_get_antialias*(options: PCairoFontOptions): TCairoAntialias{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_set_subpixel_order*(options: Pcairo_font_options_t,
-    subpixel_order: cairo_subpixel_order_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_get_subpixel_order*(options: Pcairo_font_options_t): cairo_subpixel_order_t{.
+proc cairo_font_options_set_subpixel_order*(options: PCairoFontOptions,
+    subpixel_order: TCairoSubpixelOrder){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_font_options_get_subpixel_order*(options: PCairoFontOptions): TCairoSubpixelOrder{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_set_hint_style*(options: Pcairo_font_options_t,
-                                        hint_style: cairo_hint_style_t){.cdecl, importc,
+proc cairo_font_options_set_hint_style*(options: PCairoFontOptions,
+                                        hint_style: TCairoHintStyle){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_options_get_hint_style*(options: Pcairo_font_options_t): cairo_hint_style_t{.
+proc cairo_font_options_get_hint_style*(options: PCairoFontOptions): TCairoHintStyle{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_set_hint_metrics*(options: Pcairo_font_options_t,
-    hint_metrics: cairo_hint_metrics_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_options_get_hint_metrics*(options: Pcairo_font_options_t): cairo_hint_metrics_t{.
+proc cairo_font_options_set_hint_metrics*(options: PCairoFontOptions,
+    hint_metrics: TCairoHintMetrics){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_font_options_get_hint_metrics*(options: PCairoFontOptions): TCairoHintMetrics{.
     cdecl, importc, dynlib: LIB_CAIRO.}
   #* This interface is for dealing with text as text, not caring about the
-  #   font object inside the the cairo_t.
-proc cairo_select_font_face*(cr: Pcairo_t, family: cstring,
-                             slant: cairo_font_slant_t,
-                             weight: cairo_font_weight_t){.cdecl, importc,
+  #   font object inside the the TCairo.
+proc cairo_select_font_face*(cr: PCairo, family: cstring,
+                             slant: TCairoFontSlant,
+                             weight: TCairoFontWeight){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_font_size*(cr: Pcairo_t, size: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_set_font_matrix*(cr: Pcairo_t, matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_set_font_size*(cr: PCairo, size: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_set_font_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_font_matrix*(cr: Pcairo_t, matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_get_font_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_font_options*(cr: Pcairo_t, options: Pcairo_font_options_t){.
+proc cairo_set_font_options*(cr: PCairo, options: PCairoFontOptions){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_font_options*(cr: Pcairo_t, options: Pcairo_font_options_t){.
+proc cairo_get_font_options*(cr: PCairo, options: PCairoFontOptions){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_set_font_face*(cr: Pcairo_t, font_face: Pcairo_font_face_t){.cdecl, importc,
+proc cairo_set_font_face*(cr: PCairo, font_face: PCairoFontFace){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_font_face*(cr: Pcairo_t): Pcairo_font_face_t{.cdecl, importc,
+proc cairo_get_font_face*(cr: PCairo): PCairoFontFace{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_set_scaled_font*(cr: PCairo_t, scaled_font: Pcairo_scaled_font_t){.
+proc cairo_set_scaled_font*(cr: PCairo, scaled_font: PCairoScaledFont){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_scaled_font*(cr: Pcairo_t): Pcairo_scaled_font_t{.cdecl, importc,
+proc cairo_get_scaled_font*(cr: PCairo): PCairoScaledFont{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_show_text*(cr: Pcairo_t, utf8: cstring){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_show_glyphs*(cr: Pcairo_t, glyphs: Pcairo_glyph_t, num_glyphs: int32){.
+proc cairo_show_text*(cr: PCairo, utf8: cstring){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_show_glyphs*(cr: PCairo, glyphs: PCairoGlyph, num_glyphs: int32){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_text_path*(cr: Pcairo_t, utf8: cstring){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_glyph_path*(cr: Pcairo_t, glyphs: Pcairo_glyph_t, num_glyphs: int32){.
+proc cairo_text_path*(cr: PCairo, utf8: cstring){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_glyph_path*(cr: PCairo, glyphs: PCairoGlyph, num_glyphs: int32){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_text_extents*(cr: Pcairo_t, utf8: cstring,
-                         extents: Pcairo_text_extents_t){.cdecl, importc,
+proc cairo_text_extents*(cr: PCairo, utf8: cstring,
+                         extents: PCairoTextExtents){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_glyph_extents*(cr: Pcairo_t, glyphs: Pcairo_glyph_t,
-                          num_glyphs: int32, extents: Pcairo_text_extents_t){.
+proc cairo_glyph_extents*(cr: PCairo, glyphs: PCairoGlyph,
+                          num_glyphs: int32, extents: PCairoTextExtents){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_extents*(cr: Pcairo_t, extents: Pcairo_font_extents_t){.cdecl, importc,
+proc cairo_font_extents*(cr: PCairo, extents: PCairoFontExtents){.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* Generic identifier for a font style
-proc cairo_font_face_reference*(font_face: Pcairo_font_face_t): Pcairo_font_face_t{.
+proc cairo_font_face_reference*(font_face: PCairoFontFace): PCairoFontFace{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_face_destroy*(font_face: Pcairo_font_face_t){.cdecl, importc,
+proc cairo_font_face_destroy*(font_face: PCairoFontFace){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_font_face_get_reference_count*(font_face: Pcairo_font_face_t): int32{.
+proc cairo_font_face_get_reference_count*(font_face: PCairoFontFace): int32{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_face_status*(font_face: Pcairo_font_face_t): cairo_status_t{.
+proc cairo_font_face_status*(font_face: PCairoFontFace): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_face_get_type*(font_face: Pcairo_font_face_t): cairo_font_type_t{.
+proc cairo_font_face_get_type*(font_face: PCairoFontFace): TCairoFontType{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_face_get_user_data*(font_face: Pcairo_font_face_t,
-                                    key: Pcairo_user_data_key_t): pointer{.
+proc cairo_font_face_get_user_data*(font_face: PCairoFontFace,
+                                    key: PCairoUserDataKey): pointer{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_font_face_set_user_data*(font_face: Pcairo_font_face_t,
-                                    key: Pcairo_user_data_key_t,
+proc cairo_font_face_set_user_data*(font_face: PCairoFontFace,
+                                    key: PCairoUserDataKey,
                                     user_data: pointer,
-                                    destroy: cairo_destroy_func_t): cairo_status_t{.
+                                    destroy: TCairoDestroyFunc): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
   #* Portable interface to general font features
-proc cairo_scaled_font_create*(font_face: Pcairo_font_face_t,
-                               font_matrix: Pcairo_matrix_t,
-                               ctm: Pcairo_matrix_t,
-                               options: Pcairo_font_options_t): Pcairo_scaled_font_t{.
+proc cairo_scaled_font_create*(font_face: PCairoFontFace,
+                               font_matrix: PCairoMatrix,
+                               ctm: PCairoMatrix,
+                               options: PCairoFontOptions): PCairoScaledFont{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_reference*(scaled_font: Pcairo_scaled_font_t): Pcairo_scaled_font_t{.
+proc cairo_scaled_font_reference*(scaled_font: PCairoScaledFont): PCairoScaledFont{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_destroy*(scaled_font: Pcairo_scaled_font_t){.cdecl, importc,
+proc cairo_scaled_font_destroy*(scaled_font: PCairoScaledFont){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_reference_count*(scaled_font: Pcairo_scaled_font_t): int32{.
+proc cairo_scaled_font_get_reference_count*(scaled_font: PCairoScaledFont): int32{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_status*(scaled_font: Pcairo_scaled_font_t): cairo_status_t{.
+proc cairo_scaled_font_status*(scaled_font: PCairoScaledFont): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_type*(scaled_font: Pcairo_scaled_font_t): cairo_font_type_t{.
+proc cairo_scaled_font_get_type*(scaled_font: PCairoScaledFont): TCairoFontType{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_user_data*(scaled_font: Pcairo_scaled_font_t,
-                                      key: Pcairo_user_data_key_t): Pointer{.
+proc cairo_scaled_font_get_user_data*(scaled_font: PCairoScaledFont,
+                                      key: PCairoUserDataKey): Pointer{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_set_user_data*(scaled_font: Pcairo_scaled_font_t,
-                                      key: Pcairo_user_data_key_t,
+proc cairo_scaled_font_set_user_data*(scaled_font: PCairoScaledFont,
+                                      key: PCairoUserDataKey,
                                       user_data: Pointer,
-                                      destroy: cairo_destroy_func_t): cairo_status_t{.
+                                      destroy: TCairoDestroyFunc): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_extents*(scaled_font: Pcairo_scaled_font_t,
-                                extents: Pcairo_font_extents_t){.cdecl, importc,
+proc cairo_scaled_font_extents*(scaled_font: PCairoScaledFont,
+                                extents: PCairoFontExtents){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_text_extents*(scaled_font: Pcairo_scaled_font_t,
+proc cairo_scaled_font_text_extents*(scaled_font: PCairoScaledFont,
                                      utf8: cstring,
-                                     extents: Pcairo_text_extents_t){.cdecl, importc,
+                                     extents: PCairoTextExtents){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_glyph_extents*(scaled_font: Pcairo_scaled_font_t,
-                                      glyphs: Pcairo_glyph_t, num_glyphs: int32,
-                                      extents: Pcairo_text_extents_t){.cdecl, importc,
+proc cairo_scaled_font_glyph_extents*(scaled_font: PCairoScaledFont,
+                                      glyphs: PCairoGlyph, num_glyphs: int32,
+                                      extents: PCairoTextExtents){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_font_face*(scaled_font: Pcairo_scaled_font_t): Pcairo_font_face_t{.
+proc cairo_scaled_font_get_font_face*(scaled_font: PCairoScaledFont): PCairoFontFace{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_font_matrix*(scaled_font: Pcairo_scaled_font_t,
-                                        font_matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_scaled_font_get_font_matrix*(scaled_font: PCairoScaledFont,
+                                        font_matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_ctm*(scaled_font: Pcairo_scaled_font_t,
-                                ctm: Pcairo_matrix_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_scaled_font_get_font_options*(scaled_font: Pcairo_scaled_font_t,
-    options: Pcairo_font_options_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_scaled_font_get_ctm*(scaled_font: PCairoScaledFont,
+                                ctm: PCairoMatrix){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_scaled_font_get_font_options*(scaled_font: PCairoScaledFont,
+    options: PCairoFontOptions){.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Query functions
-proc cairo_get_operator*(cr: Pcairo_t): cairo_operator_t{.cdecl, importc,
+proc cairo_get_operator*(cr: PCairo): TCairoOperator{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_source*(cr: Pcairo_t): Pcairo_pattern_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_tolerance*(cr: Pcairo_t): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_antialias*(cr: Pcairo_t): cairo_antialias_t{.cdecl, importc,
+proc cairo_get_source*(cr: PCairo): PCairoPattern{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_tolerance*(cr: PCairo): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_antialias*(cr: PCairo): TCairoAntialias{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_current_point*(cr: Pcairo_t, x, y: var float64){.cdecl, importc,
+proc cairo_get_current_point*(cr: PCairo, x, y: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_fill_rule*(cr: Pcairo_t): cairo_fill_rule_t{.cdecl, importc,
+proc cairo_get_fill_rule*(cr: PCairo): TCairoFillRule{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_line_width*(cr: Pcairo_t): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_line_cap*(cr: Pcairo_t): cairo_line_cap_t{.cdecl, importc,
+proc cairo_get_line_width*(cr: PCairo): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_line_cap*(cr: PCairo): TCairoLineCap{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_line_join*(cr: Pcairo_t): cairo_line_join_t{.cdecl, importc,
+proc cairo_get_line_join*(cr: PCairo): TCairoLineJoin{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_miter_limit*(cr: Pcairo_t): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_dash_count*(cr: Pcairo_t): int32{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_dash*(cr: Pcairo_t, dashes, offset: var float64){.cdecl, importc,
+proc cairo_get_miter_limit*(cr: PCairo): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_dash_count*(cr: PCairo): int32{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_dash*(cr: PCairo, dashes, offset: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_matrix*(cr: Pcairo_t, matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_get_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_get_target*(cr: Pcairo_t): Pcairo_surface_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_get_group_target*(cr: Pcairo_t): Pcairo_surface_t{.cdecl, importc,
+proc cairo_get_target*(cr: PCairo): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_get_group_target*(cr: PCairo): PCairoSurface{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_copy_path*(cr: Pcairo_t): Pcairo_path_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_copy_path_flat*(cr: Pcairo_t): Pcairo_path_t{.cdecl, importc,
+proc cairo_copy_path*(cr: PCairo): PCairoPath{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_copy_path_flat*(cr: PCairo): PCairoPath{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_append_path*(cr: Pcairo_t, path: Pcairo_path_t){.cdecl, importc,
+proc cairo_append_path*(cr: PCairo, path: PCairoPath){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_path_destroy*(path: Pcairo_path_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_path_destroy*(path: PCairoPath){.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Error status queries
-proc cairo_status*(cr: Pcairo_t): cairo_status_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_status_to_string*(status: cairo_status_t): cstring{.cdecl, importc,
+proc cairo_status*(cr: PCairo): TCairoStatus{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_status_to_string*(status: TCairoStatus): cstring{.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* Surface manipulation
-proc cairo_surface_create_similar*(other: Pcairo_surface_t,
-                                   content: cairo_content_t,
-                                   width, height: int32): Pcairo_surface_t{.
+proc cairo_surface_create_similar*(other: PCairoSurface,
+                                   content: TCairoContent,
+                                   width, height: int32): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_reference*(surface: Pcairo_surface_t): Pcairo_surface_t{.
+proc cairo_surface_reference*(surface: PCairoSurface): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_finish*(surface: Pcairo_surface_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_destroy*(surface: Pcairo_surface_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_get_reference_count*(surface: Pcairo_surface_t): int32{.
+proc cairo_surface_finish*(surface: PCairoSurface){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_surface_destroy*(surface: PCairoSurface){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_surface_get_reference_count*(surface: PCairoSurface): int32{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_status*(surface: Pcairo_surface_t): cairo_status_t{.cdecl, importc,
+proc cairo_surface_status*(surface: PCairoSurface): TCairoStatus{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_surface_get_type*(surface: Pcairo_surface_t): cairo_surface_type_t{.
+proc cairo_surface_get_type*(surface: PCairoSurface): TCairoSurfaceType{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_get_content*(surface: Pcairo_surface_t): cairo_content_t{.
+proc cairo_surface_get_content*(surface: PCairoSurface): TCairoContent{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_write_to_png*(surface: Pcairo_surface_t, filename: cstring): cairo_status_t{.
+proc cairo_surface_write_to_png*(surface: PCairoSurface, filename: cstring): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_write_to_png_stream*(surface: Pcairo_surface_t,
-                                        write_func: cairo_write_func_t,
-                                        closure: pointer): cairo_status_t{.
+proc cairo_surface_write_to_png_stream*(surface: PCairoSurface,
+                                        write_func: TCairoWriteFunc,
+                                        closure: pointer): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_get_user_data*(surface: Pcairo_surface_t,
-                                  key: Pcairo_user_data_key_t): pointer{.cdecl, importc,
+proc cairo_surface_get_user_data*(surface: PCairoSurface,
+                                  key: PCairoUserDataKey): pointer{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_surface_set_user_data*(surface: Pcairo_surface_t,
-                                  key: Pcairo_user_data_key_t,
+proc cairo_surface_set_user_data*(surface: PCairoSurface,
+                                  key: PCairoUserDataKey,
                                   user_data: pointer,
-                                  destroy: cairo_destroy_func_t): cairo_status_t{.
+                                  destroy: TCairoDestroyFunc): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_get_font_options*(surface: Pcairo_surface_t,
-                                     options: Pcairo_font_options_t){.cdecl, importc,
+proc cairo_surface_get_font_options*(surface: PCairoSurface,
+                                     options: PCairoFontOptions){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_surface_flush*(surface: Pcairo_surface_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_mark_dirty*(surface: Pcairo_surface_t){.cdecl, importc,
+proc cairo_surface_flush*(surface: PCairoSurface){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_surface_mark_dirty*(surface: PCairoSurface){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_surface_mark_dirty_rectangle*(surface: Pcairo_surface_t,
+proc cairo_surface_mark_dirty_rectangle*(surface: PCairoSurface,
     x, y, width, height: int32){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_surface_set_device_offset*(surface: Pcairo_surface_t,
+proc cairo_surface_set_device_offset*(surface: PCairoSurface,
                                       x_offset, y_offset: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_surface_get_device_offset*(surface: Pcairo_surface_t,
+proc cairo_surface_get_device_offset*(surface: PCairoSurface,
                                       x_offset, y_offset: var float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_surface_set_fallback_resolution*(surface: Pcairo_surface_t,
+proc cairo_surface_set_fallback_resolution*(surface: PCairoSurface,
     x_pixels_per_inch, y_pixels_per_inch: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Image-surface functions
-proc cairo_image_surface_create*(format: cairo_format_t, width, height: int32): Pcairo_surface_t{.
+proc cairo_image_surface_create*(format: TCairoFormat, width, height: int32): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_image_surface_create_for_data*(data: Pbyte, format: cairo_format_t,
-    width, height, stride: int32): Pcairo_surface_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_image_surface_get_data*(surface: Pcairo_surface_t): cstring{.cdecl, importc,
+proc cairo_image_surface_create_for_data*(data: Pbyte, format: TCairoFormat,
+    width, height, stride: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_image_surface_get_data*(surface: PCairoSurface): cstring{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_image_surface_get_format*(surface: Pcairo_surface_t): cairo_format_t{.
+proc cairo_image_surface_get_format*(surface: PCairoSurface): TCairoFormat{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_image_surface_get_width*(surface: Pcairo_surface_t): int32{.cdecl, importc,
+proc cairo_image_surface_get_width*(surface: PCairoSurface): int32{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_image_surface_get_height*(surface: Pcairo_surface_t): int32{.cdecl, importc,
+proc cairo_image_surface_get_height*(surface: PCairoSurface): int32{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_image_surface_get_stride*(surface: Pcairo_surface_t): int32{.cdecl, importc,
+proc cairo_image_surface_get_stride*(surface: PCairoSurface): int32{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_image_surface_create_from_png*(filename: cstring): Pcairo_surface_t{.
+proc cairo_image_surface_create_from_png*(filename: cstring): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_image_surface_create_from_png_stream*(read_func: cairo_read_func_t,
-    closure: pointer): Pcairo_surface_t{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_image_surface_create_from_png_stream*(read_func: TCairoReadFunc,
+    closure: pointer): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.}
   #* Pattern creation functions
-proc cairo_pattern_create_rgb*(red, green, blue: float64): Pcairo_pattern_t{.
+proc cairo_pattern_create_rgb*(red, green, blue: float64): PCairoPattern{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_create_rgba*(red, green, blue, alpha: float64): Pcairo_pattern_t{.
+proc cairo_pattern_create_rgba*(red, green, blue, alpha: float64): PCairoPattern{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_create_for_surface*(surface: Pcairo_surface_t): Pcairo_pattern_t{.
+proc cairo_pattern_create_for_surface*(surface: PCairoSurface): PCairoPattern{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_create_linear*(x0, y0, x1, y1: float64): Pcairo_pattern_t{.
+proc cairo_pattern_create_linear*(x0, y0, x1, y1: float64): PCairoPattern{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_create_radial*(cx0, cy0, radius0, cx1, cy1, radius1: float64): Pcairo_pattern_t{.
+proc cairo_pattern_create_radial*(cx0, cy0, radius0, cx1, cy1, radius1: float64): PCairoPattern{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_reference*(pattern: Pcairo_pattern_t): Pcairo_pattern_t{.
+proc cairo_pattern_reference*(pattern: PCairoPattern): PCairoPattern{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_destroy*(pattern: Pcairo_pattern_t){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_reference_count*(pattern: Pcairo_pattern_t): int32{.
+proc cairo_pattern_destroy*(pattern: PCairoPattern){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_pattern_get_reference_count*(pattern: PCairoPattern): int32{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_status*(pattern: Pcairo_pattern_t): cairo_status_t{.cdecl, importc,
+proc cairo_pattern_status*(pattern: PCairoPattern): TCairoStatus{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_user_data*(pattern: Pcairo_pattern_t,
-                                  key: Pcairo_user_data_key_t): Pointer{.cdecl, importc,
+proc cairo_pattern_get_user_data*(pattern: PCairoPattern,
+                                  key: PCairoUserDataKey): Pointer{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_pattern_set_user_data*(pattern: Pcairo_pattern_t,
-                                  key: Pcairo_user_data_key_t,
+proc cairo_pattern_set_user_data*(pattern: PCairoPattern,
+                                  key: PCairoUserDataKey,
                                   user_data: Pointer,
-                                  destroy: cairo_destroy_func_t): cairo_status_t{.
+                                  destroy: TCairoDestroyFunc): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_type*(pattern: Pcairo_pattern_t): cairo_pattern_type_t{.
+proc cairo_pattern_get_type*(pattern: PCairoPattern): TCairoPatternType{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_add_color_stop_rgb*(pattern: Pcairo_pattern_t,
+proc cairo_pattern_add_color_stop_rgb*(pattern: PCairoPattern,
                                        offset, red, green, blue: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_add_color_stop_rgba*(pattern: Pcairo_pattern_t, offset, red,
+proc cairo_pattern_add_color_stop_rgba*(pattern: PCairoPattern, offset, red,
     green, blue, alpha: float64){.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_set_matrix*(pattern: Pcairo_pattern_t,
-                               matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_pattern_set_matrix*(pattern: PCairoPattern,
+                               matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_matrix*(pattern: Pcairo_pattern_t,
-                               matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_pattern_get_matrix*(pattern: PCairoPattern,
+                               matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_pattern_set_extend*(pattern: Pcairo_pattern_t, extend: cairo_extend_t){.
+proc cairo_pattern_set_extend*(pattern: PCairoPattern, extend: TCairoExtend){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_extend*(pattern: Pcairo_pattern_t): cairo_extend_t{.
+proc cairo_pattern_get_extend*(pattern: PCairoPattern): TCairoExtend{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_set_filter*(pattern: Pcairo_pattern_t, filter: cairo_filter_t){.
+proc cairo_pattern_set_filter*(pattern: PCairoPattern, filter: TCairoFilter){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_filter*(pattern: Pcairo_pattern_t): cairo_filter_t{.
+proc cairo_pattern_get_filter*(pattern: PCairoPattern): TCairoFilter{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_rgba*(pattern: Pcairo_pattern_t,
-                             red, green, blue, alpha: var float64): cairo_status_t{.
+proc cairo_pattern_get_rgba*(pattern: PCairoPattern,
+                             red, green, blue, alpha: var float64): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_surface*(pattern: Pcairo_pattern_t,
-                                surface: PPcairo_surface_t): cairo_status_t{.
+proc cairo_pattern_get_surface*(pattern: PCairoPattern,
+                                surface: PPCairoSurface): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_color_stop_rgba*(pattern: Pcairo_pattern_t, index: int32,
-    offset, red, green, blue, alpha: var float64): cairo_status_t{.cdecl, importc,
+proc cairo_pattern_get_color_stop_rgba*(pattern: PCairoPattern, index: int32,
+    offset, red, green, blue, alpha: var float64): TCairoStatus{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_color_stop_count*(pattern: Pcairo_pattern_t,
-    count: var int32): cairo_status_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_linear_points*(pattern: Pcairo_pattern_t,
-                                      x0, y0, x1, y1: var float64): cairo_status_t{.
+proc cairo_pattern_get_color_stop_count*(pattern: PCairoPattern,
+    count: var int32): TCairoStatus{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_pattern_get_linear_points*(pattern: PCairoPattern,
+                                      x0, y0, x1, y1: var float64): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pattern_get_radial_circles*(pattern: Pcairo_pattern_t,
-                                       x0, y0, r0, x1, y1, r1: var float64): cairo_status_t{.
+proc cairo_pattern_get_radial_circles*(pattern: PCairoPattern,
+                                       x0, y0, r0, x1, y1, r1: var float64): TCairoStatus{.
     cdecl, importc, dynlib: LIB_CAIRO.}
   #* Matrix functions
-proc cairo_matrix_init*(matrix: Pcairo_matrix_t, xx, yx, xy, yy, x0, y0: float64){.
+proc cairo_matrix_init*(matrix: PCairoMatrix, xx, yx, xy, yy, x0, y0: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_matrix_init_identity*(matrix: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_matrix_init_identity*(matrix: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_init_translate*(matrix: Pcairo_matrix_t, tx, ty: float64){.
+proc cairo_matrix_init_translate*(matrix: PCairoMatrix, tx, ty: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_matrix_init_scale*(matrix: Pcairo_matrix_t, sx, sy: float64){.cdecl, importc,
+proc cairo_matrix_init_scale*(matrix: PCairoMatrix, sx, sy: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_init_rotate*(matrix: Pcairo_matrix_t, radians: float64){.
+proc cairo_matrix_init_rotate*(matrix: PCairoMatrix, radians: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_matrix_translate*(matrix: Pcairo_matrix_t, tx, ty: float64){.cdecl, importc,
+proc cairo_matrix_translate*(matrix: PCairoMatrix, tx, ty: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_scale*(matrix: Pcairo_matrix_t, sx, sy: float64){.cdecl, importc,
+proc cairo_matrix_scale*(matrix: PCairoMatrix, sx, sy: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_rotate*(matrix: Pcairo_matrix_t, radians: float64){.cdecl, importc,
+proc cairo_matrix_rotate*(matrix: PCairoMatrix, radians: float64){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_invert*(matrix: Pcairo_matrix_t): cairo_status_t{.cdecl, importc,
+proc cairo_matrix_invert*(matrix: PCairoMatrix): TCairoStatus{.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_multiply*(result, a, b: Pcairo_matrix_t){.cdecl, importc,
+proc cairo_matrix_multiply*(result, a, b: PCairoMatrix){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_matrix_transform_distance*(matrix: Pcairo_matrix_t, dx, dy: var float64){.
+proc cairo_matrix_transform_distance*(matrix: PCairoMatrix, dx, dy: var float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_matrix_transform_point*(matrix: Pcairo_matrix_t, x, y: var float64){.
+proc cairo_matrix_transform_point*(matrix: PCairoMatrix, x, y: var float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
   #* PDF functions
 proc cairo_pdf_surface_create*(filename: cstring,
-                               width_in_points, height_in_points: float64): Pcairo_surface_t{.
+                               width_in_points, height_in_points: float64): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pdf_surface_create_for_stream*(write_func: cairo_write_func_t,
-    closure: Pointer, width_in_points, height_in_points: float64): Pcairo_surface_t{.
+proc cairo_pdf_surface_create_for_stream*(write_func: TCairoWriteFunc,
+    closure: Pointer, width_in_points, height_in_points: float64): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_pdf_surface_set_size*(surface: Pcairo_surface_t,
+proc cairo_pdf_surface_set_size*(surface: PCairoSurface,
                                  width_in_points, height_in_points: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
   #* PS functions
 proc cairo_ps_surface_create*(filename: cstring,
-                              width_in_points, height_in_points: float64): Pcairo_surface_t{.
+                              width_in_points, height_in_points: float64): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_ps_surface_create_for_stream*(write_func: cairo_write_func_t,
-    closure: Pointer, width_in_points, height_in_points: float64): Pcairo_surface_t{.
+proc cairo_ps_surface_create_for_stream*(write_func: TCairoWriteFunc,
+    closure: Pointer, width_in_points, height_in_points: float64): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_ps_surface_set_size*(surface: Pcairo_surface_t,
+proc cairo_ps_surface_set_size*(surface: PCairoSurface,
                                 width_in_points, height_in_points: float64){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_ps_surface_dsc_comment*(surface: Pcairo_surface_t, comment: cstring){.
+proc cairo_ps_surface_dsc_comment*(surface: PCairoSurface, comment: cstring){.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_ps_surface_dsc_begin_setup*(surface: Pcairo_surface_t){.cdecl, importc,
+proc cairo_ps_surface_dsc_begin_setup*(surface: PCairoSurface){.cdecl, importc,
     dynlib: LIB_CAIRO.}
-proc cairo_ps_surface_dsc_begin_page_setup*(surface: Pcairo_surface_t){.cdecl, importc,
+proc cairo_ps_surface_dsc_begin_page_setup*(surface: PCairoSurface){.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* SVG functions
 proc cairo_svg_surface_create*(filename: cstring,
-                               width_in_points, height_in_points: float64): Pcairo_surface_t{.
+                               width_in_points, height_in_points: float64): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_svg_surface_create_for_stream*(write_func: cairo_write_func_t,
-    closure: Pointer, width_in_points, height_in_points: float64): Pcairo_surface_t{.
+proc cairo_svg_surface_create_for_stream*(write_func: TCairoWriteFunc,
+    closure: Pointer, width_in_points, height_in_points: float64): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_svg_surface_restrict_to_version*(surface: Pcairo_surface_t,
-    version: cairo_svg_version_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_svg_surface_restrict_to_version*(surface: PCairoSurface,
+    version: TCairoSvgVersion){.cdecl, importc, dynlib: LIB_CAIRO.}
   #todo: see how translate this
-  #procedure cairo_svg_get_versions(cairo_svg_version_t const	**versions,
+  #procedure cairo_svg_get_versions(TCairoSvgVersion const	**versions,
   #                        int                      	 *num_versions);
-proc cairo_svg_version_to_string*(version: cairo_svg_version_t): cstring{.cdecl, importc,
+proc cairo_svg_version_to_string*(version: TCairoSvgVersion): cstring{.cdecl, importc,
     dynlib: LIB_CAIRO.}
   #* Functions to be used while debugging (not intended for use in production code)
 proc cairo_debug_reset_static_data*(){.cdecl, importc, dynlib: LIB_CAIRO.}
@@ -693,6 +693,6 @@ proc cairo_debug_reset_static_data*(){.cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_version(major, minor, micro: var int32) =
   var version: int32
   version = cairo_version()
-  major = version div 10000
-  minor = (version mod (major * 10000)) div 100
-  micro = (version mod ((major * 10000) + (minor * 100)))
+  major = version div 10000'i32
+  minor = (version mod (major * 10000'i32)) div 100'i32
+  micro = (version mod ((major * 10000'i32) + (minor * 100'i32)))
diff --git a/lib/base/cairo/cairoft.nim b/lib/base/cairo/cairoft.nim
index c564d1afa..2418aa922 100644
--- a/lib/base/cairo/cairoft.nim
+++ b/lib/base/cairo/cairoft.nim
@@ -4,7 +4,7 @@
 # updated to version 1.4 by Luiz Américo Pereira Câmara 2007
 #
 
-import  Cairo, freetypeh
+import cairo, freetypeh
 
 #todo: properly define FcPattern:
 #It will require translate FontConfig header
@@ -20,17 +20,17 @@ import  Cairo, freetypeh
 
 type 
   FcPattern* = Pointer
-  PFcPattern* = ref FcPattern
+  PFcPattern* = ptr FcPattern
 
-proc cairo_ft_font_face_create_for_pattern*(pattern: PFcPattern): Pcairo_font_face_t{.
+proc cairo_ft_font_face_create_for_pattern*(pattern: PFcPattern): PCairoFontFace{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_ft_font_options_substitute*(options: Pcairo_font_options_t, 
+proc cairo_ft_font_options_substitute*(options: PCairoFontOptions, 
                                        pattern: PFcPattern){.cdecl, importc, 
     dynlib: LIB_CAIRO.}
 proc cairo_ft_font_face_create_for_ft_face*(face: TFT_Face, 
-       load_flags: int32): Pcairo_font_face_t {.cdecl, importc, dynlib: LIB_CAIRO.}
+       load_flags: int32): PCairoFontFace {.cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_ft_scaled_font_lock_face*(
-  scaled_font: Pcairo_scaled_font_t): TFT_Face{.cdecl, importc, dynlib: LIB_CAIRO.}
+  scaled_font: PCairoScaledFont): TFT_Face{.cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_ft_scaled_font_unlock_face*(
-  scaled_font: Pcairo_scaled_font_t){.cdecl, importc, dynlib: LIB_CAIRO.}
+  scaled_font: PCairoScaledFont){.cdecl, importc, dynlib: LIB_CAIRO.}
 
diff --git a/lib/base/cairo/cairowin32.nim b/lib/base/cairo/cairowin32.nim
index cbd1a6d4c..5d07c2611 100644
--- a/lib/base/cairo/cairowin32.nim
+++ b/lib/base/cairo/cairowin32.nim
@@ -7,30 +7,30 @@
 import 
   Cairo, windows
 
-proc cairo_win32_surface_create*(hdc: HDC): Pcairo_surface_t{.cdecl, importc, 
+proc cairo_win32_surface_create*(hdc: HDC): PCairoSurface{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_win32_surface_create_with_ddb*(hdc: HDC, format: cairo_format_t, 
-    width, height: int32): Pcairo_surface_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_win32_surface_create_with_dib*(format: cairo_format_t, 
-    width, height: int32): Pcairo_surface_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_win32_surface_get_dc*(surface: pcairo_surface_t): HDC{.cdecl, importc, 
+proc cairo_win32_surface_create_with_ddb*(hdc: HDC, format: TCairoFormat, 
+    width, height: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_win32_surface_create_with_dib*(format: TCairoFormat, 
+    width, height: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_win32_surface_get_dc*(surface: PCairoSurface): HDC{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_win32_surface_get_image*(surface: pcairo_surface_t): Pcairo_surface_t{.
+proc cairo_win32_surface_get_image*(surface: PCairoSurface): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_win32_font_face_create_for_logfontw*(logfont: pLOGFONTW): Pcairo_font_face_t{.
+proc cairo_win32_font_face_create_for_logfontw*(logfont: pLOGFONTW): PCairoFontFace{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_win32_font_face_create_for_hfont*(font: HFONT): Pcairo_font_face_t{.
+proc cairo_win32_font_face_create_for_hfont*(font: HFONT): PCairoFontFace{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_win32_scaled_font_select_font*(scaled_font: pcairo_scaled_font_t, 
-    hdc: HDC): cairo_status_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_win32_scaled_font_done_font*(scaled_font: pcairo_scaled_font_t){.
+proc cairo_win32_scaled_font_select_font*(scaled_font: PCairoScaledFont, 
+    hdc: HDC): TCairoStatus{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_win32_scaled_font_done_font*(scaled_font: PCairoScaledFont){.
     cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_win32_scaled_font_get_metrics_factor*(
-    scaled_font: pcairo_scaled_font_t): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
+    scaled_font: PCairoScaledFont): float64{.cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_win32_scaled_font_get_logical_to_device*(
-    scaled_font: pcairo_scaled_font_t, logical_to_device: pcairo_matrix_t){.
+    scaled_font: PCairoScaledFont, logical_to_device: PCairoMatrix){.
     cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_win32_scaled_font_get_device_to_logical*(
-    scaled_font: pcairo_scaled_font_t, device_to_logical: pcairo_matrix_t){.
+    scaled_font: PCairoScaledFont, device_to_logical: PCairoMatrix){.
     cdecl, importc, dynlib: LIB_CAIRO.}
 # implementation
diff --git a/lib/base/cairo/cairoxlib.nim b/lib/base/cairo/cairoxlib.nim
index 61a9fb283..dfe44eb87 100644
--- a/lib/base/cairo/cairoxlib.nim
+++ b/lib/base/cairo/cairoxlib.nim
@@ -9,32 +9,32 @@ import
   Cairo, x, xlib, xrender
 
 proc cairo_xlib_surface_create*(dpy: PDisplay, drawable: TDrawable, 
-                                visual: PVisual, width, height: int32): Pcairo_surface_t{.
+                                visual: PVisual, width, height: int32): PCairoSurface{.
     cdecl, importc, dynlib: LIB_CAIRO.}
 proc cairo_xlib_surface_create_for_bitmap*(dpy: PDisplay, bitmap: TPixmap, 
-    screen: PScreen, width, height: int32): Pcairo_surface_t{.cdecl, importc, 
+    screen: PScreen, width, height: int32): PCairoSurface{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
 proc cairo_xlib_surface_create_with_xrender_format*(dpy: PDisplay, 
     drawable: TDrawable, screen: PScreen, format: PXRenderPictFormat, 
-    width, height: int32): Pcairo_surface_t{.cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_depth*(surface: Pcairo_surface_t): int32{.cdecl, importc, 
+    width, height: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.}
+proc cairo_xlib_surface_get_depth*(surface: PCairoSurface): int32{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_display*(surface: Pcairo_surface_t): PDisplay{.
+proc cairo_xlib_surface_get_display*(surface: PCairoSurface): PDisplay{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_drawable*(surface: Pcairo_surface_t): TDrawable{.
+proc cairo_xlib_surface_get_drawable*(surface: PCairoSurface): TDrawable{.
     cdecl, importc, dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_height*(surface: Pcairo_surface_t): int32{.cdecl, importc, 
+proc cairo_xlib_surface_get_height*(surface: PCairoSurface): int32{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_screen*(surface: Pcairo_surface_t): PScreen{.cdecl, importc, 
+proc cairo_xlib_surface_get_screen*(surface: PCairoSurface): PScreen{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_visual*(surface: Pcairo_surface_t): PVisual{.cdecl, importc, 
+proc cairo_xlib_surface_get_visual*(surface: PCairoSurface): PVisual{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_get_width*(surface: Pcairo_surface_t): int32{.cdecl, importc, 
+proc cairo_xlib_surface_get_width*(surface: PCairoSurface): int32{.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_set_size*(surface: Pcairo_surface_t, 
+proc cairo_xlib_surface_set_size*(surface: PCairoSurface, 
                                   width, height: int32){.cdecl, importc, 
     dynlib: LIB_CAIRO.}
-proc cairo_xlib_surface_set_drawable*(surface: Pcairo_surface_t, 
+proc cairo_xlib_surface_set_drawable*(surface: PCairoSurface, 
                                       drawable: TDrawable, width, height: int32){.
     cdecl, importc, dynlib: LIB_CAIRO.}
 # implementation
diff --git a/lib/base/dialogs.nim b/lib/base/dialogs.nim
index cd9c7c6b8..144283a69 100644
--- a/lib/base/dialogs.nim
+++ b/lib/base/dialogs.nim
@@ -90,7 +90,7 @@ proc ChooseFileToOpen*(window: PWindow, root: string = ""): string =
                 GTK_STOCK_OPEN, GTK_RESPONSE_OK, nil))
     if root.len > 0:
       discard gtk_file_chooser_set_current_folder(chooser, root)
-    if gtk_dialog_run(chooser) == GTK_RESPONSE_OK:
+    if gtk_dialog_run(chooser) == cint(GTK_RESPONSE_OK):
       var x = gtk_file_chooser_get_filename(chooser)
       result = $x
       g_free(x)
@@ -99,7 +99,7 @@ proc ChooseFileToOpen*(window: PWindow, root: string = ""): string =
     gtk_widget_destroy(chooser)
 
 proc ChooseFilesToOpen*(window: PWindow, root: string = ""): seq[string] =
-  ## Opens a dialog that requests filenames from the user. Returns []
+  ## Opens a dialog that requests filenames from the user. Returns ``@[]``
   ## if the user closed the dialog without selecting a file. On Windows,
   ## the native dialog is used, else the GTK dialog is used.
   when defined(Windows):
@@ -114,7 +114,7 @@ proc ChooseFilesToOpen*(window: PWindow, root: string = ""): seq[string] =
     opf.lpstrFile = buf
     opf.nMaxFile = sizeof(buf)
     var res = GetOpenFileName(addr(opf))
-    result = []
+    result = @[]
     if res != 0:
       # parsing the result is horrible:
       var
@@ -145,8 +145,8 @@ proc ChooseFilesToOpen*(window: PWindow, root: string = ""): seq[string] =
     if root.len > 0:
       discard gtk_file_chooser_set_current_folder(chooser, root)
     gtk_file_chooser_set_select_multiple(chooser, true)
-    result = []
-    if gtk_dialog_run(chooser) == GTK_RESPONSE_OK:
+    result = @[]
+    if gtk_dialog_run(chooser) == cint(GTK_RESPONSE_OK):
       var L = gtk_file_chooser_get_filenames(chooser)
       var it = L
       while it != nil:
@@ -187,7 +187,7 @@ proc ChooseFileToSave*(window: PWindow, root: string = ""): string =
     if root.len > 0:
       discard gtk_file_chooser_set_current_folder(chooser, root)
     gtk_file_chooser_set_do_overwrite_confirmation(chooser, true)
-    if gtk_dialog_run(chooser) == GTK_RESPONSE_OK:
+    if gtk_dialog_run(chooser) == cint(GTK_RESPONSE_OK):
       var x = gtk_file_chooser_get_filename(chooser)
       result = $x
       g_free(x)
@@ -224,7 +224,7 @@ proc ChooseDir*(window: PWindow, root: string = ""): string =
                 GTK_STOCK_OPEN, GTK_RESPONSE_OK, nil))
     if root.len > 0:
       discard gtk_file_chooser_set_current_folder(chooser, root)
-    if gtk_dialog_run(chooser) == GTK_RESPONSE_OK:
+    if gtk_dialog_run(chooser) == cint(GTK_RESPONSE_OK):
       var x = gtk_file_chooser_get_filename(chooser)
       result = $x
       g_free(x)
diff --git a/lib/base/gtk/atk.nim b/lib/base/gtk/atk.nim
index 96fde8af6..84017bf03 100644
--- a/lib/base/gtk/atk.nim
+++ b/lib/base/gtk/atk.nim
@@ -2,7 +2,6 @@ import
   glib2
 
 when defined(windows):
-  {.define: atkwin.}
   const
     atklib = "libatk-1.0-0.dll"
 else:
diff --git a/lib/base/gtk/gdk2.nim b/lib/base/gtk/gdk2.nim
index 621a64bca..497f5619f 100644
--- a/lib/base/gtk/gdk2.nim
+++ b/lib/base/gtk/gdk2.nim
@@ -1,13 +1,12 @@
-import 
+import
   glib2, gdk2pixbuf, pango
 
-when defined(win32): 
-  {.define: GDK_WINDOWING_WIN32.}
-  const 
+when defined(win32):
+  const
     gdklib = "libgdk-win32-2.0-0.dll"
     GDK_HAVE_WCHAR_H = 1
     GDK_HAVE_WCTYPE_H = 1
-elif defined(darwin): 
+elif defined(darwin):
   #    linklib gtk-x11-2.0
   #    linklib gdk-x11-2.0
   #    linklib pango-1.0.0
@@ -15,16 +14,16 @@ elif defined(darwin):
   #    linklib gobject-2.0.0
   #    linklib gdk_pixbuf-2.0.0
   #    linklib atk-1.0.0
-  const 
+  const
     gdklib = "gdk-x11-2.0"
-else: 
-  const 
+else:
+  const
     gdklib = "libgdk-x11-2.0.so"
-const 
+const
   NUMPTSTOBUFFER* = 200
   GDK_MAX_TIMECOORD_AXES* = 128
 
-type 
+type
   PGdkDeviceClass* = ptr TGdkDeviceClass
   TGdkDeviceClass* = object of TGObjectClass
 
@@ -32,7 +31,7 @@ type
   TGdkVisualClass* = object of TGObjectClass
 
   PGdkColor* = ptr TGdkColor
-  TGdkColor* {.final.} = object 
+  TGdkColor* {.final.} = object
     pixel*: guint32
     red*: guint16
     green*: guint16
@@ -49,37 +48,37 @@ type
   PGdkBitmap* = ptr TGdkBitmap
   TGdkBitmap* = TGdkDrawable
   PGdkFontType* = ptr TGdkFontType
-  TGdkFontType* = enum 
+  TGdkFontType* = enum
     GDK_FONT_FONT, GDK_FONT_FONTSET
   PGdkFont* = ptr TGdkFont
-  TGdkFont* {.final.} = object 
+  TGdkFont* {.final.} = object
     `type`*: TGdkFontType
     ascent*: gint
     descent*: gint
 
   PGdkFunction* = ptr TGdkFunction
-  TGdkFunction* = enum 
-    GDK_COPY, GDK_INVERT, GDK_XOR, GDK_CLEAR, GDK_AND, GDK_AND_REVERSE, 
-    GDK_AND_INVERT, GDK_NOOP, GDK_OR, GDK_EQUIV, GDK_OR_REVERSE, 
+  TGdkFunction* = enum
+    GDK_COPY, GDK_INVERT, GDK_XOR, GDK_CLEAR, GDK_AND, GDK_AND_REVERSE,
+    GDK_AND_INVERT, GDK_NOOP, GDK_OR, GDK_EQUIV, GDK_OR_REVERSE,
     GDK_COPY_INVERT, GDK_OR_INVERT, GDK_NAND, GDK_NOR, GDK_SET
   PGdkCapStyle* = ptr TGdkCapStyle
-  TGdkCapStyle* = enum 
+  TGdkCapStyle* = enum
     GDK_CAP_NOT_LAST, GDK_CAP_BUTT, GDK_CAP_ROUND, GDK_CAP_PROJECTING
   PGdkFill* = ptr TGdkFill
-  TGdkFill* = enum 
+  TGdkFill* = enum
     GDK_SOLID, GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED
   PGdkJoinStyle* = ptr TGdkJoinStyle
-  TGdkJoinStyle* = enum 
+  TGdkJoinStyle* = enum
     GDK_JOIN_MITER, GDK_JOIN_ROUND, GDK_JOIN_BEVEL
   PGdkLineStyle* = ptr TGdkLineStyle
-  TGdkLineStyle* = enum 
+  TGdkLineStyle* = enum
     GDK_LINE_SOLID, GDK_LINE_ON_OFF_DASH, GDK_LINE_DOUBLE_DASH
   PGdkSubwindowMode* = ptr TGdkSubwindowMode
   TGdkSubwindowMode* = int
   PGdkGCValuesMask* = ptr TGdkGCValuesMask
   TGdkGCValuesMask* = int32
   PGdkGCValues* = ptr TGdkGCValues
-  TGdkGCValues* {.final.} = object 
+  TGdkGCValues* {.final.} = object
     foreground*: TGdkColor
     background*: TGdkColor
     font*: PGdkFont
@@ -108,14 +107,14 @@ type
     colormap*: PGdkColormap
 
   PGdkImageType* = ptr TGdkImageType
-  TGdkImageType* = enum 
+  TGdkImageType* = enum
     GDK_IMAGE_NORMAL, GDK_IMAGE_SHARED, GDK_IMAGE_FASTEST
   PGdkImage* = ptr TGdkImage
   PGdkDevice* = ptr TGdkDevice
   PGdkTimeCoord* = ptr TGdkTimeCoord
   PPGdkTimeCoord* = ptr PGdkTimeCoord
   PGdkRgbDither* = ptr TGdkRgbDither
-  TGdkRgbDither* = enum 
+  TGdkRgbDither* = enum
     GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_NORMAL, GDK_RGB_DITHER_MAX
   PGdkDisplay* = ptr TGdkDisplay
   PGdkScreen* = ptr TGdkScreen
@@ -125,7 +124,7 @@ type
   TGdkInputCondition* = int32
   PGdkStatus* = ptr TGdkStatus
   TGdkStatus* = int32
-  TGdkPoint* {.final.} = object 
+  TGdkPoint* {.final.} = object
     x*: gint
     y*: gint
 
@@ -135,14 +134,14 @@ type
   PGdkWChar* = ptr TGdkWChar
   TGdkWChar* = guint32
   PGdkSegment* = ptr TGdkSegment
-  TGdkSegment* {.final.} = object 
+  TGdkSegment* {.final.} = object
     x1*: gint
     y1*: gint
     x2*: gint
     y2*: gint
 
   PGdkRectangle* = ptr TGdkRectangle
-  TGdkRectangle* {.final.} = object 
+  TGdkRectangle* {.final.} = object
     x*: gint
     y*: gint
     width*: gint
@@ -151,13 +150,13 @@ type
   PGdkAtom* = ptr TGdkAtom
   TGdkAtom* = gulong
   PGdkByteOrder* = ptr TGdkByteOrder
-  TGdkByteOrder* = enum 
+  TGdkByteOrder* = enum
     GDK_LSB_FIRST, GDK_MSB_FIRST
   PGdkModifierType* = ptr TGdkModifierType
   TGdkModifierType* = gint
   PGdkVisualType* = ptr TGdkVisualType
-  TGdkVisualType* = enum 
-    GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR, 
+  TGdkVisualType* = enum
+    GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR,
     GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_DIRECT_COLOR
   PGdkVisual* = ptr TGdkVisual
   TGdkVisual* = object of TGObject
@@ -190,16 +189,16 @@ type
   PGdkCursorType* = ptr TGdkCursorType
   TGdkCursorType* = gint
   PGdkCursor* = ptr TGdkCursor
-  TGdkCursor* {.final.} = object 
+  TGdkCursor* {.final.} = object
     `type`*: TGdkCursorType
     ref_count*: guint
 
   PGdkDragAction* = ptr TGdkDragAction
   TGdkDragAction* = int32
   PGdkDragProtocol* = ptr TGdkDragProtocol
-  TGdkDragProtocol* = enum 
-    GDK_DRAG_PROTO_MOTIF, GDK_DRAG_PROTO_XDND, GDK_DRAG_PROTO_ROOTWIN, 
-    GDK_DRAG_PROTO_NONE, GDK_DRAG_PROTO_WIN32_DROPFILES, GDK_DRAG_PROTO_OLE2, 
+  TGdkDragProtocol* = enum
+    GDK_DRAG_PROTO_MOTIF, GDK_DRAG_PROTO_XDND, GDK_DRAG_PROTO_ROOTWIN,
+    GDK_DRAG_PROTO_NONE, GDK_DRAG_PROTO_WIN32_DROPFILES, GDK_DRAG_PROTO_OLE2,
     GDK_DRAG_PROTO_LOCAL
   PGdkDragContext* = ptr TGdkDragContext
   TGdkDragContext* = object of TGObject
@@ -220,46 +219,46 @@ type
   PGdkRegionBox* = ptr TGdkRegionBox
   TGdkRegionBox* = TGdkSegment
   PGdkRegion* = ptr TGdkRegion
-  TGdkRegion* {.final.} = object 
+  TGdkRegion* {.final.} = object
     size*: int32
     numRects*: int32
     rects*: PGdkRegionBox
     extents*: TGdkRegionBox
 
   PPOINTBLOCK* = ptr TPOINTBLOCK
-  TPOINTBLOCK* {.final.} = object 
+  TPOINTBLOCK* {.final.} = object
     pts*: array[0..(NUMPTSTOBUFFER) - 1, TGdkPoint]
     next*: PPOINTBLOCK
 
   PGdkDrawableClass* = ptr TGdkDrawableClass
   TGdkDrawableClass* = object of TGObjectClass
-    create_gc*: proc (drawable: PGdkDrawable, values: PGdkGCValues, 
+    create_gc*: proc (drawable: PGdkDrawable, values: PGdkGCValues,
                       mask: TGdkGCValuesMask): PGdkGC{.cdecl.}
-    draw_rectangle*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, 
+    draw_rectangle*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
                            x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_arc*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint, 
-                     y: gint, width: gint, height: gint, angle1: gint, 
+    draw_arc*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint,
+                     y: gint, width: gint, height: gint, angle1: gint,
                      angle2: gint){.cdecl.}
-    draw_polygon*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, 
+    draw_polygon*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
                          points: PGdkPoint, npoints: gint){.cdecl.}
-    draw_text*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC, 
+    draw_text*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC,
                       x: gint, y: gint, text: cstring, text_length: gint){.cdecl.}
-    draw_text_wc*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC, 
+    draw_text_wc*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC,
                          x: gint, y: gint, text: PGdkWChar, text_length: gint){.
         cdecl.}
-    draw_drawable*: proc (drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, 
-                          xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
+    draw_drawable*: proc (drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
+                          xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
                           width: gint, height: gint){.cdecl.}
-    draw_points*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, 
+    draw_points*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
                         npoints: gint){.cdecl.}
-    draw_segments*: proc (drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment, 
+    draw_segments*: proc (drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
                           nsegs: gint){.cdecl.}
-    draw_lines*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, 
+    draw_lines*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
                        npoints: gint){.cdecl.}
-    draw_glyphs*: proc (drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont, 
+    draw_glyphs*: proc (drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont,
                         x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl.}
-    draw_image*: proc (drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage, 
-                       xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
+    draw_image*: proc (drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage,
+                       xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
                        width: gint, height: gint){.cdecl.}
     get_depth*: proc (drawable: PGdkDrawable): gint{.cdecl.}
     get_size*: proc (drawable: PGdkDrawable, width: Pgint, height: Pgint){.cdecl.}
@@ -267,22 +266,22 @@ type
     get_colormap*: proc (drawable: PGdkDrawable): PGdkColormap{.cdecl.}
     get_visual*: proc (drawable: PGdkDrawable): PGdkVisual{.cdecl.}
     get_screen*: proc (drawable: PGdkDrawable): PGdkScreen{.cdecl.}
-    get_image*: proc (drawable: PGdkDrawable, x: gint, y: gint, width: gint, 
+    get_image*: proc (drawable: PGdkDrawable, x: gint, y: gint, width: gint,
                       height: gint): PGdkImage{.cdecl.}
     get_clip_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.}
     get_visible_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.}
-    get_composite_drawable*: proc (drawable: PGdkDrawable, x: gint, y: gint, 
-                                   width: gint, height: gint, 
-                                   composite_x_offset: Pgint, 
+    get_composite_drawable*: proc (drawable: PGdkDrawable, x: gint, y: gint,
+                                   width: gint, height: gint,
+                                   composite_x_offset: Pgint,
                                    composite_y_offset: Pgint): PGdkDrawable{.
         cdecl.}
-    `draw_pixbuf`*: proc (drawable: PGdkDrawable, gc: PGdkGC, 
-                          pixbuf: PGdkPixbuf, src_x: gint, src_y: gint, 
-                          dest_x: gint, dest_y: gint, width: gint, height: gint, 
+    `draw_pixbuf`*: proc (drawable: PGdkDrawable, gc: PGdkGC,
+                          pixbuf: PGdkPixbuf, src_x: gint, src_y: gint,
+                          dest_x: gint, dest_y: gint, width: gint, height: gint,
                           dither: TGdkRgbDither, x_dither: gint, y_dither: gint){.
         cdecl.}
-    `copy_to_image`*: proc (drawable: PGdkDrawable, image: PGdkImage, 
-                            src_x: gint, src_y: gint, dest_x: gint, 
+    `copy_to_image`*: proc (drawable: PGdkDrawable, image: PGdkImage,
+                            src_x: gint, src_y: gint, dest_x: gint,
                             dest_y: gint, width: gint, height: gint): PGdkImage{.
         cdecl.}
     `gdk_reserved1`: proc (){.cdecl.}
@@ -306,7 +305,7 @@ type
   PGdkXEvent* = ptr TGdkXEvent
   TGdkXEvent* = proc ()
   PGdkFilterReturn* = ptr TGdkFilterReturn
-  TGdkFilterReturn* = enum 
+  TGdkFilterReturn* = enum
     GDK_FILTER_CONTINUE, GDK_FILTER_TRANSLATE, GDK_FILTER_REMOVE
   TGdkFilterFunc* = proc (xevent: PGdkXEvent, event: PGdkEvent, data: gpointer): TGdkFilterReturn{.
       cdecl.}
@@ -315,34 +314,34 @@ type
   PGdkEventMask* = ptr TGdkEventMask
   TGdkEventMask* = gint32
   PGdkVisibilityState* = ptr TGdkVisibilityState
-  TGdkVisibilityState* = enum 
-    GDK_VISIBILITY_UNOBSCURED, GDK_VISIBILITY_PARTIAL, 
+  TGdkVisibilityState* = enum
+    GDK_VISIBILITY_UNOBSCURED, GDK_VISIBILITY_PARTIAL,
     GDK_VISIBILITY_FULLY_OBSCURED
   PGdkScrollDirection* = ptr TGdkScrollDirection
-  TGdkScrollDirection* = enum 
+  TGdkScrollDirection* = enum
     GDK_SCROLL_UP, GDK_SCROLL_DOWN, GDK_SCROLL_LEFT, GDK_SCROLL_RIGHT
   PGdkNotifyType* = ptr TGdkNotifyType
   TGdkNotifyType* = int
   PGdkCrossingMode* = ptr TGdkCrossingMode
-  TGdkCrossingMode* = enum 
+  TGdkCrossingMode* = enum
     GDK_CROSSING_NORMAL, GDK_CROSSING_GRAB, GDK_CROSSING_UNGRAB
   PGdkPropertyState* = ptr TGdkPropertyState
-  TGdkPropertyState* = enum 
+  TGdkPropertyState* = enum
     GDK_PROPERTY_NEW_VALUE, GDK_PROPERTY_STATE_DELETE
   PGdkWindowState* = ptr TGdkWindowState
   TGdkWindowState* = gint
   PGdkSettingAction* = ptr TGdkSettingAction
-  TGdkSettingAction* = enum 
-    GDK_SETTING_ACTION_NEW, GDK_SETTING_ACTION_CHANGED, 
+  TGdkSettingAction* = enum
+    GDK_SETTING_ACTION_NEW, GDK_SETTING_ACTION_CHANGED,
     GDK_SETTING_ACTION_DELETED
   PGdkEventAny* = ptr TGdkEventAny
-  TGdkEventAny* {.final.} = object 
+  TGdkEventAny* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
 
   PGdkEventExpose* = ptr TGdkEventExpose
-  TGdkEventExpose* {.final.} = object 
+  TGdkEventExpose* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -351,20 +350,20 @@ type
     count*: gint
 
   PGdkEventNoExpose* = ptr TGdkEventNoExpose
-  TGdkEventNoExpose* {.final.} = object 
+  TGdkEventNoExpose* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
 
   PGdkEventVisibility* = ptr TGdkEventVisibility
-  TGdkEventVisibility* {.final.} = object 
+  TGdkEventVisibility* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
     state*: TGdkVisibilityState
 
   PGdkEventMotion* = ptr TGdkEventMotion
-  TGdkEventMotion* {.final.} = object 
+  TGdkEventMotion* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -379,7 +378,7 @@ type
     y_root*: gdouble
 
   PGdkEventButton* = ptr TGdkEventButton
-  TGdkEventButton* {.final.} = object 
+  TGdkEventButton* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -394,7 +393,7 @@ type
     y_root*: gdouble
 
   PGdkEventScroll* = ptr TGdkEventScroll
-  TGdkEventScroll* {.final.} = object 
+  TGdkEventScroll* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -408,7 +407,7 @@ type
     y_root*: gdouble
 
   PGdkEventKey* = ptr TGdkEventKey
-  TGdkEventKey* {.final.} = object 
+  TGdkEventKey* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -421,7 +420,7 @@ type
     group*: guint8
 
   PGdkEventCrossing* = ptr TGdkEventCrossing
-  TGdkEventCrossing* {.final.} = object 
+  TGdkEventCrossing* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -437,14 +436,14 @@ type
     state*: guint
 
   PGdkEventFocus* = ptr TGdkEventFocus
-  TGdkEventFocus* {.final.} = object 
+  TGdkEventFocus* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
     `in`*: gint16
 
   PGdkEventConfigure* = ptr TGdkEventConfigure
-  TGdkEventConfigure* {.final.} = object 
+  TGdkEventConfigure* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -454,7 +453,7 @@ type
     height*: gint
 
   PGdkEventProperty* = ptr TGdkEventProperty
-  TGdkEventProperty* {.final.} = object 
+  TGdkEventProperty* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -464,7 +463,7 @@ type
 
   TGdkNativeWindow* = pointer
   PGdkEventSelection* = ptr TGdkEventSelection
-  TGdkEventSelection* {.final.} = object 
+  TGdkEventSelection* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -475,7 +474,7 @@ type
     requestor*: TGdkNativeWindow
 
   PGdkEventProximity* = ptr TGdkEventProximity
-  TGdkEventProximity* {.final.} = object 
+  TGdkEventProximity* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -483,11 +482,11 @@ type
     device*: PGdkDevice
 
   PmatDUMMY* = ptr TmatDUMMY
-  TmatDUMMY* {.final.} = object 
+  TmatDUMMY* {.final.} = object
     b*: array[0..19, char]
 
   PGdkEventClient* = ptr TGdkEventClient
-  TGdkEventClient* {.final.} = object 
+  TGdkEventClient* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -496,7 +495,7 @@ type
     b*: array[0..19, char]
 
   PGdkEventSetting* = ptr TGdkEventSetting
-  TGdkEventSetting* {.final.} = object 
+  TGdkEventSetting* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -504,7 +503,7 @@ type
     name*: cstring
 
   PGdkEventWindowState* = ptr TGdkEventWindowState
-  TGdkEventWindowState* {.final.} = object 
+  TGdkEventWindowState* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -512,7 +511,7 @@ type
     new_window_state*: TGdkWindowState
 
   PGdkEventDND* = ptr TGdkEventDND
-  TGdkEventDND* {.final.} = object 
+  TGdkEventDND* {.final.} = object
     `type`*: TGdkEventType
     window*: PGdkWindow
     send_event*: gint8
@@ -521,13 +520,13 @@ type
     x_root*: gshort
     y_root*: gshort
 
-  TGdkEvent* {.final.} = object 
+  TGdkEvent* {.final.} = object
     data*: array[0..255, char] # union of
                                # `type`: TGdkEventType
                                #  any: TGdkEventAny
-                               #  expose: TGdkEventExpose 
-                               #  no_expose: TGdkEventNoExpose 
-                               #  visibility: TGdkEventVisibility 
+                               #  expose: TGdkEventExpose
+                               #  no_expose: TGdkEventNoExpose
+                               #  visibility: TGdkEventVisibility
                                #  motion: TGdkEventMotion
                                #  button: TGdkEventButton
                                #  scroll: TGdkEventScroll
@@ -542,13 +541,13 @@ type
                                #  dnd: TGdkEventDND
                                #  window_state: TGdkEventWindowState
                                #  setting: TGdkEventSetting
-  
+
   PGdkGCClass* = ptr TGdkGCClass
   TGdkGCClass* = object of TGObjectClass
     get_values*: proc (gc: PGdkGC, values: PGdkGCValues){.cdecl.}
     set_values*: proc (gc: PGdkGC, values: PGdkGCValues, mask: TGdkGCValuesMask){.
         cdecl.}
-    set_dashes*: proc (gc: PGdkGC, dash_offset: gint, 
+    set_dashes*: proc (gc: PGdkGC, dash_offset: gint,
                        dash_list: openarray[gint8]){.cdecl.}
     `gdk_reserved1`*: proc (){.cdecl.}
     `gdk_reserved2`*: proc (){.cdecl.}
@@ -573,24 +572,24 @@ type
     windowing_data*: gpointer
 
   PGdkExtensionMode* = ptr TGdkExtensionMode
-  TGdkExtensionMode* = enum 
-    GDK_EXTENSION_EVENTS_NONE, GDK_EXTENSION_EVENTS_ALL, 
+  TGdkExtensionMode* = enum
+    GDK_EXTENSION_EVENTS_NONE, GDK_EXTENSION_EVENTS_ALL,
     GDK_EXTENSION_EVENTS_CURSOR
   PGdkInputSource* = ptr TGdkInputSource
-  TGdkInputSource* = enum 
+  TGdkInputSource* = enum
     GDK_SOURCE_MOUSE, GDK_SOURCE_PEN, GDK_SOURCE_ERASER, GDK_SOURCE_CURSOR
   PGdkInputMode* = ptr TGdkInputMode
-  TGdkInputMode* = enum 
+  TGdkInputMode* = enum
     GDK_MODE_DISABLED, GDK_MODE_SCREEN, GDK_MODE_WINDOW
   PGdkAxisUse* = ptr TGdkAxisUse
   TGdkAxisUse* = int32
   PGdkDeviceKey* = ptr TGdkDeviceKey
-  TGdkDeviceKey* {.final.} = object 
+  TGdkDeviceKey* {.final.} = object
     keyval*: guint
     modifiers*: TGdkModifierType
 
   PGdkDeviceAxis* = ptr TGdkDeviceAxis
-  TGdkDeviceAxis* {.final.} = object 
+  TGdkDeviceAxis* {.final.} = object
     use*: TGdkAxisUse
     min*: gdouble
     max*: gdouble
@@ -605,12 +604,12 @@ type
     num_keys*: gint
     keys*: PGdkDeviceKey
 
-  TGdkTimeCoord* {.final.} = object 
+  TGdkTimeCoord* {.final.} = object
     time*: guint32
     axes*: array[0..(GDK_MAX_TIMECOORD_AXES) - 1, gdouble]
 
   PGdkKeymapKey* = ptr TGdkKeymapKey
-  TGdkKeymapKey* {.final.} = object 
+  TGdkKeymapKey* {.final.} = object
     keycode*: guint
     group*: gint
     level*: gint
@@ -624,12 +623,12 @@ type
     direction_changed*: proc (keymap: PGdkKeymap){.cdecl.}
 
   PGdkPangoAttrStipple* = ptr TGdkPangoAttrStipple
-  TGdkPangoAttrStipple* {.final.} = object 
+  TGdkPangoAttrStipple* {.final.} = object
     attr*: TPangoAttribute
     stipple*: PGdkBitmap
 
   PGdkPangoAttrEmbossed* = ptr TGdkPangoAttrEmbossed
-  TGdkPangoAttrEmbossed* {.final.} = object 
+  TGdkPangoAttrEmbossed* {.final.} = object
     attr*: TPangoAttribute
     embossed*: gboolean
 
@@ -642,18 +641,18 @@ type
   TGdkPixmapObjectClass* = object of TGdkDrawableClass
 
   PGdkPropMode* = ptr TGdkPropMode
-  TGdkPropMode* = enum 
+  TGdkPropMode* = enum
     GDK_PROP_MODE_REPLACE, GDK_PROP_MODE_PREPEND, GDK_PROP_MODE_APPEND
   PGdkFillRule* = ptr TGdkFillRule
-  TGdkFillRule* = enum 
+  TGdkFillRule* = enum
     GDK_EVEN_ODD_RULE, GDK_WINDING_RULE
   PGdkOverlapType* = ptr TGdkOverlapType
-  TGdkOverlapType* = enum 
-    GDK_OVERLAP_RECTANGLE_IN, GDK_OVERLAP_RECTANGLE_OUT, 
+  TGdkOverlapType* = enum
+    GDK_OVERLAP_RECTANGLE_IN, GDK_OVERLAP_RECTANGLE_OUT,
     GDK_OVERLAP_RECTANGLE_PART
   TGdkSpanFunc* = proc (span: PGdkSpan, data: gpointer){.cdecl.}
   PGdkRgbCmap* = ptr TGdkRgbCmap
-  TGdkRgbCmap* {.final.} = object 
+  TGdkRgbCmap* {.final.} = object
     colors*: array[0..255, guint32]
     n_colors*: gint
     info_list*: PGSList
@@ -690,33 +689,33 @@ type
     get_window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{.
         cdecl.}
     get_n_monitors*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_monitor_geometry*: proc (screen: PGdkScreen, monitor_num: gint, 
+    get_monitor_geometry*: proc (screen: PGdkScreen, monitor_num: gint,
                                  dest: PGdkRectangle){.cdecl.}
 
   PGdkGrabStatus* = ptr TGdkGrabStatus
   TGdkGrabStatus* = int
-  TGdkInputFunction* = proc (data: gpointer, source: gint, 
+  TGdkInputFunction* = proc (data: gpointer, source: gint,
                              condition: TGdkInputCondition){.cdecl.}
   TGdkDestroyNotify* = proc (data: gpointer){.cdecl.}
-  TGdkSpan* {.final.} = object 
+  TGdkSpan* {.final.} = object
     x*: gint
     y*: gint
     width*: gint
 
   PGdkWindowClass* = ptr TGdkWindowClass
-  TGdkWindowClass* = enum 
+  TGdkWindowClass* = enum
     GDK_INPUT_OUTPUT, GDK_INPUT_ONLY
   PGdkWindowType* = ptr TGdkWindowType
-  TGdkWindowType* = enum 
-    GDK_WINDOW_ROOT, GDK_WINDOW_TOPLEVEL, GDK_WINDOW_CHILD, GDK_WINDOW_DIALOG, 
+  TGdkWindowType* = enum
+    GDK_WINDOW_ROOT, GDK_WINDOW_TOPLEVEL, GDK_WINDOW_CHILD, GDK_WINDOW_DIALOG,
     GDK_WINDOW_TEMP, GDK_WINDOW_FOREIGN
   PGdkWindowAttributesType* = ptr TGdkWindowAttributesType
   TGdkWindowAttributesType* = int32
   PGdkWindowHints* = ptr TGdkWindowHints
   TGdkWindowHints* = int32
   PGdkWindowTypeHint* = ptr TGdkWindowTypeHint
-  TGdkWindowTypeHint* = enum 
-    GDK_WINDOW_TYPE_HINT_NORMAL, GDK_WINDOW_TYPE_HINT_DIALOG, 
+  TGdkWindowTypeHint* = enum
+    GDK_WINDOW_TYPE_HINT_NORMAL, GDK_WINDOW_TYPE_HINT_DIALOG,
     GDK_WINDOW_TYPE_HINT_MENU, GDK_WINDOW_TYPE_HINT_TOOLBAR
   PGdkWMDecoration* = ptr TGdkWMDecoration
   TGdkWMDecoration* = int32
@@ -725,13 +724,13 @@ type
   PGdkGravity* = ptr TGdkGravity
   TGdkGravity* = int
   PGdkWindowEdge* = ptr TGdkWindowEdge
-  TGdkWindowEdge* = enum 
-    GDK_WINDOW_EDGE_NORTH_WEST, GDK_WINDOW_EDGE_NORTH, 
-    GDK_WINDOW_EDGE_NORTH_EAST, GDK_WINDOW_EDGE_WEST, GDK_WINDOW_EDGE_EAST, 
-    GDK_WINDOW_EDGE_SOUTH_WEST, GDK_WINDOW_EDGE_SOUTH, 
+  TGdkWindowEdge* = enum
+    GDK_WINDOW_EDGE_NORTH_WEST, GDK_WINDOW_EDGE_NORTH,
+    GDK_WINDOW_EDGE_NORTH_EAST, GDK_WINDOW_EDGE_WEST, GDK_WINDOW_EDGE_EAST,
+    GDK_WINDOW_EDGE_SOUTH_WEST, GDK_WINDOW_EDGE_SOUTH,
     GDK_WINDOW_EDGE_SOUTH_EAST
   PGdkWindowAttr* = ptr TGdkWindowAttr
-  TGdkWindowAttr* {.final.} = object 
+  TGdkWindowAttr* {.final.} = object
     title*: cstring
     event_mask*: gint
     x*: gint
@@ -748,7 +747,7 @@ type
     override_redirect*: gboolean
 
   PGdkGeometry* = ptr TGdkGeometry
-  TGdkGeometry* {.final.} = object 
+  TGdkGeometry* {.final.} = object
     min_width*: gint
     min_height*: gint
     max_width*: gint
@@ -762,8 +761,8 @@ type
     win_gravity*: TGdkGravity
 
   PGdkPointerHooks* = ptr TGdkPointerHooks
-  TGdkPointerHooks* {.final.} = object 
-    get_pointer*: proc (window: PGdkWindow, x: Pgint, y: Pgint, 
+  TGdkPointerHooks* {.final.} = object
+    get_pointer*: proc (window: PGdkWindow, x: Pgint, y: Pgint,
                         mask: PGdkModifierType): PGdkWindow{.cdecl.}
     window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{.
         cdecl.}
@@ -793,7 +792,7 @@ type
   PGdkWindowObjectClass* = ptr TGdkWindowObjectClass
   TGdkWindowObjectClass* = object of TGdkDrawableClass
 
-  gdk_window_invalidate_maybe_recurse_child_func* = proc (para1: PGdkWindow, 
+  gdk_window_invalidate_maybe_recurse_child_func* = proc (para1: PGdkWindow,
       para2: gpointer): gboolean
 
 proc GDK_TYPE_COLORMAP*(): GType
@@ -803,38 +802,38 @@ proc GDK_IS_COLORMAP*(anObject: pointer): bool
 proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool
 proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass
 proc GDK_TYPE_COLOR*(): GType
-proc gdk_colormap_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_colormap_get_type*(): GType{.cdecl, dynlib: gdklib,
                                       importc: "gdk_colormap_get_type".}
 proc gdk_colormap_new*(visual: PGdkVisual, allocate: gboolean): PGdkColormap{.
     cdecl, dynlib: gdklib, importc: "gdk_colormap_new".}
-proc gdk_colormap_alloc_colors*(colormap: PGdkColormap, colors: PGdkColor, 
-                                ncolors: gint, writeable: gboolean, 
+proc gdk_colormap_alloc_colors*(colormap: PGdkColormap, colors: PGdkColor,
+                                ncolors: gint, writeable: gboolean,
                                 best_match: gboolean, success: Pgboolean): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_colors".}
-proc gdk_colormap_alloc_color*(colormap: PGdkColormap, color: PGdkColor, 
+proc gdk_colormap_alloc_color*(colormap: PGdkColormap, color: PGdkColor,
                                writeable: gboolean, best_match: gboolean): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_color".}
-proc gdk_colormap_free_colors*(colormap: PGdkColormap, colors: PGdkColor, 
-                               ncolors: gint){.cdecl, dynlib: gdklib, 
+proc gdk_colormap_free_colors*(colormap: PGdkColormap, colors: PGdkColor,
+                               ncolors: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_colormap_free_colors".}
-proc gdk_colormap_query_color*(colormap: PGdkColormap, pixel: gulong, 
-                               result: PGdkColor){.cdecl, dynlib: gdklib, 
+proc gdk_colormap_query_color*(colormap: PGdkColormap, pixel: gulong,
+                               result: PGdkColor){.cdecl, dynlib: gdklib,
     importc: "gdk_colormap_query_color".}
-proc gdk_colormap_get_visual*(colormap: PGdkColormap): PGdkVisual{.cdecl, 
+proc gdk_colormap_get_visual*(colormap: PGdkColormap): PGdkVisual{.cdecl,
     dynlib: gdklib, importc: "gdk_colormap_get_visual".}
-proc gdk_color_copy*(color: PGdkColor): PGdkColor{.cdecl, dynlib: gdklib, 
+proc gdk_color_copy*(color: PGdkColor): PGdkColor{.cdecl, dynlib: gdklib,
     importc: "gdk_color_copy".}
-proc gdk_color_free*(color: PGdkColor){.cdecl, dynlib: gdklib, 
+proc gdk_color_free*(color: PGdkColor){.cdecl, dynlib: gdklib,
                                         importc: "gdk_color_free".}
-proc gdk_color_parse*(spec: cstring, color: PGdkColor): gint{.cdecl, 
+proc gdk_color_parse*(spec: cstring, color: PGdkColor): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_color_parse".}
-proc gdk_color_hash*(colora: PGdkColor): guint{.cdecl, dynlib: gdklib, 
+proc gdk_color_hash*(colora: PGdkColor): guint{.cdecl, dynlib: gdklib,
     importc: "gdk_color_hash".}
-proc gdk_color_equal*(colora: PGdkColor, colorb: PGdkColor): gboolean{.cdecl, 
+proc gdk_color_equal*(colora: PGdkColor, colorb: PGdkColor): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_color_equal".}
-proc gdk_color_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_color_get_type*(): GType{.cdecl, dynlib: gdklib,
                                    importc: "gdk_color_get_type".}
-const 
+const
   GDK_CURSOR_IS_PIXMAP* = - (1)
   GDK_X_CURSOR* = 0
   GDK_ARROW* = 2
@@ -916,20 +915,20 @@ const
   GDK_LAST_CURSOR* = GDK_XTERM + 1
 
 proc GDK_TYPE_CURSOR*(): GType
-proc gdk_cursor_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_cursor_get_type*(): GType{.cdecl, dynlib: gdklib,
                                     importc: "gdk_cursor_get_type".}
 proc gdk_cursor_new_for_screen*(screen: PGdkScreen, cursor_type: TGdkCursorType): PGdkCursor{.
     cdecl, dynlib: gdklib, importc: "gdk_cursor_new_for_screen".}
-proc gdk_cursor_new_from_pixmap*(source: PGdkPixmap, mask: PGdkPixmap, 
+proc gdk_cursor_new_from_pixmap*(source: PGdkPixmap, mask: PGdkPixmap,
                                  fg: PGdkColor, bg: PGdkColor, x: gint, y: gint): PGdkCursor{.
     cdecl, dynlib: gdklib, importc: "gdk_cursor_new_from_pixmap".}
-proc gdk_cursor_get_screen*(cursor: PGdkCursor): PGdkScreen{.cdecl, 
+proc gdk_cursor_get_screen*(cursor: PGdkCursor): PGdkScreen{.cdecl,
     dynlib: gdklib, importc: "gdk_cursor_get_screen".}
-proc gdk_cursor_ref*(cursor: PGdkCursor): PGdkCursor{.cdecl, dynlib: gdklib, 
+proc gdk_cursor_ref*(cursor: PGdkCursor): PGdkCursor{.cdecl, dynlib: gdklib,
     importc: "gdk_cursor_ref".}
-proc gdk_cursor_unref*(cursor: PGdkCursor){.cdecl, dynlib: gdklib, 
+proc gdk_cursor_unref*(cursor: PGdkCursor){.cdecl, dynlib: gdklib,
     importc: "gdk_cursor_unref".}
-const 
+const
   GDK_ACTION_DEFAULT* = 1 shl 0
   GDK_ACTION_COPY* = 1 shl 1
   GDK_ACTION_MOVE* = 1 shl 2
@@ -943,45 +942,45 @@ proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass
 proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool
 proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool
 proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass
-proc gdk_drag_context_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_drag_context_get_type*(): GType{.cdecl, dynlib: gdklib,
     importc: "gdk_drag_context_get_type".}
-proc gdk_drag_context_new*(): PGdkDragContext{.cdecl, dynlib: gdklib, 
+proc gdk_drag_context_new*(): PGdkDragContext{.cdecl, dynlib: gdklib,
     importc: "gdk_drag_context_new".}
-proc gdk_drag_status*(context: PGdkDragContext, action: TGdkDragAction, 
-                      time: guint32){.cdecl, dynlib: gdklib, 
+proc gdk_drag_status*(context: PGdkDragContext, action: TGdkDragAction,
+                      time: guint32){.cdecl, dynlib: gdklib,
                                       importc: "gdk_drag_status".}
 proc gdk_drop_reply*(context: PGdkDragContext, ok: gboolean, time: guint32){.
     cdecl, dynlib: gdklib, importc: "gdk_drop_reply".}
 proc gdk_drop_finish*(context: PGdkDragContext, success: gboolean, time: guint32){.
     cdecl, dynlib: gdklib, importc: "gdk_drop_finish".}
-proc gdk_drag_get_selection*(context: PGdkDragContext): TGdkAtom{.cdecl, 
+proc gdk_drag_get_selection*(context: PGdkDragContext): TGdkAtom{.cdecl,
     dynlib: gdklib, importc: "gdk_drag_get_selection".}
 proc gdk_drag_begin*(window: PGdkWindow, targets: PGList): PGdkDragContext{.
     cdecl, dynlib: gdklib, importc: "gdk_drag_begin".}
-proc gdk_drag_get_protocol_for_display*(display: PGdkDisplay, xid: guint32, 
+proc gdk_drag_get_protocol_for_display*(display: PGdkDisplay, xid: guint32,
                                         protocol: PGdkDragProtocol): guint32{.
     cdecl, dynlib: gdklib, importc: "gdk_drag_get_protocol_for_display".}
-proc gdk_drag_find_window*(context: PGdkDragContext, drag_window: PGdkWindow, 
-                           x_root: gint, y_root: gint, w: var PGdkWindow, 
-                           protocol: PGdkDragProtocol){.cdecl, dynlib: gdklib, 
+proc gdk_drag_find_window*(context: PGdkDragContext, drag_window: PGdkWindow,
+                           x_root: gint, y_root: gint, w: var PGdkWindow,
+                           protocol: PGdkDragProtocol){.cdecl, dynlib: gdklib,
     importc: "gdk_drag_find_window".}
-proc gdk_drag_motion*(context: PGdkDragContext, dest_window: PGdkWindow, 
-                      protocol: TGdkDragProtocol, x_root: gint, y_root: gint, 
-                      suggested_action: TGdkDragAction, 
+proc gdk_drag_motion*(context: PGdkDragContext, dest_window: PGdkWindow,
+                      protocol: TGdkDragProtocol, x_root: gint, y_root: gint,
+                      suggested_action: TGdkDragAction,
                       possible_actions: TGdkDragAction, time: guint32): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_drag_motion".}
-proc gdk_drag_drop*(context: PGdkDragContext, time: guint32){.cdecl, 
+proc gdk_drag_drop*(context: PGdkDragContext, time: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_drag_drop".}
-proc gdk_drag_abort*(context: PGdkDragContext, time: guint32){.cdecl, 
+proc gdk_drag_abort*(context: PGdkDragContext, time: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_drag_abort".}
 proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool
 proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion)
 proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool
-proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox, 
+proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox,
                                Rx1, Ry1, Rx2, Ry2: gint): bool
-proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox, 
+proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox,
                         rx1, ry1, rx2, ry2: gint)
-proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox, 
+proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox,
                            rx1, ry1, rx2, ry2: gint)
 proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool
 proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool
@@ -992,79 +991,79 @@ proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass
 proc GDK_IS_DRAWABLE*(anObject: Pointer): bool
 proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool
 proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass
-proc gdk_drawable_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_drawable_get_type*(): GType{.cdecl, dynlib: gdklib,
                                       importc: "gdk_drawable_get_type".}
 proc gdk_drawable_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint){.
     cdecl, dynlib: gdklib, importc: "gdk_drawable_get_size".}
 proc gdk_drawable_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap){.
     cdecl, dynlib: gdklib, importc: "gdk_drawable_set_colormap".}
-proc gdk_drawable_get_colormap*(drawable: PGdkDrawable): PGdkColormap{.cdecl, 
+proc gdk_drawable_get_colormap*(drawable: PGdkDrawable): PGdkColormap{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_colormap".}
-proc gdk_drawable_get_visual*(drawable: PGdkDrawable): PGdkVisual{.cdecl, 
+proc gdk_drawable_get_visual*(drawable: PGdkDrawable): PGdkVisual{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_visual".}
-proc gdk_drawable_get_depth*(drawable: PGdkDrawable): gint{.cdecl, 
+proc gdk_drawable_get_depth*(drawable: PGdkDrawable): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_depth".}
-proc gdk_drawable_get_screen*(drawable: PGdkDrawable): PGdkScreen{.cdecl, 
+proc gdk_drawable_get_screen*(drawable: PGdkDrawable): PGdkScreen{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_screen".}
-proc gdk_drawable_get_display*(drawable: PGdkDrawable): PGdkDisplay{.cdecl, 
+proc gdk_drawable_get_display*(drawable: PGdkDrawable): PGdkDisplay{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_display".}
 proc gdk_draw_point*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint){.
     cdecl, dynlib: gdklib, importc: "gdk_draw_point".}
-proc gdk_draw_line*(drawable: PGdkDrawable, gc: PGdkGC, x1: gint, y1: gint, 
-                    x2: gint, y2: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_line*(drawable: PGdkDrawable, gc: PGdkGC, x1: gint, y1: gint,
+                    x2: gint, y2: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_line".}
-proc gdk_draw_rectangle*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, 
-                         x: gint, y: gint, width: gint, height: gint){.cdecl, 
+proc gdk_draw_rectangle*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
+                         x: gint, y: gint, width: gint, height: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_draw_rectangle".}
-proc gdk_draw_arc*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint, 
-                   y: gint, width: gint, height: gint, angle1: gint, 
+proc gdk_draw_arc*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint,
+                   y: gint, width: gint, height: gint, angle1: gint,
                    angle2: gint){.cdecl, dynlib: gdklib, importc: "gdk_draw_arc".}
-proc gdk_draw_polygon*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, 
-                       points: PGdkPoint, npoints: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_polygon*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
+                       points: PGdkPoint, npoints: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_polygon".}
-proc gdk_draw_drawable*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, 
-                        xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
-                        width: gint, height: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_drawable*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
+                        xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
+                        width: gint, height: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_drawable".}
-proc gdk_draw_image*(drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage, 
-                     xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
-                     width: gint, height: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_image*(drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage,
+                     xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
+                     width: gint, height: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_image".}
-proc gdk_draw_points*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, 
-                      npoints: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_points*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
+                      npoints: gint){.cdecl, dynlib: gdklib,
                                       importc: "gdk_draw_points".}
-proc gdk_draw_segments*(drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment, 
-                        nsegs: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_segments*(drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
+                        nsegs: gint){.cdecl, dynlib: gdklib,
                                       importc: "gdk_draw_segments".}
-proc gdk_draw_lines*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, 
-                     npoints: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_lines*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
+                     npoints: gint){.cdecl, dynlib: gdklib,
                                      importc: "gdk_draw_lines".}
-proc gdk_draw_glyphs*(drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont, 
-                      x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl, 
+proc gdk_draw_glyphs*(drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont,
+                      x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl,
     dynlib: gdklib, importc: "gdk_draw_glyphs".}
-proc gdk_draw_layout_line*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, 
-                           line: PPangoLayoutLine){.cdecl, dynlib: gdklib, 
+proc gdk_draw_layout_line*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
+                           line: PPangoLayoutLine){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_layout_line".}
-proc gdk_draw_layout*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, 
-                      layout: PPangoLayout){.cdecl, dynlib: gdklib, 
+proc gdk_draw_layout*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
+                      layout: PPangoLayout){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_layout".}
-proc gdk_draw_layout_line_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, 
-                                       x: gint, y: gint, line: PPangoLayoutLine, 
-                                       foreground: PGdkColor, 
-                                       background: PGdkColor){.cdecl, 
+proc gdk_draw_layout_line_with_colors*(drawable: PGdkDrawable, gc: PGdkGC,
+                                       x: gint, y: gint, line: PPangoLayoutLine,
+                                       foreground: PGdkColor,
+                                       background: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_draw_layout_line_with_colors".}
-proc gdk_draw_layout_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, 
-                                  y: gint, layout: PPangoLayout, 
+proc gdk_draw_layout_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
+                                  y: gint, layout: PPangoLayout,
                                   foreground: PGdkColor, background: PGdkColor){.
     cdecl, dynlib: gdklib, importc: "gdk_draw_layout_with_colors".}
-proc gdk_drawable_get_image*(drawable: PGdkDrawable, x: gint, y: gint, 
-                             width: gint, height: gint): PGdkImage{.cdecl, 
+proc gdk_drawable_get_image*(drawable: PGdkDrawable, x: gint, y: gint,
+                             width: gint, height: gint): PGdkImage{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_image".}
-proc gdk_drawable_get_clip_region*(drawable: PGdkDrawable): PGdkRegion{.cdecl, 
+proc gdk_drawable_get_clip_region*(drawable: PGdkDrawable): PGdkRegion{.cdecl,
     dynlib: gdklib, importc: "gdk_drawable_get_clip_region".}
 proc gdk_drawable_get_visible_region*(drawable: PGdkDrawable): PGdkRegion{.
     cdecl, dynlib: gdklib, importc: "gdk_drawable_get_visible_region".}
-const 
+const
   GDK_NOTHING* = - (1)
   GDK_DELETE* = 0
   GDK_DESTROY* = 1
@@ -1108,7 +1107,7 @@ const
   GDK_NOTIFY_UNKNOWN* = 5
 
 proc GDK_TYPE_EVENT*(): GType
-const 
+const
   G_PRIORITY_DEFAULT* = 0
   GDK_PRIORITY_EVENTS* = G_PRIORITY_DEFAULT
     #GDK_PRIORITY_REDRAW* = G_PRIORITY_HIGH_IDLE + 20
@@ -1139,96 +1138,96 @@ const
   GDK_WINDOW_STATE_MAXIMIZED* = 1 shl 2
   GDK_WINDOW_STATE_STICKY* = 1 shl 3
 
-proc gdk_event_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_event_get_type*(): GType{.cdecl, dynlib: gdklib,
                                    importc: "gdk_event_get_type".}
-proc gdk_events_pending*(): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_events_pending*(): gboolean{.cdecl, dynlib: gdklib,
                                       importc: "gdk_events_pending".}
-proc gdk_event_get*(): PGdkEvent{.cdecl, dynlib: gdklib, 
+proc gdk_event_get*(): PGdkEvent{.cdecl, dynlib: gdklib,
                                   importc: "gdk_event_get".}
-proc gdk_event_peek*(): PGdkEvent{.cdecl, dynlib: gdklib, 
+proc gdk_event_peek*(): PGdkEvent{.cdecl, dynlib: gdklib,
                                    importc: "gdk_event_peek".}
-proc gdk_event_get_graphics_expose*(window: PGdkWindow): PGdkEvent{.cdecl, 
+proc gdk_event_get_graphics_expose*(window: PGdkWindow): PGdkEvent{.cdecl,
     dynlib: gdklib, importc: "gdk_event_get_graphics_expose".}
-proc gdk_event_put*(event: PGdkEvent){.cdecl, dynlib: gdklib, 
+proc gdk_event_put*(event: PGdkEvent){.cdecl, dynlib: gdklib,
                                        importc: "gdk_event_put".}
-proc gdk_event_copy*(event: PGdkEvent): PGdkEvent{.cdecl, dynlib: gdklib, 
+proc gdk_event_copy*(event: PGdkEvent): PGdkEvent{.cdecl, dynlib: gdklib,
     importc: "gdk_event_copy".}
-proc gdk_event_free*(event: PGdkEvent){.cdecl, dynlib: gdklib, 
+proc gdk_event_free*(event: PGdkEvent){.cdecl, dynlib: gdklib,
                                         importc: "gdk_event_free".}
-proc gdk_event_get_time*(event: PGdkEvent): guint32{.cdecl, dynlib: gdklib, 
+proc gdk_event_get_time*(event: PGdkEvent): guint32{.cdecl, dynlib: gdklib,
     importc: "gdk_event_get_time".}
 proc gdk_event_get_state*(event: PGdkEvent, state: PGdkModifierType): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_event_get_state".}
 proc gdk_event_get_coords*(event: PGdkEvent, x_win: Pgdouble, y_win: Pgdouble): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_event_get_coords".}
-proc gdk_event_get_root_coords*(event: PGdkEvent, x_root: Pgdouble, 
-                                y_root: Pgdouble): gboolean{.cdecl, 
+proc gdk_event_get_root_coords*(event: PGdkEvent, x_root: Pgdouble,
+                                y_root: Pgdouble): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_event_get_root_coords".}
-proc gdk_event_get_axis*(event: PGdkEvent, axis_use: TGdkAxisUse, 
-                         value: Pgdouble): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_event_get_axis*(event: PGdkEvent, axis_use: TGdkAxisUse,
+                         value: Pgdouble): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_event_get_axis".}
-proc gdk_event_handler_set*(func: TGdkEventFunc, data: gpointer, 
-                            notify: TGDestroyNotify){.cdecl, dynlib: gdklib, 
+proc gdk_event_handler_set*(func: TGdkEventFunc, data: gpointer,
+                            notify: TGDestroyNotify){.cdecl, dynlib: gdklib,
     importc: "gdk_event_handler_set".}
-proc gdk_set_show_events*(show_events: gboolean){.cdecl, dynlib: gdklib, 
+proc gdk_set_show_events*(show_events: gboolean){.cdecl, dynlib: gdklib,
     importc: "gdk_set_show_events".}
-proc gdk_get_show_events*(): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_get_show_events*(): gboolean{.cdecl, dynlib: gdklib,
                                        importc: "gdk_get_show_events".}
 proc GDK_TYPE_FONT*(): GType
-proc gdk_font_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_font_get_type*(): GType{.cdecl, dynlib: gdklib,
                                   importc: "gdk_font_get_type".}
 proc gdk_font_load_for_display*(display: PGdkDisplay, font_name: cstring): PGdkFont{.
     cdecl, dynlib: gdklib, importc: "gdk_font_load_for_display".}
 proc gdk_fontset_load_for_display*(display: PGdkDisplay, fontset_name: cstring): PGdkFont{.
     cdecl, dynlib: gdklib, importc: "gdk_fontset_load_for_display".}
-proc gdk_font_from_description_for_display*(display: PGdkDisplay, 
-    font_desc: PPangoFontDescription): PGdkFont{.cdecl, dynlib: gdklib, 
+proc gdk_font_from_description_for_display*(display: PGdkDisplay,
+    font_desc: PPangoFontDescription): PGdkFont{.cdecl, dynlib: gdklib,
     importc: "gdk_font_from_description_for_display".}
-proc gdk_font_ref*(font: PGdkFont): PGdkFont{.cdecl, dynlib: gdklib, 
+proc gdk_font_ref*(font: PGdkFont): PGdkFont{.cdecl, dynlib: gdklib,
     importc: "gdk_font_ref".}
-proc gdk_font_unref*(font: PGdkFont){.cdecl, dynlib: gdklib, 
+proc gdk_font_unref*(font: PGdkFont){.cdecl, dynlib: gdklib,
                                       importc: "gdk_font_unref".}
-proc gdk_font_id*(font: PGdkFont): gint{.cdecl, dynlib: gdklib, 
+proc gdk_font_id*(font: PGdkFont): gint{.cdecl, dynlib: gdklib,
     importc: "gdk_font_id".}
-proc gdk_font_equal*(fonta: PGdkFont, fontb: PGdkFont): gboolean{.cdecl, 
+proc gdk_font_equal*(fonta: PGdkFont, fontb: PGdkFont): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_font_equal".}
-proc gdk_string_width*(font: PGdkFont, `string`: cstring): gint{.cdecl, 
+proc gdk_string_width*(font: PGdkFont, `string`: cstring): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_string_width".}
 proc gdk_text_width*(font: PGdkFont, text: cstring, text_length: gint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_text_width".}
 proc gdk_text_width_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_text_width_wc".}
-proc gdk_char_width*(font: PGdkFont, character: gchar): gint{.cdecl, 
+proc gdk_char_width*(font: PGdkFont, character: gchar): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_char_width".}
-proc gdk_char_width_wc*(font: PGdkFont, character: TGdkWChar): gint{.cdecl, 
+proc gdk_char_width_wc*(font: PGdkFont, character: TGdkWChar): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_char_width_wc".}
-proc gdk_string_measure*(font: PGdkFont, `string`: cstring): gint{.cdecl, 
+proc gdk_string_measure*(font: PGdkFont, `string`: cstring): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_string_measure".}
 proc gdk_text_measure*(font: PGdkFont, text: cstring, text_length: gint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_text_measure".}
-proc gdk_char_measure*(font: PGdkFont, character: gchar): gint{.cdecl, 
+proc gdk_char_measure*(font: PGdkFont, character: gchar): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_char_measure".}
-proc gdk_string_height*(font: PGdkFont, `string`: cstring): gint{.cdecl, 
+proc gdk_string_height*(font: PGdkFont, `string`: cstring): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_string_height".}
 proc gdk_text_height*(font: PGdkFont, text: cstring, text_length: gint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_text_height".}
-proc gdk_char_height*(font: PGdkFont, character: gchar): gint{.cdecl, 
+proc gdk_char_height*(font: PGdkFont, character: gchar): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_char_height".}
-proc gdk_text_extents*(font: PGdkFont, text: cstring, text_length: gint, 
-                       lbearing: Pgint, rbearing: Pgint, width: Pgint, 
-                       ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib, 
+proc gdk_text_extents*(font: PGdkFont, text: cstring, text_length: gint,
+                       lbearing: Pgint, rbearing: Pgint, width: Pgint,
+                       ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib,
     importc: "gdk_text_extents".}
-proc gdk_text_extents_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint, 
-                          lbearing: Pgint, rbearing: Pgint, width: Pgint, 
-                          ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib, 
+proc gdk_text_extents_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint,
+                          lbearing: Pgint, rbearing: Pgint, width: Pgint,
+                          ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib,
     importc: "gdk_text_extents_wc".}
-proc gdk_string_extents*(font: PGdkFont, `string`: cstring, lbearing: Pgint, 
-                         rbearing: Pgint, width: Pgint, ascent: Pgint, 
-                         descent: Pgint){.cdecl, dynlib: gdklib, 
+proc gdk_string_extents*(font: PGdkFont, `string`: cstring, lbearing: Pgint,
+                         rbearing: Pgint, width: Pgint, ascent: Pgint,
+                         descent: Pgint){.cdecl, dynlib: gdklib,
     importc: "gdk_string_extents".}
-proc gdk_font_get_display*(font: PGdkFont): PGdkDisplay{.cdecl, dynlib: gdklib, 
+proc gdk_font_get_display*(font: PGdkFont): PGdkDisplay{.cdecl, dynlib: gdklib,
     importc: "gdk_font_get_display".}
-const 
+const
   GDK_GC_FOREGROUND* = 1 shl 0
   GDK_GC_BACKGROUND* = 1 shl 1
   GDK_GC_FONT* = 1 shl 2
@@ -1256,65 +1255,65 @@ proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass
 proc GDK_IS_GC*(anObject: Pointer): bool
 proc GDK_IS_GC_CLASS*(klass: Pointer): bool
 proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass
-proc gdk_gc_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_gc_get_type*(): GType{.cdecl, dynlib: gdklib,
                                 importc: "gdk_gc_get_type".}
-proc gdk_gc_new*(drawable: PGdkDrawable): PGdkGC{.cdecl, dynlib: gdklib, 
+proc gdk_gc_new*(drawable: PGdkDrawable): PGdkGC{.cdecl, dynlib: gdklib,
     importc: "gdk_gc_new".}
-proc gdk_gc_new_with_values*(drawable: PGdkDrawable, values: PGdkGCValues, 
-                             values_mask: TGdkGCValuesMask): PGdkGC{.cdecl, 
+proc gdk_gc_new_with_values*(drawable: PGdkDrawable, values: PGdkGCValues,
+                             values_mask: TGdkGCValuesMask): PGdkGC{.cdecl,
     dynlib: gdklib, importc: "gdk_gc_new_with_values".}
-proc gdk_gc_get_values*(gc: PGdkGC, values: PGdkGCValues){.cdecl, 
+proc gdk_gc_get_values*(gc: PGdkGC, values: PGdkGCValues){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_get_values".}
-proc gdk_gc_set_values*(gc: PGdkGC, values: PGdkGCValues, 
-                        values_mask: TGdkGCValuesMask){.cdecl, dynlib: gdklib, 
+proc gdk_gc_set_values*(gc: PGdkGC, values: PGdkGCValues,
+                        values_mask: TGdkGCValuesMask){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_set_values".}
-proc gdk_gc_set_foreground*(gc: PGdkGC, color: PGdkColor){.cdecl, 
+proc gdk_gc_set_foreground*(gc: PGdkGC, color: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_foreground".}
-proc gdk_gc_set_background*(gc: PGdkGC, color: PGdkColor){.cdecl, 
+proc gdk_gc_set_background*(gc: PGdkGC, color: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_background".}
-proc gdk_gc_set_function*(gc: PGdkGC, `function`: TGdkFunction){.cdecl, 
+proc gdk_gc_set_function*(gc: PGdkGC, `function`: TGdkFunction){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_function".}
-proc gdk_gc_set_fill*(gc: PGdkGC, fill: TGdkFill){.cdecl, dynlib: gdklib, 
+proc gdk_gc_set_fill*(gc: PGdkGC, fill: TGdkFill){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_set_fill".}
-proc gdk_gc_set_tile*(gc: PGdkGC, tile: PGdkPixmap){.cdecl, dynlib: gdklib, 
+proc gdk_gc_set_tile*(gc: PGdkGC, tile: PGdkPixmap){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_set_tile".}
-proc gdk_gc_set_stipple*(gc: PGdkGC, stipple: PGdkPixmap){.cdecl, 
+proc gdk_gc_set_stipple*(gc: PGdkGC, stipple: PGdkPixmap){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_stipple".}
-proc gdk_gc_set_ts_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, dynlib: gdklib, 
+proc gdk_gc_set_ts_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_set_ts_origin".}
-proc gdk_gc_set_clip_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, 
+proc gdk_gc_set_clip_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_clip_origin".}
-proc gdk_gc_set_clip_mask*(gc: PGdkGC, mask: PGdkBitmap){.cdecl, dynlib: gdklib, 
+proc gdk_gc_set_clip_mask*(gc: PGdkGC, mask: PGdkBitmap){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_set_clip_mask".}
-proc gdk_gc_set_clip_rectangle*(gc: PGdkGC, rectangle: PGdkRectangle){.cdecl, 
+proc gdk_gc_set_clip_rectangle*(gc: PGdkGC, rectangle: PGdkRectangle){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_clip_rectangle".}
-proc gdk_gc_set_clip_region*(gc: PGdkGC, region: PGdkRegion){.cdecl, 
+proc gdk_gc_set_clip_region*(gc: PGdkGC, region: PGdkRegion){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_clip_region".}
-proc gdk_gc_set_subwindow*(gc: PGdkGC, mode: TGdkSubwindowMode){.cdecl, 
+proc gdk_gc_set_subwindow*(gc: PGdkGC, mode: TGdkSubwindowMode){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_subwindow".}
-proc gdk_gc_set_exposures*(gc: PGdkGC, exposures: gboolean){.cdecl, 
+proc gdk_gc_set_exposures*(gc: PGdkGC, exposures: gboolean){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_exposures".}
-proc gdk_gc_set_line_attributes*(gc: PGdkGC, line_width: gint, 
-                                 line_style: TGdkLineStyle, 
-                                 cap_style: TGdkCapStyle, 
-                                 join_style: TGdkJoinStyle){.cdecl, 
+proc gdk_gc_set_line_attributes*(gc: PGdkGC, line_width: gint,
+                                 line_style: TGdkLineStyle,
+                                 cap_style: TGdkCapStyle,
+                                 join_style: TGdkJoinStyle){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_line_attributes".}
-proc gdk_gc_set_dashes*(gc: PGdkGC, dash_offset: gint, 
-                        dash_list: openarray[gint8]){.cdecl, dynlib: gdklib, 
+proc gdk_gc_set_dashes*(gc: PGdkGC, dash_offset: gint,
+                        dash_list: openarray[gint8]){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_set_dashes".}
-proc gdk_gc_offset*(gc: PGdkGC, x_offset: gint, y_offset: gint){.cdecl, 
+proc gdk_gc_offset*(gc: PGdkGC, x_offset: gint, y_offset: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_offset".}
-proc gdk_gc_copy*(dst_gc: PGdkGC, src_gc: PGdkGC){.cdecl, dynlib: gdklib, 
+proc gdk_gc_copy*(dst_gc: PGdkGC, src_gc: PGdkGC){.cdecl, dynlib: gdklib,
     importc: "gdk_gc_copy".}
-proc gdk_gc_set_colormap*(gc: PGdkGC, colormap: PGdkColormap){.cdecl, 
+proc gdk_gc_set_colormap*(gc: PGdkGC, colormap: PGdkColormap){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_colormap".}
-proc gdk_gc_get_colormap*(gc: PGdkGC): PGdkColormap{.cdecl, dynlib: gdklib, 
+proc gdk_gc_get_colormap*(gc: PGdkGC): PGdkColormap{.cdecl, dynlib: gdklib,
     importc: "gdk_gc_get_colormap".}
-proc gdk_gc_set_rgb_fg_color*(gc: PGdkGC, color: PGdkColor){.cdecl, 
+proc gdk_gc_set_rgb_fg_color*(gc: PGdkGC, color: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_rgb_fg_color".}
-proc gdk_gc_set_rgb_bg_color*(gc: PGdkGC, color: PGdkColor){.cdecl, 
+proc gdk_gc_set_rgb_bg_color*(gc: PGdkGC, color: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_gc_set_rgb_bg_color".}
-proc gdk_gc_get_screen*(gc: PGdkGC): PGdkScreen{.cdecl, dynlib: gdklib, 
+proc gdk_gc_get_screen*(gc: PGdkGC): PGdkScreen{.cdecl, dynlib: gdklib,
     importc: "gdk_gc_get_screen".}
 proc GDK_TYPE_IMAGE*(): GType
 proc GDK_IMAGE*(anObject: Pointer): PGdkImage
@@ -1322,20 +1321,20 @@ proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass
 proc GDK_IS_IMAGE*(anObject: Pointer): bool
 proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool
 proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass
-proc gdk_image_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_image_get_type*(): GType{.cdecl, dynlib: gdklib,
                                    importc: "gdk_image_get_type".}
-proc gdk_image_new*(`type`: TGdkImageType, visual: PGdkVisual, width: gint, 
-                    height: gint): PGdkImage{.cdecl, dynlib: gdklib, 
+proc gdk_image_new*(`type`: TGdkImageType, visual: PGdkVisual, width: gint,
+                    height: gint): PGdkImage{.cdecl, dynlib: gdklib,
     importc: "gdk_image_new".}
 proc gdk_image_put_pixel*(image: PGdkImage, x: gint, y: gint, pixel: guint32){.
     cdecl, dynlib: gdklib, importc: "gdk_image_put_pixel".}
-proc gdk_image_get_pixel*(image: PGdkImage, x: gint, y: gint): guint32{.cdecl, 
+proc gdk_image_get_pixel*(image: PGdkImage, x: gint, y: gint): guint32{.cdecl,
     dynlib: gdklib, importc: "gdk_image_get_pixel".}
-proc gdk_image_set_colormap*(image: PGdkImage, colormap: PGdkColormap){.cdecl, 
+proc gdk_image_set_colormap*(image: PGdkImage, colormap: PGdkColormap){.cdecl,
     dynlib: gdklib, importc: "gdk_image_set_colormap".}
-proc gdk_image_get_colormap*(image: PGdkImage): PGdkColormap{.cdecl, 
+proc gdk_image_get_colormap*(image: PGdkImage): PGdkColormap{.cdecl,
     dynlib: gdklib, importc: "gdk_image_get_colormap".}
-const 
+const
   GDK_AXIS_IGNORE* = 0
   GDK_AXIS_X* = 1
   GDK_AXIS_Y* = 2
@@ -1351,33 +1350,33 @@ proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass
 proc GDK_IS_DEVICE*(anObject: Pointer): bool
 proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool
 proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass
-proc gdk_device_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_device_get_type*(): GType{.cdecl, dynlib: gdklib,
                                     importc: "gdk_device_get_type".}
-proc gdk_device_set_source*(device: PGdkDevice, source: TGdkInputSource){.cdecl, 
+proc gdk_device_set_source*(device: PGdkDevice, source: TGdkInputSource){.cdecl,
     dynlib: gdklib, importc: "gdk_device_set_source".}
 proc gdk_device_set_mode*(device: PGdkDevice, mode: TGdkInputMode): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_device_set_mode".}
-proc gdk_device_set_key*(device: PGdkDevice, index: guint, keyval: guint, 
-                         modifiers: TGdkModifierType){.cdecl, dynlib: gdklib, 
+proc gdk_device_set_key*(device: PGdkDevice, index: guint, keyval: guint,
+                         modifiers: TGdkModifierType){.cdecl, dynlib: gdklib,
     importc: "gdk_device_set_key".}
 proc gdk_device_set_axis_use*(device: PGdkDevice, index: guint, use: TGdkAxisUse){.
     cdecl, dynlib: gdklib, importc: "gdk_device_set_axis_use".}
-proc gdk_device_get_state*(device: PGdkDevice, window: PGdkWindow, 
-                           axes: Pgdouble, mask: PGdkModifierType){.cdecl, 
+proc gdk_device_get_state*(device: PGdkDevice, window: PGdkWindow,
+                           axes: Pgdouble, mask: PGdkModifierType){.cdecl,
     dynlib: gdklib, importc: "gdk_device_get_state".}
-proc gdk_device_get_history*(device: PGdkDevice, window: PGdkWindow, 
-                             start: guint32, stop: guint32, 
+proc gdk_device_get_history*(device: PGdkDevice, window: PGdkWindow,
+                             start: guint32, stop: guint32,
                              s: var PPGdkTimeCoord, n_events: Pgint): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_device_get_history".}
-proc gdk_device_free_history*(events: PPGdkTimeCoord, n_events: gint){.cdecl, 
+proc gdk_device_free_history*(events: PPGdkTimeCoord, n_events: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_device_free_history".}
-proc gdk_device_get_axis*(device: PGdkDevice, axes: Pgdouble, use: TGdkAxisUse, 
-                          value: Pgdouble): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_device_get_axis*(device: PGdkDevice, axes: Pgdouble, use: TGdkAxisUse,
+                          value: Pgdouble): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_device_get_axis".}
-proc gdk_input_set_extension_events*(window: PGdkWindow, mask: gint, 
-                                     mode: TGdkExtensionMode){.cdecl, 
+proc gdk_input_set_extension_events*(window: PGdkWindow, mask: gint,
+                                     mode: TGdkExtensionMode){.cdecl,
     dynlib: gdklib, importc: "gdk_input_set_extension_events".}
-proc gdk_device_get_core_pointer*(): PGdkDevice{.cdecl, dynlib: gdklib, 
+proc gdk_device_get_core_pointer*(): PGdkDevice{.cdecl, dynlib: gdklib,
     importc: "gdk_device_get_core_pointer".}
 proc GDK_TYPE_KEYMAP*(): GType
 proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap
@@ -1385,45 +1384,45 @@ proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass
 proc GDK_IS_KEYMAP*(anObject: Pointer): bool
 proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool
 proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass
-proc gdk_keymap_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_keymap_get_type*(): GType{.cdecl, dynlib: gdklib,
                                     importc: "gdk_keymap_get_type".}
-proc gdk_keymap_get_for_display*(display: PGdkDisplay): PGdkKeymap{.cdecl, 
+proc gdk_keymap_get_for_display*(display: PGdkDisplay): PGdkKeymap{.cdecl,
     dynlib: gdklib, importc: "gdk_keymap_get_for_display".}
 proc gdk_keymap_lookup_key*(keymap: PGdkKeymap, key: PGdkKeymapKey): guint{.
     cdecl, dynlib: gdklib, importc: "gdk_keymap_lookup_key".}
-proc gdk_keymap_translate_keyboard_state*(keymap: PGdkKeymap, 
-    hardware_keycode: guint, state: TGdkModifierType, group: gint, 
-    keyval: Pguint, effective_group: Pgint, level: Pgint, 
-    consumed_modifiers: PGdkModifierType): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_keymap_translate_keyboard_state*(keymap: PGdkKeymap,
+    hardware_keycode: guint, state: TGdkModifierType, group: gint,
+    keyval: Pguint, effective_group: Pgint, level: Pgint,
+    consumed_modifiers: PGdkModifierType): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_keymap_translate_keyboard_state".}
-proc gdk_keymap_get_entries_for_keyval*(keymap: PGdkKeymap, keyval: guint, 
+proc gdk_keymap_get_entries_for_keyval*(keymap: PGdkKeymap, keyval: guint,
                                         s: var PGdkKeymapKey, n_keys: Pgint): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_keymap_get_entries_for_keyval".}
-proc gdk_keymap_get_entries_for_keycode*(keymap: PGdkKeymap, 
-    hardware_keycode: guint, s: var PGdkKeymapKey, sasdf: var Pguint, 
-    n_entries: Pgint): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_keymap_get_entries_for_keycode*(keymap: PGdkKeymap,
+    hardware_keycode: guint, s: var PGdkKeymapKey, sasdf: var Pguint,
+    n_entries: Pgint): gboolean{.cdecl, dynlib: gdklib,
                                  importc: "gdk_keymap_get_entries_for_keycode".}
-proc gdk_keymap_get_direction*(keymap: PGdkKeymap): TPangoDirection{.cdecl, 
+proc gdk_keymap_get_direction*(keymap: PGdkKeymap): TPangoDirection{.cdecl,
     dynlib: gdklib, importc: "gdk_keymap_get_direction".}
-proc gdk_keyval_name*(keyval: guint): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_name*(keyval: guint): cstring{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_name".}
-proc gdk_keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_from_name".}
 proc gdk_keyval_convert_case*(symbol: guint, lower: Pguint, upper: Pguint){.
     cdecl, dynlib: gdklib, importc: "gdk_keyval_convert_case".}
-proc gdk_keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_to_upper".}
-proc gdk_keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_to_lower".}
-proc gdk_keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_is_upper".}
-proc gdk_keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_is_lower".}
-proc gdk_keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: gdklib, 
+proc gdk_keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: gdklib,
     importc: "gdk_keyval_to_unicode".}
-proc gdk_unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: gdklib, 
+proc gdk_unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: gdklib,
     importc: "gdk_unicode_to_keyval".}
-const 
+const
   GDK_KEY_VoidSymbol* = 0x00FFFFFF
   GDK_KEY_BackSpace* = 0x0000FF08
   GDK_KEY_Tab* = 0x0000FF09
@@ -2760,50 +2759,50 @@ const
 
 proc gdk_pango_context_get_for_screen*(screen: PGdkScreen): PPangoContext{.
     cdecl, dynlib: gdklib, importc: "gdk_pango_context_get_for_screen".}
-proc gdk_pango_context_set_colormap*(context: PPangoContext, 
-                                     colormap: PGdkColormap){.cdecl, 
+proc gdk_pango_context_set_colormap*(context: PPangoContext,
+                                     colormap: PGdkColormap){.cdecl,
     dynlib: gdklib, importc: "gdk_pango_context_set_colormap".}
-proc gdk_pango_layout_line_get_clip_region*(line: PPangoLayoutLine, 
+proc gdk_pango_layout_line_get_clip_region*(line: PPangoLayoutLine,
     x_origin: gint, y_origin: gint, index_ranges: Pgint, n_ranges: gint): PGdkRegion{.
     cdecl, dynlib: gdklib, importc: "gdk_pango_layout_line_get_clip_region".}
-proc gdk_pango_layout_get_clip_region*(layout: PPangoLayout, x_origin: gint, 
-                                       y_origin: gint, index_ranges: Pgint, 
-                                       n_ranges: gint): PGdkRegion{.cdecl, 
+proc gdk_pango_layout_get_clip_region*(layout: PPangoLayout, x_origin: gint,
+                                       y_origin: gint, index_ranges: Pgint,
+                                       n_ranges: gint): PGdkRegion{.cdecl,
     dynlib: gdklib, importc: "gdk_pango_layout_get_clip_region".}
-proc gdk_pango_attr_stipple_new*(stipple: PGdkBitmap): PPangoAttribute{.cdecl, 
+proc gdk_pango_attr_stipple_new*(stipple: PGdkBitmap): PPangoAttribute{.cdecl,
     dynlib: gdklib, importc: "gdk_pango_attr_stipple_new".}
-proc gdk_pango_attr_embossed_new*(embossed: gboolean): PPangoAttribute{.cdecl, 
+proc gdk_pango_attr_embossed_new*(embossed: gboolean): PPangoAttribute{.cdecl,
     dynlib: gdklib, importc: "gdk_pango_attr_embossed_new".}
-proc gdk_pixbuf_render_threshold_alpha*(pixbuf: PGdkPixbuf, bitmap: PGdkBitmap, 
-                                        src_x: int32, src_y: int32, 
-                                        dest_x: int32, dest_y: int32, 
-                                        width: int32, height: int32, 
-                                        alpha_threshold: int32){.cdecl, 
+proc gdk_pixbuf_render_threshold_alpha*(pixbuf: PGdkPixbuf, bitmap: PGdkBitmap,
+                                        src_x: int32, src_y: int32,
+                                        dest_x: int32, dest_y: int32,
+                                        width: int32, height: int32,
+                                        alpha_threshold: int32){.cdecl,
     dynlib: gdklib, importc: "gdk_pixbuf_render_threshold_alpha".}
-proc gdk_pixbuf_render_to_drawable*(pixbuf: PGdkPixbuf, drawable: PGdkDrawable, 
-                                    gc: PGdkGC, src_x: int32, src_y: int32, 
-                                    dest_x: int32, dest_y: int32, width: int32, 
-                                    height: int32, dither: TGdkRgbDither, 
-                                    x_dither: int32, y_dither: int32){.cdecl, 
+proc gdk_pixbuf_render_to_drawable*(pixbuf: PGdkPixbuf, drawable: PGdkDrawable,
+                                    gc: PGdkGC, src_x: int32, src_y: int32,
+                                    dest_x: int32, dest_y: int32, width: int32,
+                                    height: int32, dither: TGdkRgbDither,
+                                    x_dither: int32, y_dither: int32){.cdecl,
     dynlib: gdklib, importc: "gdk_pixbuf_render_to_drawable".}
-proc gdk_pixbuf_render_to_drawable_alpha*(pixbuf: PGdkPixbuf, 
-    drawable: PGdkDrawable, src_x: int32, src_y: int32, dest_x: int32, 
-    dest_y: int32, width: int32, height: int32, alpha_mode: TGdkPixbufAlphaMode, 
-    alpha_threshold: int32, dither: TGdkRgbDither, x_dither: int32, 
-    y_dither: int32){.cdecl, dynlib: gdklib, 
+proc gdk_pixbuf_render_to_drawable_alpha*(pixbuf: PGdkPixbuf,
+    drawable: PGdkDrawable, src_x: int32, src_y: int32, dest_x: int32,
+    dest_y: int32, width: int32, height: int32, alpha_mode: TGdkPixbufAlphaMode,
+    alpha_threshold: int32, dither: TGdkRgbDither, x_dither: int32,
+    y_dither: int32){.cdecl, dynlib: gdklib,
                       importc: "gdk_pixbuf_render_to_drawable_alpha".}
-proc gdk_pixbuf_render_pixmap_and_mask_for_colormap*(pixbuf: PGdkPixbuf, 
-    colormap: PGdkColormap, n: var PGdkPixmap, nasdfdsafw4e: var PGdkBitmap, 
+proc gdk_pixbuf_render_pixmap_and_mask_for_colormap*(pixbuf: PGdkPixbuf,
+    colormap: PGdkColormap, n: var PGdkPixmap, nasdfdsafw4e: var PGdkBitmap,
     alpha_threshold: int32){.cdecl, dynlib: gdklib, importc: "gdk_pixbuf_render_pixmap_and_mask_for_colormap".}
-proc gdk_pixbuf_get_from_drawable*(dest: PGdkPixbuf, src: PGdkDrawable, 
-                                   cmap: PGdkColormap, src_x: int32, 
-                                   src_y: int32, dest_x: int32, dest_y: int32, 
+proc gdk_pixbuf_get_from_drawable*(dest: PGdkPixbuf, src: PGdkDrawable,
+                                   cmap: PGdkColormap, src_x: int32,
+                                   src_y: int32, dest_x: int32, dest_y: int32,
                                    width: int32, height: int32): PGdkPixbuf{.
     cdecl, dynlib: gdklib, importc: "gdk_pixbuf_get_from_drawable".}
-proc gdk_pixbuf_get_from_image*(dest: PGdkPixbuf, src: PGdkImage, 
-                                cmap: PGdkColormap, src_x: int32, src_y: int32, 
-                                dest_x: int32, dest_y: int32, width: int32, 
-                                height: int32): PGdkPixbuf{.cdecl, 
+proc gdk_pixbuf_get_from_image*(dest: PGdkPixbuf, src: PGdkImage,
+                                cmap: PGdkColormap, src_x: int32, src_y: int32,
+                                dest_x: int32, dest_y: int32, width: int32,
+                                height: int32): PGdkPixbuf{.cdecl,
     dynlib: gdklib, importc: "gdk_pixbuf_get_from_image".}
 proc GDK_TYPE_PIXMAP*(): GType
 proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap
@@ -2812,85 +2811,85 @@ proc GDK_IS_PIXMAP*(anObject: Pointer): bool
 proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool
 proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass
 proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject
-proc gdk_pixmap_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_pixmap_get_type*(): GType{.cdecl, dynlib: gdklib,
                                     importc: "gdk_pixmap_get_type".}
 proc gdk_pixmap_new*(window: PGdkWindow, width: gint, height: gint, depth: gint): PGdkPixmap{.
     cdecl, dynlib: gdklib, importc: "gdk_pixmap_new".}
-proc gdk_bitmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint, 
-                                  height: gint): PGdkBitmap{.cdecl, 
+proc gdk_bitmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint,
+                                  height: gint): PGdkBitmap{.cdecl,
     dynlib: gdklib, importc: "gdk_bitmap_create_from_data".}
-proc gdk_pixmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint, 
-                                  height: gint, depth: gint, fg: PGdkColor, 
-                                  bg: PGdkColor): PGdkPixmap{.cdecl, 
+proc gdk_pixmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint,
+                                  height: gint, depth: gint, fg: PGdkColor,
+                                  bg: PGdkColor): PGdkPixmap{.cdecl,
     dynlib: gdklib, importc: "gdk_pixmap_create_from_data".}
-proc gdk_pixmap_create_from_xpm*(window: PGdkWindow, k: var PGdkBitmap, 
+proc gdk_pixmap_create_from_xpm*(window: PGdkWindow, k: var PGdkBitmap,
                                  transparent_color: PGdkColor, filename: cstring): PGdkPixmap{.
     cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm".}
-proc gdk_pixmap_colormap_create_from_xpm*(window: PGdkWindow, 
-    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor, 
+proc gdk_pixmap_colormap_create_from_xpm*(window: PGdkWindow,
+    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor,
     filename: cstring): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm".}
-proc gdk_pixmap_create_from_xpm_d*(window: PGdkWindow, k: var PGdkBitmap, 
+proc gdk_pixmap_create_from_xpm_d*(window: PGdkWindow, k: var PGdkBitmap,
                                    transparent_color: PGdkColor, data: PPgchar): PGdkPixmap{.
     cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm_d".}
-proc gdk_pixmap_colormap_create_from_xpm_d*(window: PGdkWindow, 
-    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor, 
+proc gdk_pixmap_colormap_create_from_xpm_d*(window: PGdkWindow,
+    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor,
     data: PPgchar): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm_d".}
-proc gdk_pixmap_foreign_new_for_display*(display: PGdkDisplay, 
-    anid: TGdkNativeWindow): PGdkPixmap{.cdecl, dynlib: gdklib, 
+proc gdk_pixmap_foreign_new_for_display*(display: PGdkDisplay,
+    anid: TGdkNativeWindow): PGdkPixmap{.cdecl, dynlib: gdklib,
     importc: "gdk_pixmap_foreign_new_for_display".}
 proc gdk_pixmap_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkPixmap{.
     cdecl, dynlib: gdklib, importc: "gdk_pixmap_lookup_for_display".}
 proc gdk_atom_intern*(atom_name: cstring, only_if_exists: gboolean): TGdkAtom{.
     cdecl, dynlib: gdklib, importc: "gdk_atom_intern".}
-proc gdk_atom_name*(atom: TGdkAtom): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_atom_name*(atom: TGdkAtom): cstring{.cdecl, dynlib: gdklib,
     importc: "gdk_atom_name".}
-proc gdk_property_get*(window: PGdkWindow, `property`: TGdkAtom, 
-                       `type`: TGdkAtom, offset: gulong, length: gulong, 
-                       pdelete: gint, actual_property_type: PGdkAtom, 
-                       actual_format: Pgint, actual_length: Pgint, 
-                       data: PPguchar): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_property_get*(window: PGdkWindow, `property`: TGdkAtom,
+                       `type`: TGdkAtom, offset: gulong, length: gulong,
+                       pdelete: gint, actual_property_type: PGdkAtom,
+                       actual_format: Pgint, actual_length: Pgint,
+                       data: PPguchar): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_property_get".}
-proc gdk_property_change*(window: PGdkWindow, `property`: TGdkAtom, 
-                          `type`: TGdkAtom, format: gint, mode: TGdkPropMode, 
-                          data: Pguchar, nelements: gint){.cdecl, 
+proc gdk_property_change*(window: PGdkWindow, `property`: TGdkAtom,
+                          `type`: TGdkAtom, format: gint, mode: TGdkPropMode,
+                          data: Pguchar, nelements: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_property_change".}
-proc gdk_property_delete*(window: PGdkWindow, `property`: TGdkAtom){.cdecl, 
+proc gdk_property_delete*(window: PGdkWindow, `property`: TGdkAtom){.cdecl,
     dynlib: gdklib, importc: "gdk_property_delete".}
-proc gdk_text_property_to_text_list_for_display*(display: PGdkDisplay, 
-    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint, 
+proc gdk_text_property_to_text_list_for_display*(display: PGdkDisplay,
+    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint,
     t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_text_list_for_display".}
-proc gdk_text_property_to_utf8_list_for_display*(display: PGdkDisplay, 
-    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint, 
+proc gdk_text_property_to_utf8_list_for_display*(display: PGdkDisplay,
+    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint,
     t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_utf8_list_for_display".}
-proc gdk_utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: gdklib,
     importc: "gdk_utf8_to_string_target".}
-proc gdk_string_to_compound_text_for_display*(display: PGdkDisplay, str: cstring, 
+proc gdk_string_to_compound_text_for_display*(display: PGdkDisplay, str: cstring,
     encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_string_to_compound_text_for_display".}
-proc gdk_utf8_to_compound_text_for_display*(display: PGdkDisplay, str: cstring, 
+proc gdk_utf8_to_compound_text_for_display*(display: PGdkDisplay, str: cstring,
     encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_utf8_to_compound_text_for_display".}
-proc gdk_free_text_list*(list: PPgchar){.cdecl, dynlib: gdklib, 
+proc gdk_free_text_list*(list: PPgchar){.cdecl, dynlib: gdklib,
     importc: "gdk_free_text_list".}
-proc gdk_free_compound_text*(ctext: Pguchar){.cdecl, dynlib: gdklib, 
+proc gdk_free_compound_text*(ctext: Pguchar){.cdecl, dynlib: gdklib,
     importc: "gdk_free_compound_text".}
-proc gdk_region_new*(): PGdkRegion{.cdecl, dynlib: gdklib, 
+proc gdk_region_new*(): PGdkRegion{.cdecl, dynlib: gdklib,
                                     importc: "gdk_region_new".}
-proc gdk_region_polygon*(points: PGdkPoint, npoints: gint, 
-                         fill_rule: TGdkFillRule): PGdkRegion{.cdecl, 
+proc gdk_region_polygon*(points: PGdkPoint, npoints: gint,
+                         fill_rule: TGdkFillRule): PGdkRegion{.cdecl,
     dynlib: gdklib, importc: "gdk_region_polygon".}
-proc gdk_region_copy*(region: PGdkRegion): PGdkRegion{.cdecl, dynlib: gdklib, 
+proc gdk_region_copy*(region: PGdkRegion): PGdkRegion{.cdecl, dynlib: gdklib,
     importc: "gdk_region_copy".}
-proc gdk_region_rectangle*(rectangle: PGdkRectangle): PGdkRegion{.cdecl, 
+proc gdk_region_rectangle*(rectangle: PGdkRectangle): PGdkRegion{.cdecl,
     dynlib: gdklib, importc: "gdk_region_rectangle".}
-proc gdk_region_destroy*(region: PGdkRegion){.cdecl, dynlib: gdklib, 
+proc gdk_region_destroy*(region: PGdkRegion){.cdecl, dynlib: gdklib,
     importc: "gdk_region_destroy".}
 proc gdk_region_get_clipbox*(region: PGdkRegion, rectangle: PGdkRectangle){.
     cdecl, dynlib: gdklib, importc: "gdk_region_get_clipbox".}
-proc gdk_region_get_rectangles*(region: PGdkRegion, s: var PGdkRectangle, 
-                                n_rectangles: Pgint){.cdecl, dynlib: gdklib, 
+proc gdk_region_get_rectangles*(region: PGdkRegion, s: var PGdkRectangle,
+                                n_rectangles: Pgint){.cdecl, dynlib: gdklib,
     importc: "gdk_region_get_rectangles".}
-proc gdk_region_empty*(region: PGdkRegion): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_region_empty*(region: PGdkRegion): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_region_empty".}
 proc gdk_region_equal*(region1: PGdkRegion, region2: PGdkRegion): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_region_equal".}
@@ -2898,62 +2897,62 @@ proc gdk_region_point_in*(region: PGdkRegion, x: int32, y: int32): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_region_point_in".}
 proc gdk_region_rect_in*(region: PGdkRegion, rect: PGdkRectangle): TGdkOverlapType{.
     cdecl, dynlib: gdklib, importc: "gdk_region_rect_in".}
-proc gdk_region_offset*(region: PGdkRegion, dx: gint, dy: gint){.cdecl, 
+proc gdk_region_offset*(region: PGdkRegion, dx: gint, dy: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_region_offset".}
-proc gdk_region_shrink*(region: PGdkRegion, dx: gint, dy: gint){.cdecl, 
+proc gdk_region_shrink*(region: PGdkRegion, dx: gint, dy: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_region_shrink".}
 proc gdk_region_union_with_rect*(region: PGdkRegion, rect: PGdkRectangle){.
     cdecl, dynlib: gdklib, importc: "gdk_region_union_with_rect".}
-proc gdk_region_intersect*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, 
+proc gdk_region_intersect*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
     dynlib: gdklib, importc: "gdk_region_intersect".}
-proc gdk_region_union*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, 
+proc gdk_region_union*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
     dynlib: gdklib, importc: "gdk_region_union".}
-proc gdk_region_subtract*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, 
+proc gdk_region_subtract*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
     dynlib: gdklib, importc: "gdk_region_subtract".}
-proc gdk_region_xor*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, 
+proc gdk_region_xor*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
     dynlib: gdklib, importc: "gdk_region_xor".}
-proc gdk_region_spans_intersect_foreach*(region: PGdkRegion, spans: PGdkSpan, 
+proc gdk_region_spans_intersect_foreach*(region: PGdkRegion, spans: PGdkSpan,
     n_spans: int32, sorted: gboolean, `function`: TGdkSpanFunc, data: gpointer){.
     cdecl, dynlib: gdklib, importc: "gdk_region_spans_intersect_foreach".}
-proc gdk_rgb_find_color*(colormap: PGdkColormap, color: PGdkColor){.cdecl, 
+proc gdk_rgb_find_color*(colormap: PGdkColormap, color: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_rgb_find_color".}
-proc gdk_draw_rgb_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, 
-                         width: gint, height: gint, dith: TGdkRgbDither, 
-                         rgb_buf: Pguchar, rowstride: gint){.cdecl, 
+proc gdk_draw_rgb_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
+                         width: gint, height: gint, dith: TGdkRgbDither,
+                         rgb_buf: Pguchar, rowstride: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_draw_rgb_image".}
-proc gdk_draw_rgb_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, 
-                                   y: gint, width: gint, height: gint, 
-                                   dith: TGdkRgbDither, rgb_buf: Pguchar, 
+proc gdk_draw_rgb_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
+                                   y: gint, width: gint, height: gint,
+                                   dith: TGdkRgbDither, rgb_buf: Pguchar,
                                    rowstride: gint, xdith: gint, ydith: gint){.
     cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_image_dithalign".}
-proc gdk_draw_rgb_32_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, 
-                            y: gint, width: gint, height: gint, 
+proc gdk_draw_rgb_32_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
+                            y: gint, width: gint, height: gint,
                             dith: TGdkRgbDither, buf: Pguchar, rowstride: gint){.
     cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_32_image".}
-proc gdk_draw_rgb_32_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, 
-                                      x: gint, y: gint, width: gint, 
-                                      height: gint, dith: TGdkRgbDither, 
-                                      buf: Pguchar, rowstride: gint, 
-                                      xdith: gint, ydith: gint){.cdecl, 
+proc gdk_draw_rgb_32_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC,
+                                      x: gint, y: gint, width: gint,
+                                      height: gint, dith: TGdkRgbDither,
+                                      buf: Pguchar, rowstride: gint,
+                                      xdith: gint, ydith: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_draw_rgb_32_image_dithalign".}
-proc gdk_draw_gray_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, 
-                          width: gint, height: gint, dith: TGdkRgbDither, 
-                          buf: Pguchar, rowstride: gint){.cdecl, dynlib: gdklib, 
+proc gdk_draw_gray_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
+                          width: gint, height: gint, dith: TGdkRgbDither,
+                          buf: Pguchar, rowstride: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_gray_image".}
-proc gdk_draw_indexed_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, 
-                             y: gint, width: gint, height: gint, 
-                             dith: TGdkRgbDither, buf: Pguchar, rowstride: gint, 
-                             cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib, 
+proc gdk_draw_indexed_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
+                             y: gint, width: gint, height: gint,
+                             dith: TGdkRgbDither, buf: Pguchar, rowstride: gint,
+                             cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib,
     importc: "gdk_draw_indexed_image".}
-proc gdk_rgb_cmap_new*(colors: Pguint32, n_colors: gint): PGdkRgbCmap{.cdecl, 
+proc gdk_rgb_cmap_new*(colors: Pguint32, n_colors: gint): PGdkRgbCmap{.cdecl,
     dynlib: gdklib, importc: "gdk_rgb_cmap_new".}
-proc gdk_rgb_cmap_free*(cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib, 
+proc gdk_rgb_cmap_free*(cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib,
     importc: "gdk_rgb_cmap_free".}
-proc gdk_rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: gdklib, 
+proc gdk_rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: gdklib,
     importc: "gdk_rgb_set_verbose".}
-proc gdk_rgb_set_install*(install: gboolean){.cdecl, dynlib: gdklib, 
+proc gdk_rgb_set_install*(install: gboolean){.cdecl, dynlib: gdklib,
     importc: "gdk_rgb_set_install".}
-proc gdk_rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: gdklib, 
+proc gdk_rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_rgb_set_min_colors".}
 proc GDK_TYPE_DISPLAY*(): GType
 proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay
@@ -2961,46 +2960,46 @@ proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass
 proc GDK_IS_DISPLAY*(anObject: pointer): bool
 proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool
 proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass
-proc gdk_display_open*(display_name: cstring): PGdkDisplay{.cdecl, 
+proc gdk_display_open*(display_name: cstring): PGdkDisplay{.cdecl,
     dynlib: gdklib, importc: "gdk_display_open".}
-proc gdk_display_get_name*(display: PGdkDisplay): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_display_get_name*(display: PGdkDisplay): cstring{.cdecl, dynlib: gdklib,
     importc: "gdk_display_get_name".}
-proc gdk_display_get_n_screens*(display: PGdkDisplay): gint{.cdecl, 
+proc gdk_display_get_n_screens*(display: PGdkDisplay): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_display_get_n_screens".}
 proc gdk_display_get_screen*(display: PGdkDisplay, screen_num: gint): PGdkScreen{.
     cdecl, dynlib: gdklib, importc: "gdk_display_get_screen".}
-proc gdk_display_get_default_screen*(display: PGdkDisplay): PGdkScreen{.cdecl, 
+proc gdk_display_get_default_screen*(display: PGdkDisplay): PGdkScreen{.cdecl,
     dynlib: gdklib, importc: "gdk_display_get_default_screen".}
-proc gdk_display_pointer_ungrab*(display: PGdkDisplay, time: guint32){.cdecl, 
+proc gdk_display_pointer_ungrab*(display: PGdkDisplay, time: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_display_pointer_ungrab".}
-proc gdk_display_keyboard_ungrab*(display: PGdkDisplay, time: guint32){.cdecl, 
+proc gdk_display_keyboard_ungrab*(display: PGdkDisplay, time: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_display_keyboard_ungrab".}
-proc gdk_display_pointer_is_grabbed*(display: PGdkDisplay): gboolean{.cdecl, 
+proc gdk_display_pointer_is_grabbed*(display: PGdkDisplay): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_display_pointer_is_grabbed".}
-proc gdk_display_beep*(display: PGdkDisplay){.cdecl, dynlib: gdklib, 
+proc gdk_display_beep*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
     importc: "gdk_display_beep".}
-proc gdk_display_sync*(display: PGdkDisplay){.cdecl, dynlib: gdklib, 
+proc gdk_display_sync*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
     importc: "gdk_display_sync".}
-proc gdk_display_close*(display: PGdkDisplay){.cdecl, dynlib: gdklib, 
+proc gdk_display_close*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
     importc: "gdk_display_close".}
-proc gdk_display_list_devices*(display: PGdkDisplay): PGList{.cdecl, 
+proc gdk_display_list_devices*(display: PGdkDisplay): PGList{.cdecl,
     dynlib: gdklib, importc: "gdk_display_list_devices".}
-proc gdk_display_get_event*(display: PGdkDisplay): PGdkEvent{.cdecl, 
+proc gdk_display_get_event*(display: PGdkDisplay): PGdkEvent{.cdecl,
     dynlib: gdklib, importc: "gdk_display_get_event".}
-proc gdk_display_peek_event*(display: PGdkDisplay): PGdkEvent{.cdecl, 
+proc gdk_display_peek_event*(display: PGdkDisplay): PGdkEvent{.cdecl,
     dynlib: gdklib, importc: "gdk_display_peek_event".}
-proc gdk_display_put_event*(display: PGdkDisplay, event: PGdkEvent){.cdecl, 
+proc gdk_display_put_event*(display: PGdkDisplay, event: PGdkEvent){.cdecl,
     dynlib: gdklib, importc: "gdk_display_put_event".}
-proc gdk_display_add_client_message_filter*(display: PGdkDisplay, 
-    message_type: TGdkAtom, func: TGdkFilterFunc, data: gpointer){.cdecl, 
+proc gdk_display_add_client_message_filter*(display: PGdkDisplay,
+    message_type: TGdkAtom, func: TGdkFilterFunc, data: gpointer){.cdecl,
     dynlib: gdklib, importc: "gdk_display_add_client_message_filter".}
 proc gdk_display_set_double_click_time*(display: PGdkDisplay, msec: guint){.
     cdecl, dynlib: gdklib, importc: "gdk_display_set_double_click_time".}
 proc gdk_display_set_sm_client_id*(display: PGdkDisplay, sm_client_id: cstring){.
     cdecl, dynlib: gdklib, importc: "gdk_display_set_sm_client_id".}
-proc gdk_set_default_display*(display: PGdkDisplay){.cdecl, dynlib: gdklib, 
+proc gdk_set_default_display*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
     importc: "gdk_set_default_display".}
-proc gdk_get_default_display*(): PGdkDisplay{.cdecl, dynlib: gdklib, 
+proc gdk_get_default_display*(): PGdkDisplay{.cdecl, dynlib: gdklib,
     importc: "gdk_get_default_display".}
 proc GDK_TYPE_SCREEN*(): GType
 proc GDK_SCREEN*(anObject: Pointer): PGdkScreen
@@ -3008,45 +3007,45 @@ proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass
 proc GDK_IS_SCREEN*(anObject: Pointer): bool
 proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool
 proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass
-proc gdk_screen_get_default_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl, 
+proc gdk_screen_get_default_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_default_colormap".}
 proc gdk_screen_set_default_colormap*(screen: PGdkScreen, colormap: PGdkColormap){.
     cdecl, dynlib: gdklib, importc: "gdk_screen_set_default_colormap".}
-proc gdk_screen_get_system_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl, 
+proc gdk_screen_get_system_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_system_colormap".}
-proc gdk_screen_get_system_visual*(screen: PGdkScreen): PGdkVisual{.cdecl, 
+proc gdk_screen_get_system_visual*(screen: PGdkScreen): PGdkVisual{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_system_visual".}
-proc gdk_screen_get_rgb_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl, 
+proc gdk_screen_get_rgb_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_rgb_colormap".}
-proc gdk_screen_get_rgb_visual*(screen: PGdkScreen): PGdkVisual{.cdecl, 
+proc gdk_screen_get_rgb_visual*(screen: PGdkScreen): PGdkVisual{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_rgb_visual".}
-proc gdk_screen_get_root_window*(screen: PGdkScreen): PGdkWindow{.cdecl, 
+proc gdk_screen_get_root_window*(screen: PGdkScreen): PGdkWindow{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_root_window".}
-proc gdk_screen_get_display*(screen: PGdkScreen): PGdkDisplay{.cdecl, 
+proc gdk_screen_get_display*(screen: PGdkScreen): PGdkDisplay{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_display".}
-proc gdk_screen_get_number*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, 
+proc gdk_screen_get_number*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
     importc: "gdk_screen_get_number".}
-proc gdk_screen_get_window_at_pointer*(screen: PGdkScreen, win_x: Pgint, 
-                                       win_y: Pgint): PGdkWindow{.cdecl, 
+proc gdk_screen_get_window_at_pointer*(screen: PGdkScreen, win_x: Pgint,
+                                       win_y: Pgint): PGdkWindow{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_window_at_pointer".}
-proc gdk_screen_get_width*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, 
+proc gdk_screen_get_width*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
     importc: "gdk_screen_get_width".}
-proc gdk_screen_get_height*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, 
+proc gdk_screen_get_height*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
     importc: "gdk_screen_get_height".}
-proc gdk_screen_get_width_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, 
+proc gdk_screen_get_width_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
     importc: "gdk_screen_get_width_mm".}
-proc gdk_screen_get_height_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, 
+proc gdk_screen_get_height_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
     importc: "gdk_screen_get_height_mm".}
-proc gdk_screen_close*(screen: PGdkScreen){.cdecl, dynlib: gdklib, 
+proc gdk_screen_close*(screen: PGdkScreen){.cdecl, dynlib: gdklib,
     importc: "gdk_screen_close".}
-proc gdk_screen_list_visuals*(screen: PGdkScreen): PGList{.cdecl, 
+proc gdk_screen_list_visuals*(screen: PGdkScreen): PGList{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_list_visuals".}
-proc gdk_screen_get_toplevel_windows*(screen: PGdkScreen): PGList{.cdecl, 
+proc gdk_screen_get_toplevel_windows*(screen: PGdkScreen): PGList{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_toplevel_windows".}
-proc gdk_screen_get_n_monitors*(screen: PGdkScreen): gint{.cdecl, 
+proc gdk_screen_get_n_monitors*(screen: PGdkScreen): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_n_monitors".}
-proc gdk_screen_get_monitor_geometry*(screen: PGdkScreen, monitor_num: gint, 
-                                      dest: PGdkRectangle){.cdecl, 
+proc gdk_screen_get_monitor_geometry*(screen: PGdkScreen, monitor_num: gint,
+                                      dest: PGdkRectangle){.cdecl,
     dynlib: gdklib, importc: "gdk_screen_get_monitor_geometry".}
 proc gdk_screen_get_monitor_at_point*(screen: PGdkScreen, x: gint, y: gint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_point".}
@@ -3054,7 +3053,7 @@ proc gdk_screen_get_monitor_at_window*(screen: PGdkScreen, window: PGdkWindow):
     cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_window".}
 proc gdk_screen_broadcast_client_message*(screen: PGdkScreen, event: PGdkEvent){.
     cdecl, dynlib: gdklib, importc: "gdk_screen_broadcast_client_message".}
-proc gdk_get_default_screen*(): PGdkScreen{.cdecl, dynlib: gdklib, 
+proc gdk_get_default_screen*(): PGdkScreen{.cdecl, dynlib: gdklib,
     importc: "gdk_get_default_screen".}
 proc gdk_screen_get_setting*(screen: PGdkScreen, name: cstring, value: PGValue): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_screen_get_setting".}
@@ -3074,22 +3073,22 @@ proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom
 proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom
 proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom
 proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom
-proc gdk_selection_owner_set_for_display*(display: PGdkDisplay, 
+proc gdk_selection_owner_set_for_display*(display: PGdkDisplay,
     owner: PGdkWindow, selection: TGdkAtom, time: guint32, send_event: gboolean): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_selection_owner_set_for_display".}
-proc gdk_selection_owner_get_for_display*(display: PGdkDisplay, 
+proc gdk_selection_owner_get_for_display*(display: PGdkDisplay,
     selection: TGdkAtom): PGdkWindow{.cdecl, dynlib: gdklib, importc: "gdk_selection_owner_get_for_display".}
-proc gdk_selection_convert*(requestor: PGdkWindow, selection: TGdkAtom, 
-                            target: TGdkAtom, time: guint32){.cdecl, 
+proc gdk_selection_convert*(requestor: PGdkWindow, selection: TGdkAtom,
+                            target: TGdkAtom, time: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_selection_convert".}
-proc gdk_selection_property_get*(requestor: PGdkWindow, data: PPguchar, 
+proc gdk_selection_property_get*(requestor: PGdkWindow, data: PPguchar,
                                  prop_type: PGdkAtom, prop_format: Pgint): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_selection_property_get".}
-proc gdk_selection_send_notify_for_display*(display: PGdkDisplay, 
-    requestor: guint32, selection: TGdkAtom, target: TGdkAtom, 
-    `property`: TGdkAtom, time: guint32){.cdecl, dynlib: gdklib, 
+proc gdk_selection_send_notify_for_display*(display: PGdkDisplay,
+    requestor: guint32, selection: TGdkAtom, target: TGdkAtom,
+    `property`: TGdkAtom, time: guint32){.cdecl, dynlib: gdklib,
     importc: "gdk_selection_send_notify_for_display".}
-const 
+const
   GDK_CURRENT_TIME* = 0
   GDK_PARENT_RELATIVE* = 1
   GDK_OK* = 0
@@ -3131,9 +3130,9 @@ proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass
 proc GDK_IS_VISUAL*(anObject: Pointer): bool
 proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool
 proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass
-proc gdk_visual_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_visual_get_type*(): GType{.cdecl, dynlib: gdklib,
                                     importc: "gdk_visual_get_type".}
-const 
+const
   GDK_WA_TITLE* = 1 shl 1
   GDK_WA_X* = 1 shl 2
   GDK_WA_Y* = 1 shl 3
@@ -3182,776 +3181,776 @@ proc GDK_IS_WINDOW*(anObject: Pointer): bool
 proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool
 proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass
 proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject
-const 
-  bm_TGdkWindowObject_guffaw_gravity* = 0x00000001
-  bp_TGdkWindowObject_guffaw_gravity* = 0
-  bm_TGdkWindowObject_input_only* = 0x00000002
-  bp_TGdkWindowObject_input_only* = 1
-  bm_TGdkWindowObject_modal_hint* = 0x00000004
-  bp_TGdkWindowObject_modal_hint* = 2
-  bm_TGdkWindowObject_destroyed* = 0x00000018
-  bp_TGdkWindowObject_destroyed* = 3
+const
+  bm_TGdkWindowObject_guffaw_gravity* = 0x00000001'i16
+  bp_TGdkWindowObject_guffaw_gravity* = 0'i16
+  bm_TGdkWindowObject_input_only* = 0x00000002'i16
+  bp_TGdkWindowObject_input_only* = 1'i16
+  bm_TGdkWindowObject_modal_hint* = 0x00000004'i16
+  bp_TGdkWindowObject_modal_hint* = 2'i16
+  bm_TGdkWindowObject_destroyed* = 0x00000018'i16
+  bp_TGdkWindowObject_destroyed* = 3'i16
 
 proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject, 
+proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
     `guffaw_gravity`: guint)
 proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject, 
+proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
                                      `input_only`: guint)
 proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject, 
+proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
                                      `modal_hint`: guint)
 proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint
 proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint)
-proc gdk_window_object_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_window_object_get_type*(): GType{.cdecl, dynlib: gdklib,
     importc: "gdk_window_object_get_type".}
-proc gdk_window_new*(parent: PGdkWindow, attributes: PGdkWindowAttr, 
-                     attributes_mask: gint): PGdkWindow{.cdecl, dynlib: gdklib, 
+proc gdk_window_new*(parent: PGdkWindow, attributes: PGdkWindowAttr,
+                     attributes_mask: gint): PGdkWindow{.cdecl, dynlib: gdklib,
     importc: "gdk_window_new".}
-proc gdk_window_destroy*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_destroy*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_destroy".}
-proc gdk_window_get_window_type*(window: PGdkWindow): TGdkWindowType{.cdecl, 
+proc gdk_window_get_window_type*(window: PGdkWindow): TGdkWindowType{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_window_type".}
-proc gdk_window_at_pointer*(win_x: Pgint, win_y: Pgint): PGdkWindow{.cdecl, 
+proc gdk_window_at_pointer*(win_x: Pgint, win_y: Pgint): PGdkWindow{.cdecl,
     dynlib: gdklib, importc: "gdk_window_at_pointer".}
-proc gdk_window_show*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_show*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_show".}
-proc gdk_window_hide*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_hide*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_hide".}
-proc gdk_window_withdraw*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_withdraw*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_withdraw".}
-proc gdk_window_show_unraised*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_show_unraised*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_show_unraised".}
-proc gdk_window_move*(window: PGdkWindow, x: gint, y: gint){.cdecl, 
+proc gdk_window_move*(window: PGdkWindow, x: gint, y: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_move".}
-proc gdk_window_resize*(window: PGdkWindow, width: gint, height: gint){.cdecl, 
+proc gdk_window_resize*(window: PGdkWindow, width: gint, height: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_resize".}
-proc gdk_window_move_resize*(window: PGdkWindow, x: gint, y: gint, width: gint, 
-                             height: gint){.cdecl, dynlib: gdklib, 
+proc gdk_window_move_resize*(window: PGdkWindow, x: gint, y: gint, width: gint,
+                             height: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_window_move_resize".}
-proc gdk_window_reparent*(window: PGdkWindow, new_parent: PGdkWindow, x: gint, 
-                          y: gint){.cdecl, dynlib: gdklib, 
+proc gdk_window_reparent*(window: PGdkWindow, new_parent: PGdkWindow, x: gint,
+                          y: gint){.cdecl, dynlib: gdklib,
                                     importc: "gdk_window_reparent".}
-proc gdk_window_clear*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_clear*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_clear".}
-proc gdk_window_clear_area*(window: PGdkWindow, x: gint, y: gint, width: gint, 
-                            height: gint){.cdecl, dynlib: gdklib, 
+proc gdk_window_clear_area*(window: PGdkWindow, x: gint, y: gint, width: gint,
+                            height: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_window_clear_area".}
-proc gdk_window_clear_area_e*(window: PGdkWindow, x: gint, y: gint, width: gint, 
-                              height: gint){.cdecl, dynlib: gdklib, 
+proc gdk_window_clear_area_e*(window: PGdkWindow, x: gint, y: gint, width: gint,
+                              height: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_window_clear_area_e".}
-proc gdk_window_raise*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_raise*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_raise".}
-proc gdk_window_lower*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_lower*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_lower".}
-proc gdk_window_focus*(window: PGdkWindow, timestamp: guint32){.cdecl, 
+proc gdk_window_focus*(window: PGdkWindow, timestamp: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_window_focus".}
-proc gdk_window_set_user_data*(window: PGdkWindow, user_data: gpointer){.cdecl, 
+proc gdk_window_set_user_data*(window: PGdkWindow, user_data: gpointer){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_user_data".}
-proc gdk_window_set_override_redirect*(window: PGdkWindow, 
-                                       override_redirect: gboolean){.cdecl, 
+proc gdk_window_set_override_redirect*(window: PGdkWindow,
+                                       override_redirect: gboolean){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_override_redirect".}
-proc gdk_window_add_filter*(window: PGdkWindow, `function`: TGdkFilterFunc, 
-                            data: gpointer){.cdecl, dynlib: gdklib, 
+proc gdk_window_add_filter*(window: PGdkWindow, `function`: TGdkFilterFunc,
+                            data: gpointer){.cdecl, dynlib: gdklib,
     importc: "gdk_window_add_filter".}
-proc gdk_window_remove_filter*(window: PGdkWindow, `function`: TGdkFilterFunc, 
-                               data: gpointer){.cdecl, dynlib: gdklib, 
+proc gdk_window_remove_filter*(window: PGdkWindow, `function`: TGdkFilterFunc,
+                               data: gpointer){.cdecl, dynlib: gdklib,
     importc: "gdk_window_remove_filter".}
-proc gdk_window_scroll*(window: PGdkWindow, dx: gint, dy: gint){.cdecl, 
+proc gdk_window_scroll*(window: PGdkWindow, dx: gint, dy: gint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_scroll".}
-proc gdk_window_shape_combine_mask*(window: PGdkWindow, mask: PGdkBitmap, 
-                                    x: gint, y: gint){.cdecl, dynlib: gdklib, 
+proc gdk_window_shape_combine_mask*(window: PGdkWindow, mask: PGdkBitmap,
+                                    x: gint, y: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_window_shape_combine_mask".}
-proc gdk_window_shape_combine_region*(window: PGdkWindow, 
-                                      shape_region: PGdkRegion, offset_x: gint, 
-                                      offset_y: gint){.cdecl, dynlib: gdklib, 
+proc gdk_window_shape_combine_region*(window: PGdkWindow,
+                                      shape_region: PGdkRegion, offset_x: gint,
+                                      offset_y: gint){.cdecl, dynlib: gdklib,
     importc: "gdk_window_shape_combine_region".}
-proc gdk_window_set_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_set_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_set_child_shapes".}
-proc gdk_window_merge_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_merge_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_merge_child_shapes".}
-proc gdk_window_is_visible*(window: PGdkWindow): gboolean{.cdecl, 
+proc gdk_window_is_visible*(window: PGdkWindow): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_window_is_visible".}
-proc gdk_window_is_viewable*(window: PGdkWindow): gboolean{.cdecl, 
+proc gdk_window_is_viewable*(window: PGdkWindow): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_window_is_viewable".}
-proc gdk_window_get_state*(window: PGdkWindow): TGdkWindowState{.cdecl, 
+proc gdk_window_get_state*(window: PGdkWindow): TGdkWindowState{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_state".}
 proc gdk_window_set_static_gravities*(window: PGdkWindow, use_static: gboolean): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_window_set_static_gravities".}
-proc gdk_window_foreign_new_for_display*(display: PGdkDisplay, 
-    anid: TGdkNativeWindow): PGdkWindow{.cdecl, dynlib: gdklib, 
+proc gdk_window_foreign_new_for_display*(display: PGdkDisplay,
+    anid: TGdkNativeWindow): PGdkWindow{.cdecl, dynlib: gdklib,
     importc: "gdk_window_foreign_new_for_display".}
 proc gdk_window_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkWindow{.
     cdecl, dynlib: gdklib, importc: "gdk_window_lookup_for_display".}
 proc gdk_window_set_type_hint*(window: PGdkWindow, hint: TGdkWindowTypeHint){.
     cdecl, dynlib: gdklib, importc: "gdk_window_set_type_hint".}
-proc gdk_window_set_modal_hint*(window: PGdkWindow, modal: gboolean){.cdecl, 
+proc gdk_window_set_modal_hint*(window: PGdkWindow, modal: gboolean){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_modal_hint".}
-proc gdk_window_set_geometry_hints*(window: PGdkWindow, geometry: PGdkGeometry, 
-                                    geom_mask: TGdkWindowHints){.cdecl, 
+proc gdk_window_set_geometry_hints*(window: PGdkWindow, geometry: PGdkGeometry,
+                                    geom_mask: TGdkWindowHints){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_geometry_hints".}
-proc gdk_set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: gdklib, 
+proc gdk_set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: gdklib,
     importc: "gdk_set_sm_client_id".}
 proc gdk_window_begin_paint_rect*(window: PGdkWindow, rectangle: PGdkRectangle){.
     cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_rect".}
 proc gdk_window_begin_paint_region*(window: PGdkWindow, region: PGdkRegion){.
     cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_region".}
-proc gdk_window_end_paint*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_end_paint*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_end_paint".}
-proc gdk_window_set_title*(window: PGdkWindow, title: cstring){.cdecl, 
+proc gdk_window_set_title*(window: PGdkWindow, title: cstring){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_title".}
-proc gdk_window_set_role*(window: PGdkWindow, role: cstring){.cdecl, 
+proc gdk_window_set_role*(window: PGdkWindow, role: cstring){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_role".}
 proc gdk_window_set_transient_for*(window: PGdkWindow, parent: PGdkWindow){.
     cdecl, dynlib: gdklib, importc: "gdk_window_set_transient_for".}
-proc gdk_window_set_background*(window: PGdkWindow, color: PGdkColor){.cdecl, 
+proc gdk_window_set_background*(window: PGdkWindow, color: PGdkColor){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_background".}
-proc gdk_window_set_back_pixmap*(window: PGdkWindow, pixmap: PGdkPixmap, 
-                                 parent_relative: gboolean){.cdecl, 
+proc gdk_window_set_back_pixmap*(window: PGdkWindow, pixmap: PGdkPixmap,
+                                 parent_relative: gboolean){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_back_pixmap".}
-proc gdk_window_set_cursor*(window: PGdkWindow, cursor: PGdkCursor){.cdecl, 
+proc gdk_window_set_cursor*(window: PGdkWindow, cursor: PGdkCursor){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_cursor".}
-proc gdk_window_get_user_data*(window: PGdkWindow, data: gpointer){.cdecl, 
+proc gdk_window_get_user_data*(window: PGdkWindow, data: gpointer){.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_user_data".}
-proc gdk_window_get_geometry*(window: PGdkWindow, x: Pgint, y: Pgint, 
-                              width: Pgint, height: Pgint, depth: Pgint){.cdecl, 
+proc gdk_window_get_geometry*(window: PGdkWindow, x: Pgint, y: Pgint,
+                              width: Pgint, height: Pgint, depth: Pgint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_geometry".}
-proc gdk_window_get_position*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl, 
+proc gdk_window_get_position*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_position".}
 proc gdk_window_get_origin*(window: PGdkWindow, x: Pgint, y: Pgint): gint{.
     cdecl, dynlib: gdklib, importc: "gdk_window_get_origin".}
-proc gdk_window_get_root_origin*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl, 
+proc gdk_window_get_root_origin*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_root_origin".}
 proc gdk_window_get_frame_extents*(window: PGdkWindow, rect: PGdkRectangle){.
     cdecl, dynlib: gdklib, importc: "gdk_window_get_frame_extents".}
-proc gdk_window_get_pointer*(window: PGdkWindow, x: Pgint, y: Pgint, 
-                             mask: PGdkModifierType): PGdkWindow{.cdecl, 
+proc gdk_window_get_pointer*(window: PGdkWindow, x: Pgint, y: Pgint,
+                             mask: PGdkModifierType): PGdkWindow{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_pointer".}
-proc gdk_window_get_parent*(window: PGdkWindow): PGdkWindow{.cdecl, 
+proc gdk_window_get_parent*(window: PGdkWindow): PGdkWindow{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_parent".}
-proc gdk_window_get_toplevel*(window: PGdkWindow): PGdkWindow{.cdecl, 
+proc gdk_window_get_toplevel*(window: PGdkWindow): PGdkWindow{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_toplevel".}
-proc gdk_window_get_children*(window: PGdkWindow): PGList{.cdecl, 
+proc gdk_window_get_children*(window: PGdkWindow): PGList{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_children".}
-proc gdk_window_peek_children*(window: PGdkWindow): PGList{.cdecl, 
+proc gdk_window_peek_children*(window: PGdkWindow): PGList{.cdecl,
     dynlib: gdklib, importc: "gdk_window_peek_children".}
-proc gdk_window_get_events*(window: PGdkWindow): TGdkEventMask{.cdecl, 
+proc gdk_window_get_events*(window: PGdkWindow): TGdkEventMask{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_events".}
 proc gdk_window_set_events*(window: PGdkWindow, event_mask: TGdkEventMask){.
     cdecl, dynlib: gdklib, importc: "gdk_window_set_events".}
-proc gdk_window_set_icon_list*(window: PGdkWindow, pixbufs: PGList){.cdecl, 
+proc gdk_window_set_icon_list*(window: PGdkWindow, pixbufs: PGList){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_icon_list".}
-proc gdk_window_set_icon*(window: PGdkWindow, icon_window: PGdkWindow, 
-                          pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, 
+proc gdk_window_set_icon*(window: PGdkWindow, icon_window: PGdkWindow,
+                          pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_icon".}
-proc gdk_window_set_icon_name*(window: PGdkWindow, name: cstring){.cdecl, 
+proc gdk_window_set_icon_name*(window: PGdkWindow, name: cstring){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_icon_name".}
-proc gdk_window_set_group*(window: PGdkWindow, leader: PGdkWindow){.cdecl, 
+proc gdk_window_set_group*(window: PGdkWindow, leader: PGdkWindow){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_group".}
-proc gdk_window_set_decorations*(window: PGdkWindow, 
-                                 decorations: TGdkWMDecoration){.cdecl, 
+proc gdk_window_set_decorations*(window: PGdkWindow,
+                                 decorations: TGdkWMDecoration){.cdecl,
     dynlib: gdklib, importc: "gdk_window_set_decorations".}
-proc gdk_window_get_decorations*(window: PGdkWindow, 
+proc gdk_window_get_decorations*(window: PGdkWindow,
                                  decorations: PGdkWMDecoration): gboolean{.
     cdecl, dynlib: gdklib, importc: "gdk_window_get_decorations".}
 proc gdk_window_set_functions*(window: PGdkWindow, functions: TGdkWMFunction){.
     cdecl, dynlib: gdklib, importc: "gdk_window_set_functions".}
-proc gdk_window_iconify*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_iconify*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_iconify".}
-proc gdk_window_deiconify*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_deiconify*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_deiconify".}
-proc gdk_window_stick*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_stick*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_stick".}
-proc gdk_window_unstick*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_unstick*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_unstick".}
-proc gdk_window_maximize*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_maximize*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_maximize".}
-proc gdk_window_unmaximize*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_unmaximize*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_unmaximize".}
-proc gdk_window_register_dnd*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_register_dnd*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_register_dnd".}
-proc gdk_window_begin_resize_drag*(window: PGdkWindow, edge: TGdkWindowEdge, 
-                                   button: gint, root_x: gint, root_y: gint, 
-                                   timestamp: guint32){.cdecl, dynlib: gdklib, 
+proc gdk_window_begin_resize_drag*(window: PGdkWindow, edge: TGdkWindowEdge,
+                                   button: gint, root_x: gint, root_y: gint,
+                                   timestamp: guint32){.cdecl, dynlib: gdklib,
     importc: "gdk_window_begin_resize_drag".}
-proc gdk_window_begin_move_drag*(window: PGdkWindow, button: gint, root_x: gint, 
-                                 root_y: gint, timestamp: guint32){.cdecl, 
+proc gdk_window_begin_move_drag*(window: PGdkWindow, button: gint, root_x: gint,
+                                 root_y: gint, timestamp: guint32){.cdecl,
     dynlib: gdklib, importc: "gdk_window_begin_move_drag".}
-proc gdk_window_invalidate_rect*(window: PGdkWindow, rect: PGdkRectangle, 
-                                 invalidate_children: gboolean){.cdecl, 
+proc gdk_window_invalidate_rect*(window: PGdkWindow, rect: PGdkRectangle,
+                                 invalidate_children: gboolean){.cdecl,
     dynlib: gdklib, importc: "gdk_window_invalidate_rect".}
-proc gdk_window_invalidate_region*(window: PGdkWindow, region: PGdkRegion, 
-                                   invalidate_children: gboolean){.cdecl, 
+proc gdk_window_invalidate_region*(window: PGdkWindow, region: PGdkRegion,
+                                   invalidate_children: gboolean){.cdecl,
     dynlib: gdklib, importc: "gdk_window_invalidate_region".}
-proc gdk_window_invalidate_maybe_recurse*(window: PGdkWindow, 
-    region: PGdkRegion, 
-    child_func: gdk_window_invalidate_maybe_recurse_child_func, 
-    user_data: gpointer){.cdecl, dynlib: gdklib, 
+proc gdk_window_invalidate_maybe_recurse*(window: PGdkWindow,
+    region: PGdkRegion,
+    child_func: gdk_window_invalidate_maybe_recurse_child_func,
+    user_data: gpointer){.cdecl, dynlib: gdklib,
                           importc: "gdk_window_invalidate_maybe_recurse".}
-proc gdk_window_get_update_area*(window: PGdkWindow): PGdkRegion{.cdecl, 
+proc gdk_window_get_update_area*(window: PGdkWindow): PGdkRegion{.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_update_area".}
-proc gdk_window_freeze_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_freeze_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_freeze_updates".}
-proc gdk_window_thaw_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib, 
+proc gdk_window_thaw_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
     importc: "gdk_window_thaw_updates".}
 proc gdk_window_process_all_updates*(){.cdecl, dynlib: gdklib, importc: "gdk_window_process_all_updates".}
 proc gdk_window_process_updates*(window: PGdkWindow, update_children: gboolean){.
     cdecl, dynlib: gdklib, importc: "gdk_window_process_updates".}
-proc gdk_window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: gdklib, 
+proc gdk_window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: gdklib,
     importc: "gdk_window_set_debug_updates".}
-proc gdk_window_constrain_size*(geometry: PGdkGeometry, flags: guint, 
-                                width: gint, height: gint, new_width: Pgint, 
-                                new_height: Pgint){.cdecl, dynlib: gdklib, 
+proc gdk_window_constrain_size*(geometry: PGdkGeometry, flags: guint,
+                                width: gint, height: gint, new_width: Pgint,
+                                new_height: Pgint){.cdecl, dynlib: gdklib,
     importc: "gdk_window_constrain_size".}
-proc gdk_window_get_internal_paint_info*(window: PGdkWindow, 
-    e: var PGdkDrawable, x_offset: Pgint, y_offset: Pgint){.cdecl, 
+proc gdk_window_get_internal_paint_info*(window: PGdkWindow,
+    e: var PGdkDrawable, x_offset: Pgint, y_offset: Pgint){.cdecl,
     dynlib: gdklib, importc: "gdk_window_get_internal_paint_info".}
 proc gdk_set_pointer_hooks*(new_hooks: PGdkPointerHooks): PGdkPointerHooks{.
     cdecl, dynlib: gdklib, importc: "gdk_set_pointer_hooks".}
-proc gdk_get_default_root_window*(): PGdkWindow{.cdecl, dynlib: gdklib, 
+proc gdk_get_default_root_window*(): PGdkWindow{.cdecl, dynlib: gdklib,
     importc: "gdk_get_default_root_window".}
-proc gdk_parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib, 
+proc gdk_parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
     importc: "gdk_parse_args".}
-proc gdk_init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib, 
+proc gdk_init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
     importc: "gdk_init".}
-proc gdk_init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl, 
+proc gdk_init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_init_check".}
-when not defined(GDK_DISABLE_DEPRECATED): 
-  proc gdk_exit(error_code: gint){.cdecl, dynlib: gdklib, importc: "gdk_exit".}
+when not defined(GDK_DISABLE_DEPRECATED):
+  proc gdk_exit*(error_code: gint){.cdecl, dynlib: gdklib, importc: "gdk_exit".}
 proc gdk_set_locale*(): cstring{.cdecl, dynlib: gdklib, importc: "gdk_set_locale".}
-proc gdk_get_program_class*(): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_get_program_class*(): cstring{.cdecl, dynlib: gdklib,
                                         importc: "gdk_get_program_class".}
-proc gdk_set_program_class*(program_class: cstring){.cdecl, dynlib: gdklib, 
+proc gdk_set_program_class*(program_class: cstring){.cdecl, dynlib: gdklib,
     importc: "gdk_set_program_class".}
-proc gdk_error_trap_push*(){.cdecl, dynlib: gdklib, 
+proc gdk_error_trap_push*(){.cdecl, dynlib: gdklib,
                              importc: "gdk_error_trap_push".}
-proc gdk_error_trap_pop*(): gint{.cdecl, dynlib: gdklib, 
+proc gdk_error_trap_pop*(): gint{.cdecl, dynlib: gdklib,
                                   importc: "gdk_error_trap_pop".}
-when not defined(GDK_DISABLE_DEPRECATED): 
-  proc gdk_set_use_xshm(use_xshm: gboolean){.cdecl, dynlib: gdklib, 
+when not defined(GDK_DISABLE_DEPRECATED):
+  proc gdk_set_use_xshm*(use_xshm: gboolean){.cdecl, dynlib: gdklib,
       importc: "gdk_set_use_xshm".}
-  proc gdk_get_use_xshm(): gboolean{.cdecl, dynlib: gdklib, 
+  proc gdk_get_use_xshm*(): gboolean{.cdecl, dynlib: gdklib,
                                      importc: "gdk_get_use_xshm".}
-proc gdk_get_display*(): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_get_display*(): cstring{.cdecl, dynlib: gdklib,
                                  importc: "gdk_get_display".}
-proc gdk_get_display_arg_name*(): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_get_display_arg_name*(): cstring{.cdecl, dynlib: gdklib,
     importc: "gdk_get_display_arg_name".}
-when not defined(GDK_DISABLE_DEPRECATED): 
-  proc gdk_input_add_full(source: gint, condition: TGdkInputCondition, 
-                          `function`: TGdkInputFunction, data: gpointer, 
-                          destroy: TGdkDestroyNotify): gint{.cdecl, 
+when not defined(GDK_DISABLE_DEPRECATED):
+  proc gdk_input_add_full*(source: gint, condition: TGdkInputCondition,
+                          `function`: TGdkInputFunction, data: gpointer,
+                          destroy: TGdkDestroyNotify): gint{.cdecl,
       dynlib: gdklib, importc: "gdk_input_add_full".}
-  proc gdk_input_add(source: gint, condition: TGdkInputCondition, 
+  proc gdk_input_add*(source: gint, condition: TGdkInputCondition,
                      `function`: TGdkInputFunction, data: gpointer): gint{.
       cdecl, dynlib: gdklib, importc: "gdk_input_add".}
-  proc gdk_input_remove(tag: gint){.cdecl, dynlib: gdklib, 
+  proc gdk_input_remove*(tag: gint){.cdecl, dynlib: gdklib,
                                     importc: "gdk_input_remove".}
-proc gdk_pointer_grab*(window: PGdkWindow, owner_events: gboolean, 
-                       event_mask: TGdkEventMask, confine_to: PGdkWindow, 
+proc gdk_pointer_grab*(window: PGdkWindow, owner_events: gboolean,
+                       event_mask: TGdkEventMask, confine_to: PGdkWindow,
                        cursor: PGdkCursor, time: guint32): TGdkGrabStatus{.
     cdecl, dynlib: gdklib, importc: "gdk_pointer_grab".}
-proc gdk_keyboard_grab*(window: PGdkWindow, owner_events: gboolean, 
-                        time: guint32): TGdkGrabStatus{.cdecl, dynlib: gdklib, 
+proc gdk_keyboard_grab*(window: PGdkWindow, owner_events: gboolean,
+                        time: guint32): TGdkGrabStatus{.cdecl, dynlib: gdklib,
     importc: "gdk_keyboard_grab".}
-when not defined(GDK_MULTIHEAD_SAFE): 
-  proc gdk_pointer_ungrab(time: guint32){.cdecl, dynlib: gdklib, 
+when not defined(GDK_MULTIHEAD_SAFE):
+  proc gdk_pointer_ungrab*(time: guint32){.cdecl, dynlib: gdklib,
       importc: "gdk_pointer_ungrab".}
-  proc gdk_keyboard_ungrab(time: guint32){.cdecl, dynlib: gdklib, 
+  proc gdk_keyboard_ungrab*(time: guint32){.cdecl, dynlib: gdklib,
       importc: "gdk_keyboard_ungrab".}
-  proc gdk_pointer_is_grabbed(): gboolean{.cdecl, dynlib: gdklib, 
+  proc gdk_pointer_is_grabbed*(): gboolean{.cdecl, dynlib: gdklib,
       importc: "gdk_pointer_is_grabbed".}
-  proc gdk_screen_width(): gint{.cdecl, dynlib: gdklib, 
+  proc gdk_screen_width*(): gint{.cdecl, dynlib: gdklib,
                                  importc: "gdk_screen_width".}
-  proc gdk_screen_height(): gint{.cdecl, dynlib: gdklib, 
+  proc gdk_screen_height*(): gint{.cdecl, dynlib: gdklib,
                                   importc: "gdk_screen_height".}
-  proc gdk_screen_width_mm(): gint{.cdecl, dynlib: gdklib, 
+  proc gdk_screen_width_mm*(): gint{.cdecl, dynlib: gdklib,
                                     importc: "gdk_screen_width_mm".}
-  proc gdk_screen_height_mm(): gint{.cdecl, dynlib: gdklib, 
+  proc gdk_screen_height_mm*(): gint{.cdecl, dynlib: gdklib,
                                      importc: "gdk_screen_height_mm".}
-  proc gdk_beep(){.cdecl, dynlib: gdklib, importc: "gdk_beep".}
+  proc gdk_beep*(){.cdecl, dynlib: gdklib, importc: "gdk_beep".}
 proc gdk_flush*(){.cdecl, dynlib: gdklib, importc: "gdk_flush".}
-when not defined(GDK_MULTIHEAD_SAFE): 
-  proc gdk_set_double_click_time(msec: guint){.cdecl, dynlib: gdklib, 
+when not defined(GDK_MULTIHEAD_SAFE):
+  proc gdk_set_double_click_time*(msec: guint){.cdecl, dynlib: gdklib,
       importc: "gdk_set_double_click_time".}
-proc gdk_rectangle_intersect*(src1: PGdkRectangle, src2: PGdkRectangle, 
-                              dest: PGdkRectangle): gboolean{.cdecl, 
+proc gdk_rectangle_intersect*(src1: PGdkRectangle, src2: PGdkRectangle,
+                              dest: PGdkRectangle): gboolean{.cdecl,
     dynlib: gdklib, importc: "gdk_rectangle_intersect".}
-proc gdk_rectangle_union*(src1: PGdkRectangle, src2: PGdkRectangle, 
-                          dest: PGdkRectangle){.cdecl, dynlib: gdklib, 
+proc gdk_rectangle_union*(src1: PGdkRectangle, src2: PGdkRectangle,
+                          dest: PGdkRectangle){.cdecl, dynlib: gdklib,
     importc: "gdk_rectangle_union".}
-proc gdk_rectangle_get_type*(): GType{.cdecl, dynlib: gdklib, 
+proc gdk_rectangle_get_type*(): GType{.cdecl, dynlib: gdklib,
                                        importc: "gdk_rectangle_get_type".}
 proc GDK_TYPE_RECTANGLE*(): GType
-proc gdk_wcstombs*(src: PGdkWChar): cstring{.cdecl, dynlib: gdklib, 
+proc gdk_wcstombs*(src: PGdkWChar): cstring{.cdecl, dynlib: gdklib,
     importc: "gdk_wcstombs".}
-proc gdk_mbstowcs*(dest: PGdkWChar, src: cstring, dest_max: gint): gint{.cdecl, 
+proc gdk_mbstowcs*(dest: PGdkWChar, src: cstring, dest_max: gint): gint{.cdecl,
     dynlib: gdklib, importc: "gdk_mbstowcs".}
-when not defined(GDK_MULTIHEAD_SAFE): 
-  proc gdk_event_send_client_message(event: PGdkEvent, xid: guint32): gboolean{.
+when not defined(GDK_MULTIHEAD_SAFE):
+  proc gdk_event_send_client_message*(event: PGdkEvent, xid: guint32): gboolean{.
       cdecl, dynlib: gdklib, importc: "gdk_event_send_client_message".}
-  proc gdk_event_send_clientmessage_toall(event: PGdkEvent){.cdecl, 
+  proc gdk_event_send_clientmessage_toall*(event: PGdkEvent){.cdecl,
       dynlib: gdklib, importc: "gdk_event_send_clientmessage_toall".}
-proc gdk_event_send_client_message_for_display*(display: PGdkDisplay, 
-    event: PGdkEvent, xid: guint32): gboolean{.cdecl, dynlib: gdklib, 
+proc gdk_event_send_client_message_for_display*(display: PGdkDisplay,
+    event: PGdkEvent, xid: guint32): gboolean{.cdecl, dynlib: gdklib,
     importc: "gdk_event_send_client_message_for_display".}
 proc gdk_threads_enter*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_enter".}
 proc gdk_threads_leave*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_leave".}
 proc gdk_threads_init*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_init".}
 
-proc GDK_TYPE_RECTANGLE*(): GType = 
+proc GDK_TYPE_RECTANGLE*(): GType =
   result = gdk_rectangle_get_type()
 
-proc GDK_TYPE_COLORMAP*(): GType = 
+proc GDK_TYPE_COLORMAP*(): GType =
   result = gdk_colormap_get_type()
 
-proc GDK_COLORMAP*(anObject: pointer): PGdkColormap = 
+proc GDK_COLORMAP*(anObject: pointer): PGdkColormap =
   result = cast[PGdkColormap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_COLORMAP()))
 
-proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass = 
+proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass =
   result = cast[PGdkColormapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_COLORMAP()))
 
-proc GDK_IS_COLORMAP*(anObject: pointer): bool = 
+proc GDK_IS_COLORMAP*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_COLORMAP())
 
-proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool = 
+proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_COLORMAP())
 
-proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass = 
+proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass =
   result = cast[PGdkColormapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_COLORMAP()))
 
-proc GDK_TYPE_COLOR*(): GType = 
+proc GDK_TYPE_COLOR*(): GType =
   result = gdk_color_get_type()
 
-proc gdk_cursor_destroy*(cursor: PGdkCursor) = 
+proc gdk_cursor_destroy*(cursor: PGdkCursor) =
   gdk_cursor_unref(cursor)
 
-proc GDK_TYPE_CURSOR*(): GType = 
+proc GDK_TYPE_CURSOR*(): GType =
   result = gdk_cursor_get_type()
 
-proc GDK_TYPE_DRAG_CONTEXT*(): GType = 
+proc GDK_TYPE_DRAG_CONTEXT*(): GType =
   result = gdk_drag_context_get_type()
 
-proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext = 
-  result = cast[PGdkDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext =
+  result = cast[PGdkDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject,
       GDK_TYPE_DRAG_CONTEXT()))
 
-proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass = 
-  result = cast[PGdkDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass =
+  result = cast[PGdkDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass,
       GDK_TYPE_DRAG_CONTEXT()))
 
-proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool = 
+proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAG_CONTEXT())
 
-proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAG_CONTEXT())
 
-proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass = 
-  result = cast[PGdkDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass =
+  result = cast[PGdkDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj,
       GDK_TYPE_DRAG_CONTEXT()))
 
-proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool = 
-  result = (int(r1.x2) > r2.x1) and (int(r1.x1) < r2.x2) and
-      (int(r1.y2) > r2.y1) and (int(r1.y1) < r2.y2)
+proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool =
+  result = ((r1.x2) > r2.x1) and ((r1.x1) < r2.x2) and
+      ((r1.y2) > r2.y1) and ((r1.y1) < r2.y2)
 
-proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion) = 
-  if (int(r.x1) < idRect.extents.x1): 
+proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion) =
+  if ((r.x1) < idRect.extents.x1):
     idRect.extents.x1 = r.x1
-  if int(r.y1) < idRect.extents.y1: 
+  if (r.y1) < idRect.extents.y1:
     idRect.extents.y1 = r.y1
-  if int(r.x2) > idRect.extents.x2: 
+  if (r.x2) > idRect.extents.x2:
     idRect.extents.x2 = r.x2
 
-proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool = 
-  nil
+proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool =
+  assert(false) # to implement
 
-proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox, 
-                               Rx1, Ry1, Rx2, Ry2: gint): bool = 
-  nil
+proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox,
+                               Rx1, Ry1, Rx2, Ry2: gint): bool =
+  assert(false) # to implement
 
-proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox, 
-                        rx1, ry1, rx2, ry2: gint) = 
-  if ((int(rx1) < rx2) and (int(ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): 
+proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox,
+                        rx1, ry1, rx2, ry2: gint) =
+  if (((rx1) < rx2) and ((ry1) < ry2) and
+      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
     r.x1 = rx1
     r.y1 = ry1
     r.x2 = rx2
     r.y2 = ry2
 
-proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox, 
-                           rx1, ry1, rx2, ry2: gint) = 
-  if ((int(rx1) < rx2) and (int(ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): 
+proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox,
+                           rx1, ry1, rx2, ry2: gint) =
+  if (((rx1) < rx2) and ((ry1) < ry2) and
+      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
     r.x1 = rx1
     r.y1 = ry1
     r.x2 = rx2
     r.y2 = ry2
     inc(reg . numRects)
 
-proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool = 
-  result = pReg.numRects == 0
+proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool =
+  result = pReg.numRects == 0'i32
 
-proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool = 
-  result = pReg.numRects != 0
+proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool =
+  result = pReg.numRects != 0'i32
 
-proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool = 
-  result = (((int(r.x2) > x) and (int(r.x1) <= x)) and 
-            (int(r.y2) > y)) and (int(r.y1) <= y)
+proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool =
+  result = ((((r.x2) > x) and ((r.x1) <= x)) and
+            ((r.y2) > y)) and ((r.y1) <= y)
 
-proc GDK_TYPE_DRAWABLE*(): GType = 
+proc GDK_TYPE_DRAWABLE*(): GType =
   result = gdk_drawable_get_type()
 
-proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable = 
+proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable =
   result = cast[PGdkDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DRAWABLE()))
 
-proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass = 
+proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass =
   result = cast[PGdkDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DRAWABLE()))
 
-proc GDK_IS_DRAWABLE*(anObject: Pointer): bool = 
+proc GDK_IS_DRAWABLE*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAWABLE())
 
-proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAWABLE())
 
-proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass = 
+proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass =
   result = cast[PGdkDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DRAWABLE()))
 
-proc gdk_draw_pixmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, 
-                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
-                      width: gint, height: gint) = 
+proc gdk_draw_pixmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
+                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
+                      width: gint, height: gint) =
   gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
 
-proc gdk_draw_bitmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, 
-                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
-                      width: gint, height: gint) = 
+proc gdk_draw_bitmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
+                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
+                      width: gint, height: gint) =
   gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
 
-proc GDK_TYPE_EVENT*(): GType = 
+proc GDK_TYPE_EVENT*(): GType =
   result = gdk_event_get_type()
 
-proc GDK_TYPE_FONT*(): GType = 
+proc GDK_TYPE_FONT*(): GType =
   result = gdk_font_get_type()
 
-proc GDK_TYPE_GC*(): GType = 
+proc GDK_TYPE_GC*(): GType =
   result = gdk_gc_get_type()
 
-proc GDK_GC*(anObject: Pointer): PGdkGC = 
+proc GDK_GC*(anObject: Pointer): PGdkGC =
   result = cast[PGdkGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GC()))
 
-proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass = 
+proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass =
   result = cast[PGdkGCClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GC()))
 
-proc GDK_IS_GC*(anObject: Pointer): bool = 
+proc GDK_IS_GC*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GC())
 
-proc GDK_IS_GC_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_GC_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GC())
 
-proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass = 
+proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass =
   result = cast[PGdkGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GC()))
 
-proc gdk_gc_destroy*(gc: PGdkGC) = 
+proc gdk_gc_destroy*(gc: PGdkGC) =
   g_object_unref(G_OBJECT(gc))
 
-proc GDK_TYPE_IMAGE*(): GType = 
+proc GDK_TYPE_IMAGE*(): GType =
   result = gdk_image_get_type()
 
-proc GDK_IMAGE*(anObject: Pointer): PGdkImage = 
+proc GDK_IMAGE*(anObject: Pointer): PGdkImage =
   result = cast[PGdkImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_IMAGE()))
 
-proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass = 
+proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass =
   result = cast[PGdkImageClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_IMAGE()))
 
-proc GDK_IS_IMAGE*(anObject: Pointer): bool = 
+proc GDK_IS_IMAGE*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_IMAGE())
 
-proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_IMAGE())
 
-proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass = 
+proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass =
   result = cast[PGdkImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_IMAGE()))
 
-proc gdk_image_destroy*(image: PGdkImage) = 
+proc gdk_image_destroy*(image: PGdkImage) =
   g_object_unref(G_OBJECT(image))
 
-proc GDK_TYPE_DEVICE*(): GType = 
+proc GDK_TYPE_DEVICE*(): GType =
   result = gdk_device_get_type()
 
-proc GDK_DEVICE*(anObject: Pointer): PGdkDevice = 
+proc GDK_DEVICE*(anObject: Pointer): PGdkDevice =
   result = cast[PGdkDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DEVICE()))
 
-proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass = 
+proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass =
   result = cast[PGdkDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DEVICE()))
 
-proc GDK_IS_DEVICE*(anObject: Pointer): bool = 
+proc GDK_IS_DEVICE*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DEVICE())
 
-proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DEVICE())
 
-proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass = 
+proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass =
   result = cast[PGdkDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DEVICE()))
 
-proc GDK_TYPE_KEYMAP*(): GType = 
+proc GDK_TYPE_KEYMAP*(): GType =
   result = gdk_keymap_get_type()
 
-proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap = 
+proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap =
   result = cast[PGdkKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_KEYMAP()))
 
-proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass = 
+proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass =
   result = cast[PGdkKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_KEYMAP()))
 
-proc GDK_IS_KEYMAP*(anObject: Pointer): bool = 
+proc GDK_IS_KEYMAP*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_KEYMAP())
 
-proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_KEYMAP())
 
-proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass = 
+proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass =
   result = cast[PGdkKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_KEYMAP()))
 
-proc GDK_TYPE_PIXMAP*(): GType = 
+proc GDK_TYPE_PIXMAP*(): GType =
   result = gdk_pixmap_get_type()
 
-proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap = 
+proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap =
   result = cast[PGdkPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXMAP()))
 
-proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass = 
+proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass =
   result = cast[PGdkPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_PIXMAP()))
 
-proc GDK_IS_PIXMAP*(anObject: Pointer): bool = 
+proc GDK_IS_PIXMAP*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXMAP())
 
-proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXMAP())
 
-proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass = 
+proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass =
   result = cast[PGdkPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_PIXMAP()))
 
-proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject = 
+proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject =
   result = cast[PGdkPixmapObject](GDK_PIXMAP(anObject))
 
-proc gdk_bitmap_ref*(drawable: PGdkDrawable): PGdkDrawable = 
+proc gdk_bitmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
   result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
 
-proc gdk_bitmap_unref*(drawable: PGdkDrawable) = 
+proc gdk_bitmap_unref*(drawable: PGdkDrawable) =
   g_object_unref(G_OBJECT(drawable))
 
-proc gdk_pixmap_ref*(drawable: PGdkDrawable): PGdkDrawable = 
+proc gdk_pixmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
   result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
 
-proc gdk_pixmap_unref*(drawable: PGdkDrawable) = 
+proc gdk_pixmap_unref*(drawable: PGdkDrawable) =
   g_object_unref(G_OBJECT(drawable))
 
-proc gdk_rgb_get_cmap*(): PGdkColormap = 
+proc gdk_rgb_get_cmap*(): PGdkColormap =
   result = nil #gdk_rgb_get_colormap()
 
-proc GDK_TYPE_DISPLAY*(): GType = 
+proc GDK_TYPE_DISPLAY*(): GType =
   nil
   #result = nil
 
-proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay = 
+proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay =
   result = cast[PGdkDisplay](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DISPLAY()))
 
-proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass = 
+proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass =
   result = cast[PGdkDisplayClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DISPLAY()))
 
-proc GDK_IS_DISPLAY*(anObject: pointer): bool = 
+proc GDK_IS_DISPLAY*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DISPLAY())
 
-proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool = 
+proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DISPLAY())
 
-proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass = 
+proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass =
   result = cast[PGdkDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DISPLAY()))
 
-proc GDK_TYPE_SCREEN*(): GType = 
+proc GDK_TYPE_SCREEN*(): GType =
   nil
 
-proc GDK_SCREEN*(anObject: Pointer): PGdkScreen = 
+proc GDK_SCREEN*(anObject: Pointer): PGdkScreen =
   result = cast[PGdkScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_SCREEN()))
 
-proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass = 
+proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass =
   result = cast[PGdkScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_SCREEN()))
 
-proc GDK_IS_SCREEN*(anObject: Pointer): bool = 
+proc GDK_IS_SCREEN*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_SCREEN())
 
-proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_SCREEN())
 
-proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass = 
+proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass =
   result = cast[PGdkScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_SCREEN()))
 
-proc GDK_SELECTION_PRIMARY*(): TGdkAtom = 
+proc GDK_SELECTION_PRIMARY*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(1)
 
-proc GDK_SELECTION_SECONDARY*(): TGdkAtom = 
+proc GDK_SELECTION_SECONDARY*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(2)
 
-proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom = 
+proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(69)
 
-proc GDK_TARGET_BITMAP*(): TGdkAtom = 
+proc GDK_TARGET_BITMAP*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(5)
 
-proc GDK_TARGET_COLORMAP*(): TGdkAtom = 
+proc GDK_TARGET_COLORMAP*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(7)
 
-proc GDK_TARGET_DRAWABLE*(): TGdkAtom = 
+proc GDK_TARGET_DRAWABLE*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(17)
 
-proc GDK_TARGET_PIXMAP*(): TGdkAtom = 
+proc GDK_TARGET_PIXMAP*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(20)
 
-proc GDK_TARGET_STRING*(): TGdkAtom = 
+proc GDK_TARGET_STRING*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(31)
 
-proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(4)
 
-proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(5)
 
-proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(7)
 
-proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(17)
 
-proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(19)
 
-proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(20)
 
-proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(33)
 
-proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom = 
+proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(31)
 
-proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): pointer = 
+proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): pointer =
   result = cast[Pointer](atom)
 
-proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom = 
+proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom =
   result = cast[TGdkAtom](p)
 
-proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom = 
+proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom =
   result = cast[TGdkAtom](val)
 
-proc GDK_NONE*(): TGdkAtom = 
+proc GDK_NONE*(): TGdkAtom =
   result = `GDK_MAKE_ATOM`(0)
 
-proc GDK_TYPE_VISUAL*(): GType = 
+proc GDK_TYPE_VISUAL*(): GType =
   result = gdk_visual_get_type()
 
-proc GDK_VISUAL*(anObject: Pointer): PGdkVisual = 
+proc GDK_VISUAL*(anObject: Pointer): PGdkVisual =
   result = cast[PGdkVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_VISUAL()))
 
-proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass = 
+proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass =
   result = cast[PGdkVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_VISUAL()))
 
-proc GDK_IS_VISUAL*(anObject: Pointer): bool = 
+proc GDK_IS_VISUAL*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_VISUAL())
 
-proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_VISUAL())
 
-proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass = 
+proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass =
   result = cast[PGdkVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_VISUAL()))
 
-proc gdk_visual_ref*(v: PGdkVisual) = 
+proc gdk_visual_ref*(v: PGdkVisual) =
   discard g_object_ref(v)
 
-proc gdk_visual_unref*(v: PGdkVisual) = 
+proc gdk_visual_unref*(v: PGdkVisual) =
   g_object_unref(v)
 
-proc GDK_TYPE_WINDOW*(): GType = 
+proc GDK_TYPE_WINDOW*(): GType =
   result = gdk_window_object_get_type()
 
-proc GDK_WINDOW*(anObject: Pointer): PGdkWindow = 
+proc GDK_WINDOW*(anObject: Pointer): PGdkWindow =
   result = cast[PGdkWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_WINDOW()))
 
-proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass = 
+proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass =
   result = cast[PGdkWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_WINDOW()))
 
-proc GDK_IS_WINDOW*(anObject: Pointer): bool = 
+proc GDK_IS_WINDOW*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_WINDOW())
 
-proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool = 
+proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_WINDOW())
 
-proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass = 
+proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass =
   result = cast[PGdkWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_WINDOW()))
 
-proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject = 
+proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject =
   result = cast[PGdkWindowObject](GDK_WINDOW(anObject))
 
-proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint = 
+proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint =
   result = (a.flag0 and bm_TGdkWindowObject_guffaw_gravity) shr
       bp_TGdkWindowObject_guffaw_gravity
 
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject, 
-    `guffaw_gravity`: guint) = 
+proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
+    `guffaw_gravity`: guint) =
   a.flag0 = a.flag0 or
-      ((`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and
+      (int16(`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and
       bm_TGdkWindowObject_guffaw_gravity)
 
-proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint = 
+proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint =
   result = (a.flag0 and bm_TGdkWindowObject_input_only) shr
       bp_TGdkWindowObject_input_only
 
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject, 
-                                     `input_only`: guint) = 
+proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
+                                     `input_only`: guint) =
   a.flag0 = a.flag0 or
-      ((`input_only` shl bp_TGdkWindowObject_input_only) and
+      (int16(`input_only` shl bp_TGdkWindowObject_input_only) and
       bm_TGdkWindowObject_input_only)
 
-proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint = 
+proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint =
   result = (a.flag0 and bm_TGdkWindowObject_modal_hint) shr
       bp_TGdkWindowObject_modal_hint
 
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject, 
-                                     `modal_hint`: guint) = 
+proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
+                                     `modal_hint`: guint) =
   a.flag0 = a.flag0 or
-      ((`modal_hint` shl bp_TGdkWindowObject_modal_hint) and
+      (int16(`modal_hint` shl bp_TGdkWindowObject_modal_hint) and
       bm_TGdkWindowObject_modal_hint)
 
-proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint = 
+proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint =
   result = (a.flag0 and bm_TGdkWindowObject_destroyed) shr
       bp_TGdkWindowObject_destroyed
 
-proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) = 
+proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) =
   a.flag0 = a.flag0 or
-      ((`destroyed` shl bp_TGdkWindowObject_destroyed) and
+      (int16(`destroyed` shl bp_TGdkWindowObject_destroyed) and
       bm_TGdkWindowObject_destroyed)
 
-proc GDK_ROOT_PARENT*(): PGdkWindow = 
+proc GDK_ROOT_PARENT*(): PGdkWindow =
   result = gdk_get_default_root_window()
 
-proc gdk_window_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint) = 
+proc gdk_window_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint) =
   gdk_drawable_get_size(drawable, width, height)
 
-proc gdk_window_get_type*(window: PGdkWindow): TGdkWindowType = 
+proc gdk_window_get_type*(window: PGdkWindow): TGdkWindowType =
   result = gdk_window_get_window_type(window)
 
-proc gdk_window_get_colormap*(drawable: PGdkDrawable): PGdkColormap = 
+proc gdk_window_get_colormap*(drawable: PGdkDrawable): PGdkColormap =
   result = gdk_drawable_get_colormap(drawable)
 
-proc gdk_window_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap) = 
+proc gdk_window_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap) =
   gdk_drawable_set_colormap(drawable, colormap)
 
-proc gdk_window_get_visual*(drawable: PGdkDrawable): PGdkVisual = 
+proc gdk_window_get_visual*(drawable: PGdkDrawable): PGdkVisual =
   result = gdk_drawable_get_visual(drawable)
 
-proc gdk_window_ref*(drawable: PGdkDrawable): PGdkDrawable = 
+proc gdk_window_ref*(drawable: PGdkDrawable): PGdkDrawable =
   result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
 
-proc gdk_window_unref*(drawable: PGdkDrawable) = 
+proc gdk_window_unref*(drawable: PGdkDrawable) =
   g_object_unref(G_OBJECT(drawable))
 
-proc gdk_window_copy_area*(drawable: PGdkDrawable, gc: PGdkGC, x, y: gint, 
-                           source_drawable: PGdkDrawable, 
-                           source_x, source_y: gint, width, height: gint) = 
-  gdk_draw_pixmap(drawable, gc, source_drawable, source_x, source_y, x, y, 
+proc gdk_window_copy_area*(drawable: PGdkDrawable, gc: PGdkGC, x, y: gint,
+                           source_drawable: PGdkDrawable,
+                           source_x, source_y: gint, width, height: gint) =
+  gdk_draw_pixmap(drawable, gc, source_drawable, source_x, source_y, x, y,
                   width, height)
diff --git a/lib/base/gtk/gdk2pixbuf.nim b/lib/base/gtk/gdk2pixbuf.nim
index b9ab472c2..bcf9690e8 100644
--- a/lib/base/gtk/gdk2pixbuf.nim
+++ b/lib/base/gtk/gdk2pixbuf.nim
@@ -1,12 +1,11 @@
-import 
+import
   glib2
 
-when defined(win32): 
-  {.define: gdkpixbufwin.}
-  const 
+when defined(win32):
+  const
     gdkpixbuflib = "libgdk_pixbuf-2.0-0.dll"
-elif defined(darwin): 
-  const 
+elif defined(darwin):
+  const
     gdkpixbuflib = "gdk_pixbuf-2.0.0"
   # linklib gtk-x11-2.0
   # linklib gdk-x11-2.0
@@ -15,29 +14,28 @@ elif defined(darwin):
   # linklib gobject-2.0.0
   # linklib gdk_pixbuf-2.0.0
   # linklib atk-1.0.0
-else: 
-  const 
+else:
+  const
     gdkpixbuflib = "libgdk_pixbuf-2.0.so"
-{.define: HasGTK2_4.}
-{.define: HasGTK2_6.}
-type 
+
+type
   PGdkPixbuf* = pointer
   PGdkPixbufAnimation* = pointer
   PGdkPixbufAnimationIter* = pointer
   PGdkPixbufAlphaMode* = ptr TGdkPixbufAlphaMode
-  TGdkPixbufAlphaMode* = enum 
+  TGdkPixbufAlphaMode* = enum
     GDK_PIXBUF_ALPHA_BILEVEL, GDK_PIXBUF_ALPHA_FULL
   PGdkColorspace* = ptr TGdkColorspace
-  TGdkColorspace* = enum 
+  TGdkColorspace* = enum
     GDK_COLORSPACE_RGB
   TGdkPixbufDestroyNotify* = proc (pixels: Pguchar, data: gpointer){.cdecl.}
   PGdkPixbufError* = ptr TGdkPixbufError
-  TGdkPixbufError* = enum 
-    GDK_PIXBUF_ERROR_CORRUPT_IMAGE, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY, 
-    GDK_PIXBUF_ERROR_BAD_OPTION, GDK_PIXBUF_ERROR_UNKNOWN_TYPE, 
+  TGdkPixbufError* = enum
+    GDK_PIXBUF_ERROR_CORRUPT_IMAGE, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
+    GDK_PIXBUF_ERROR_BAD_OPTION, GDK_PIXBUF_ERROR_UNKNOWN_TYPE,
     GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION, GDK_PIXBUF_ERROR_FAILED
   PGdkInterpType* = ptr TGdkInterpType
-  TGdkInterpType* = enum 
+  TGdkInterpType* = enum
     GDK_INTERP_NEAREST, GDK_INTERP_TILES, GDK_INTERP_BILINEAR, GDK_INTERP_HYPER
 
 proc GDK_TYPE_PIXBUF*(): GType
@@ -50,117 +48,115 @@ proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType
 proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter
 proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool
 proc GDK_PIXBUF_ERROR*(): TGQuark
-proc gdk_pixbuf_error_quark*(): TGQuark{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_error_quark*(): TGQuark{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_error_quark".}
-proc gdk_pixbuf_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
                                     importc: "gdk_pixbuf_get_type".}
-when not defined(GDK_PIXBUF_DISABLE_DEPRECATED): 
-  proc gdk_pixbuf_ref(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl, 
+when not defined(GDK_PIXBUF_DISABLE_DEPRECATED):
+  proc gdk_pixbuf_ref*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl,
       dynlib: gdkpixbuflib, importc: "gdk_pixbuf_ref".}
-  proc gdk_pixbuf_unref(pixbuf: PGdkPixbuf){.cdecl, dynlib: gdkpixbuflib, 
+  proc gdk_pixbuf_unref*(pixbuf: PGdkPixbuf){.cdecl, dynlib: gdkpixbuflib,
       importc: "gdk_pixbuf_unref".}
-proc gdk_pixbuf_get_colorspace*(pixbuf: PGdkPixbuf): TGdkColorspace{.cdecl, 
+proc gdk_pixbuf_get_colorspace*(pixbuf: PGdkPixbuf): TGdkColorspace{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_colorspace".}
-proc gdk_pixbuf_get_n_channels*(pixbuf: PGdkPixbuf): int32{.cdecl, 
+proc gdk_pixbuf_get_n_channels*(pixbuf: PGdkPixbuf): int32{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_n_channels".}
-proc gdk_pixbuf_get_has_alpha*(pixbuf: PGdkPixbuf): gboolean{.cdecl, 
+proc gdk_pixbuf_get_has_alpha*(pixbuf: PGdkPixbuf): gboolean{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_has_alpha".}
-proc gdk_pixbuf_get_bits_per_sample*(pixbuf: PGdkPixbuf): int32{.cdecl, 
+proc gdk_pixbuf_get_bits_per_sample*(pixbuf: PGdkPixbuf): int32{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_bits_per_sample".}
-proc gdk_pixbuf_get_pixels*(pixbuf: PGdkPixbuf): Pguchar{.cdecl, 
+proc gdk_pixbuf_get_pixels*(pixbuf: PGdkPixbuf): Pguchar{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_pixels".}
-proc gdk_pixbuf_get_width*(pixbuf: PGdkPixbuf): int32{.cdecl, 
+proc gdk_pixbuf_get_width*(pixbuf: PGdkPixbuf): int32{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_width".}
-proc gdk_pixbuf_get_height*(pixbuf: PGdkPixbuf): int32{.cdecl, 
+proc gdk_pixbuf_get_height*(pixbuf: PGdkPixbuf): int32{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_height".}
-proc gdk_pixbuf_get_rowstride*(pixbuf: PGdkPixbuf): int32{.cdecl, 
+proc gdk_pixbuf_get_rowstride*(pixbuf: PGdkPixbuf): int32{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_rowstride".}
-proc gdk_pixbuf_new*(colorspace: TGdkColorspace, has_alpha: gboolean, 
+proc gdk_pixbuf_new*(colorspace: TGdkColorspace, has_alpha: gboolean,
                      bits_per_sample: int32, width: int32, height: int32): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new".}
-proc gdk_pixbuf_copy*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl, 
+proc gdk_pixbuf_copy*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_copy".}
-proc gdk_pixbuf_new_subpixbuf*(src_pixbuf: PGdkPixbuf, src_x: int32, 
+proc gdk_pixbuf_new_subpixbuf*(src_pixbuf: PGdkPixbuf, src_x: int32,
                                src_y: int32, width: int32, height: int32): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_subpixbuf".}
 proc gdk_pixbuf_new_from_file*(filename: cstring, error: pointer): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file".}
-proc gdk_pixbuf_new_from_data*(data: Pguchar, colorspace: TGdkColorspace, 
-                               has_alpha: gboolean, bits_per_sample: int32, 
-                               width: int32, height: int32, rowstride: int32, 
-                               destroy_fn: TGdkPixbufDestroyNotify, 
-                               destroy_fn_data: gpointer): PGdkPixbuf{.cdecl, 
+proc gdk_pixbuf_new_from_data*(data: Pguchar, colorspace: TGdkColorspace,
+                               has_alpha: gboolean, bits_per_sample: int32,
+                               width: int32, height: int32, rowstride: int32,
+                               destroy_fn: TGdkPixbufDestroyNotify,
+                               destroy_fn_data: gpointer): PGdkPixbuf{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_data".}
-proc gdk_pixbuf_new_from_xpm_data*(data: PPchar): PGdkPixbuf{.cdecl, 
+proc gdk_pixbuf_new_from_xpm_data*(data: PPchar): PGdkPixbuf{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_xpm_data".}
-proc gdk_pixbuf_new_from_inline*(data_length: gint, a: var guint8, 
+proc gdk_pixbuf_new_from_inline*(data_length: gint, a: var guint8,
                                  copy_pixels: gboolean, error: pointer): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_inline".}
-when defined(HasGTK2_4): 
-  proc gdk_pixbuf_new_from_file_at_size(filename: cstring, width, height: gint, 
-                                        error: pointer): PGdkPixbuf{.cdecl, 
-      dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_size".}
-when defined(HasGTK2_6): 
-  proc gdk_pixbuf_new_from_file_at_scale(filename: cstring, width, height: gint, 
-      preserve_aspect_ratio: gboolean, error: pointer): PGdkPixbuf{.cdecl, 
-      dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_scale".}
-proc gdk_pixbuf_fill*(pixbuf: PGdkPixbuf, pixel: guint32){.cdecl, 
+proc gdk_pixbuf_new_from_file_at_size*(filename: cstring, width, height: gint,
+                                       error: pointer): PGdkPixbuf{.cdecl,
+    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_size".}
+proc gdk_pixbuf_new_from_file_at_scale*(filename: cstring, width, height: gint,
+    preserve_aspect_ratio: gboolean, error: pointer): PGdkPixbuf{.cdecl,
+    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_scale".}
+proc gdk_pixbuf_fill*(pixbuf: PGdkPixbuf, pixel: guint32){.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_fill".}
-proc gdk_pixbuf_save*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring, 
-                      error: pointer): gboolean{.cdecl, varargs, 
+proc gdk_pixbuf_save*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring,
+                      error: pointer): gboolean{.cdecl, varargs,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_save".}
-proc gdk_pixbuf_savev*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring, 
-                       option_keys: PPchar, option_values: PPchar, 
-                       error: pointer): gboolean{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_savev*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring,
+                       option_keys: PPchar, option_values: PPchar,
+                       error: pointer): gboolean{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_savev".}
-proc gdk_pixbuf_add_alpha*(pixbuf: PGdkPixbuf, substitute_color: gboolean, 
-                           r: guchar, g: guchar, b: guchar): PGdkPixbuf{.cdecl, 
+proc gdk_pixbuf_add_alpha*(pixbuf: PGdkPixbuf, substitute_color: gboolean,
+                           r: guchar, g: guchar, b: guchar): PGdkPixbuf{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_add_alpha".}
-proc gdk_pixbuf_copy_area*(src_pixbuf: PGdkPixbuf, src_x: int32, src_y: int32, 
-                           width: int32, height: int32, dest_pixbuf: PGdkPixbuf, 
-                           dest_x: int32, dest_y: int32){.cdecl, 
+proc gdk_pixbuf_copy_area*(src_pixbuf: PGdkPixbuf, src_x: int32, src_y: int32,
+                           width: int32, height: int32, dest_pixbuf: PGdkPixbuf,
+                           dest_x: int32, dest_y: int32){.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_copy_area".}
-proc gdk_pixbuf_saturate_and_pixelate*(src: PGdkPixbuf, dest: PGdkPixbuf, 
+proc gdk_pixbuf_saturate_and_pixelate*(src: PGdkPixbuf, dest: PGdkPixbuf,
                                        saturation: gfloat, pixelate: gboolean){.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_saturate_and_pixelate".}
-proc gdk_pixbuf_scale*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32, 
-                       dest_y: int32, dest_width: int32, dest_height: int32, 
-                       offset_x: float64, offset_y: float64, scale_x: float64, 
-                       scale_y: float64, interp_type: TGdkInterpType){.cdecl, 
+proc gdk_pixbuf_scale*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32,
+                       dest_y: int32, dest_width: int32, dest_height: int32,
+                       offset_x: float64, offset_y: float64, scale_x: float64,
+                       scale_y: float64, interp_type: TGdkInterpType){.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_scale".}
-proc gdk_pixbuf_composite*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32, 
-                           dest_y: int32, dest_width: int32, dest_height: int32, 
-                           offset_x: float64, offset_y: float64, 
-                           scale_x: float64, scale_y: float64, 
+proc gdk_pixbuf_composite*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32,
+                           dest_y: int32, dest_width: int32, dest_height: int32,
+                           offset_x: float64, offset_y: float64,
+                           scale_x: float64, scale_y: float64,
                            interp_type: TGdkInterpType, overall_alpha: int32){.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite".}
-proc gdk_pixbuf_composite_color*(src: PGdkPixbuf, dest: PGdkPixbuf, 
-                                 dest_x: int32, dest_y: int32, 
-                                 dest_width: int32, dest_height: int32, 
-                                 offset_x: float64, offset_y: float64, 
-                                 scale_x: float64, scale_y: float64, 
-                                 interp_type: TGdkInterpType, 
-                                 overall_alpha: int32, check_x: int32, 
-                                 check_y: int32, check_size: int32, 
-                                 color1: guint32, color2: guint32){.cdecl, 
+proc gdk_pixbuf_composite_color*(src: PGdkPixbuf, dest: PGdkPixbuf,
+                                 dest_x: int32, dest_y: int32,
+                                 dest_width: int32, dest_height: int32,
+                                 offset_x: float64, offset_y: float64,
+                                 scale_x: float64, scale_y: float64,
+                                 interp_type: TGdkInterpType,
+                                 overall_alpha: int32, check_x: int32,
+                                 check_y: int32, check_size: int32,
+                                 color1: guint32, color2: guint32){.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite_color".}
-proc gdk_pixbuf_scale_simple*(src: PGdkPixbuf, dest_width: int32, 
+proc gdk_pixbuf_scale_simple*(src: PGdkPixbuf, dest_width: int32,
                               dest_height: int32, interp_type: TGdkInterpType): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_scale_simple".}
-proc gdk_pixbuf_composite_color_simple*(src: PGdkPixbuf, dest_width: int32, 
-                                        dest_height: int32, 
-                                        interp_type: TGdkInterpType, 
-                                        overall_alpha: int32, check_size: int32, 
+proc gdk_pixbuf_composite_color_simple*(src: PGdkPixbuf, dest_width: int32,
+                                        dest_height: int32,
+                                        interp_type: TGdkInterpType,
+                                        overall_alpha: int32, check_size: int32,
                                         color1: guint32, color2: guint32): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite_color_simple".}
-proc gdk_pixbuf_animation_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_animation_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_animation_get_type".}
 proc gdk_pixbuf_animation_new_from_file*(filename: cstring, error: pointer): PGdkPixbufAnimation{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_new_from_file".}
-when not defined(GDK_PIXBUF_DISABLE_DEPRECATED): 
-  proc gdk_pixbuf_animation_ref(animation: PGdkPixbufAnimation): PGdkPixbufAnimation{.
+when not defined(GDK_PIXBUF_DISABLE_DEPRECATED):
+  proc gdk_pixbuf_animation_ref*(animation: PGdkPixbufAnimation): PGdkPixbufAnimation{.
       cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_ref".}
-  proc gdk_pixbuf_animation_unref(animation: PGdkPixbufAnimation){.cdecl, 
+  proc gdk_pixbuf_animation_unref*(animation: PGdkPixbufAnimation){.cdecl,
       dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_unref".}
 proc gdk_pixbuf_animation_get_width*(animation: PGdkPixbufAnimation): int32{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_width".}
@@ -169,37 +165,37 @@ proc gdk_pixbuf_animation_get_height*(animation: PGdkPixbufAnimation): int32{.
 proc gdk_pixbuf_animation_is_static_image*(animation: PGdkPixbufAnimation): gboolean{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_is_static_image".}
 proc gdk_pixbuf_animation_get_static_image*(animation: PGdkPixbufAnimation): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, 
+    cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_animation_get_static_image".}
-proc gdk_pixbuf_animation_get_iter*(animation: PGdkPixbufAnimation, 
+proc gdk_pixbuf_animation_get_iter*(animation: PGdkPixbufAnimation,
                                     e: var TGTimeVal): PGdkPixbufAnimationIter{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_iter".}
-proc gdk_pixbuf_animation_iter_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_animation_iter_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_animation_iter_get_type".}
 proc gdk_pixbuf_animation_iter_get_delay_time*(iter: PGdkPixbufAnimationIter): int32{.
-    cdecl, dynlib: gdkpixbuflib, 
+    cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_animation_iter_get_delay_time".}
 proc gdk_pixbuf_animation_iter_get_pixbuf*(iter: PGdkPixbufAnimationIter): PGdkPixbuf{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_iter_get_pixbuf".}
 proc gdk_pixbuf_animation_iter_on_currently_loading_frame*(
-    iter: PGdkPixbufAnimationIter): gboolean{.cdecl, dynlib: gdkpixbuflib, 
+    iter: PGdkPixbufAnimationIter): gboolean{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_animation_iter_on_currently_loading_frame".}
-proc gdk_pixbuf_animation_iter_advance*(iter: PGdkPixbufAnimationIter, 
-                                        e: var TGTimeVal): gboolean{.cdecl, 
+proc gdk_pixbuf_animation_iter_advance*(iter: PGdkPixbufAnimationIter,
+                                        e: var TGTimeVal): gboolean{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_iter_advance".}
-proc gdk_pixbuf_get_option*(pixbuf: PGdkPixbuf, key: cstring): cstring{.cdecl, 
+proc gdk_pixbuf_get_option*(pixbuf: PGdkPixbuf, key: cstring): cstring{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_option".}
-type 
+type
   PGdkPixbufLoader* = ptr TGdkPixbufLoader
-  TGdkPixbufLoader* {.final.} = object 
+  TGdkPixbufLoader* {.final.} = object
     parent_instance*: TGObject
     priv*: gpointer
 
   PGdkPixbufLoaderClass* = ptr TGdkPixbufLoaderClass
-  TGdkPixbufLoaderClass* {.final.} = object 
+  TGdkPixbufLoaderClass* {.final.} = object
     parent_class*: TGObjectClass
     area_prepared*: proc (loader: PGdkPixbufLoader){.cdecl.}
-    area_updated*: proc (loader: PGdkPixbufLoader, x: int32, y: int32, 
+    area_updated*: proc (loader: PGdkPixbufLoader, x: int32, y: int32,
                          width: int32, height: int32){.cdecl.}
     closed*: proc (loader: PGdkPixbufLoader){.cdecl.}
 
@@ -210,70 +206,70 @@ proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass
 proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool
 proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool
 proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass
-proc gdk_pixbuf_loader_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_loader_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_loader_get_type".}
-proc gdk_pixbuf_loader_new*(): PGdkPixbufLoader{.cdecl, dynlib: gdkpixbuflib, 
+proc gdk_pixbuf_loader_new*(): PGdkPixbufLoader{.cdecl, dynlib: gdkpixbuflib,
     importc: "gdk_pixbuf_loader_new".}
 proc gdk_pixbuf_loader_new_with_type*(image_type: cstring, error: pointer): PGdkPixbufLoader{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_new_with_type".}
-proc gdk_pixbuf_loader_write*(loader: PGdkPixbufLoader, buf: Pguchar, 
-                              count: gsize, error: pointer): gboolean{.cdecl, 
+proc gdk_pixbuf_loader_write*(loader: PGdkPixbufLoader, buf: Pguchar,
+                              count: gsize, error: pointer): gboolean{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_write".}
-proc gdk_pixbuf_loader_get_pixbuf*(loader: PGdkPixbufLoader): PGdkPixbuf{.cdecl, 
+proc gdk_pixbuf_loader_get_pixbuf*(loader: PGdkPixbufLoader): PGdkPixbuf{.cdecl,
     dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_get_pixbuf".}
 proc gdk_pixbuf_loader_get_animation*(loader: PGdkPixbufLoader): PGdkPixbufAnimation{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_get_animation".}
 proc gdk_pixbuf_loader_close*(loader: PGdkPixbufLoader, error: pointer): gboolean{.
     cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_close".}
-proc GDK_TYPE_PIXBUF_LOADER*(): GType = 
+proc GDK_TYPE_PIXBUF_LOADER*(): GType =
   result = gdk_pixbuf_loader_get_type()
 
-proc GDK_PIXBUF_LOADER*(obj: pointer): PGdkPixbufLoader = 
-  result = cast[PGdkPixbufLoader](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+proc GDK_PIXBUF_LOADER*(obj: pointer): PGdkPixbufLoader =
+  result = cast[PGdkPixbufLoader](G_TYPE_CHECK_INSTANCE_CAST(obj,
       GDK_TYPE_PIXBUF_LOADER()))
 
-proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass = 
-  result = cast[PGdkPixbufLoaderClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass =
+  result = cast[PGdkPixbufLoaderClass](G_TYPE_CHECK_CLASS_CAST(klass,
       GDK_TYPE_PIXBUF_LOADER()))
 
-proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool = 
+proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GDK_TYPE_PIXBUF_LOADER())
 
-proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool = 
+proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXBUF_LOADER())
 
-proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass = 
-  result = cast[PGdkPixbufLoaderClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass =
+  result = cast[PGdkPixbufLoaderClass](G_TYPE_INSTANCE_GET_CLASS(obj,
       GDK_TYPE_PIXBUF_LOADER()))
 
-proc GDK_TYPE_PIXBUF*(): GType = 
+proc GDK_TYPE_PIXBUF*(): GType =
   result = gdk_pixbuf_get_type()
 
-proc GDK_PIXBUF*(anObject: pointer): PGdkPixbuf = 
+proc GDK_PIXBUF*(anObject: pointer): PGdkPixbuf =
   result = cast[PGdkPixbuf](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXBUF()))
 
-proc GDK_IS_PIXBUF*(anObject: pointer): bool = 
+proc GDK_IS_PIXBUF*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF())
 
-proc GDK_TYPE_PIXBUF_ANIMATION*(): GType = 
+proc GDK_TYPE_PIXBUF_ANIMATION*(): GType =
   result = gdk_pixbuf_animation_get_type()
 
-proc GDK_PIXBUF_ANIMATION*(anObject: pointer): PGdkPixbufAnimation = 
-  result = cast[PGdkPixbufAnimation](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc GDK_PIXBUF_ANIMATION*(anObject: pointer): PGdkPixbufAnimation =
+  result = cast[PGdkPixbufAnimation](G_TYPE_CHECK_INSTANCE_CAST(anObject,
       GDK_TYPE_PIXBUF_ANIMATION()))
 
-proc GDK_IS_PIXBUF_ANIMATION*(anObject: pointer): bool = 
+proc GDK_IS_PIXBUF_ANIMATION*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF_ANIMATION())
 
-proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType = 
+proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType =
   result = gdk_pixbuf_animation_iter_get_type()
 
-proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter = 
-  result = cast[PGdkPixbufAnimationIter](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter =
+  result = cast[PGdkPixbufAnimationIter](G_TYPE_CHECK_INSTANCE_CAST(anObject,
     GDK_TYPE_PIXBUF_ANIMATION_ITER()))
 
-proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool = 
+proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF_ANIMATION_ITER())
 
-proc GDK_PIXBUF_ERROR*(): TGQuark = 
+proc GDK_PIXBUF_ERROR*(): TGQuark =
   result = gdk_pixbuf_error_quark()
diff --git a/lib/base/gtk/glib2.nim b/lib/base/gtk/glib2.nim
index c84bc26eb..dfcc586da 100644
--- a/lib/base/gtk/glib2.nim
+++ b/lib/base/gtk/glib2.nim
@@ -1,16 +1,16 @@
 when defined(windows):
-  {.define: gtkwin.}
   const
     gliblib = "libglib-2.0-0.dll"
-    gthreadlib = "libgthread-2.0-0.dll"
     gmodulelib = "libgmodule-2.0-0.dll"
     gobjectlib = "libgobject-2.0-0.dll"
 else:
   const
     gliblib = "libglib-2.0.so"
-    gthreadlib = "libgthread-2.0.so"
     gmodulelib = "libgmodule-2.0.so"
     gobjectlib = "libgobject-2.0.so"
+    
+# gthreadlib = "libgthread-2.0.so"
+
 type
   PGTypePlugin* = pointer
   PGParamSpecPool* = pointer
@@ -19,29 +19,29 @@ type
   PPPgchar* = ptr PPgchar
   PPgchar* = ptr cstring
   gchar* = char
-  Pgshort* = ptr gshort
   gshort* = cshort
-  Pglong* = ptr glong
   glong* = clong
+  gint* = cint
+  gboolean* = bool
+  guchar* = char
+  gushort* = int16
+  gulong* = int
+  guint* = cint
+  gfloat* = cfloat
+  gdouble* = cdouble
+  gpointer* = pointer
+  Pgshort* = ptr gshort
+  Pglong* = ptr glong
   Pgint* = ptr gint
   PPgint* = ptr Pgint
-  gint* = cint
   Pgboolean* = ptr gboolean
-  gboolean* = bool
   Pguchar* = ptr guchar
   PPguchar* = ptr Pguchar
-  guchar* = char
   Pgushort* = ptr gushort
-  gushort* = int16
   Pgulong* = ptr gulong
-  gulong* = int
-  guint* = cint
   Pguint* = ptr guint
-  gfloat* = cfloat
   Pgfloat* = ptr gfloat
-  gdouble* = cdouble
   Pgdouble* = ptr gdouble
-  gpointer* = pointer
   pgpointer* = ptr gpointer
   gconstpointer* = pointer
   PGCompareFunc* = ptr TGCompareFunc
@@ -118,8 +118,8 @@ type
     g_type*: GType
     data*: array[0..1, gdouble]
 
-  PPGData* = ptr PGData
   PGData* = pointer
+  PPGData* = ptr PGData
   PGSList* = ptr TGSList
   PPGSList* = ptr PGSList
   TGSList* {.final.} = object
@@ -132,8 +132,8 @@ type
     next*: PGList
     prev*: PGList
 
-  PGParamFlags* = ptr TGParamFlags
   TGParamFlags* = int32
+  PGParamFlags* = ptr TGParamFlags
   PGParamSpec* = ptr TGParamSpec
   PPGParamSpec* = ptr PGParamSpec
   TGParamSpec* {.final.} = object
@@ -194,7 +194,7 @@ const
   G_TYPE_PARAM* = GType(19 shl G_TYPE_FUNDAMENTAL_SHIFT)
   G_TYPE_OBJECT* = GType(20 shl G_TYPE_FUNDAMENTAL_SHIFT)
 
-proc G_TYPE_MAKE_FUNDAMENTAL*(x: int32): GType
+proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType
 const
   G_TYPE_RESERVED_GLIB_FIRST* = 21
   G_TYPE_RESERVED_GLIB_LAST* = 31
@@ -226,8 +226,8 @@ proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType
 proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType
 proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType
 type
-  PGTypeDebugFlags* = ptr TGTypeDebugFlags
   TGTypeDebugFlags* = int32
+  PGTypeDebugFlags* = ptr TGTypeDebugFlags
 
 const
   G_TYPE_DEBUG_NONE* = 0
@@ -296,8 +296,8 @@ const
   G_TYPE_FLAG_DEEP_DERIVABLE* = 1 shl 3
 
 type
-  PGTypeFlags* = ptr TGTypeFlags
   TGTypeFlags* = int32
+  PGTypeFlags* = ptr TGTypeFlags
 
 const
   G_TYPE_FLAG_ABSTRACT* = 1 shl 4
@@ -562,8 +562,8 @@ proc g_strdup_value_contents*(value: PGValue): cstring{.cdecl,
 proc g_value_set_string_take_ownership*(value: PGValue, v_string: cstring){.
     cdecl, dynlib: gobjectlib, importc: "g_value_set_string_take_ownership".}
 type
-  Pgchararray* = ptr Tgchararray
   Tgchararray* = gchar
+  Pgchararray* = ptr Tgchararray
 
 proc G_TYPE_IS_PARAM*(theType: GType): bool
 proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec
@@ -692,26 +692,26 @@ proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32
 proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32
 proc G_CALLBACK*(f: pointer): TGCallback
 const
-  bm_TGClosure_ref_count* = 0x00007FFF
-  bp_TGClosure_ref_count* = 0
-  bm_TGClosure_meta_marshal* = 0x00008000
-  bp_TGClosure_meta_marshal* = 15
-  bm_TGClosure_n_guards* = 0x00010000
-  bp_TGClosure_n_guards* = 16
-  bm_TGClosure_n_fnotifiers* = 0x00060000
-  bp_TGClosure_n_fnotifiers* = 17
-  bm_TGClosure_n_inotifiers* = 0x07F80000
-  bp_TGClosure_n_inotifiers* = 19
-  bm_TGClosure_in_inotify* = 0x08000000
-  bp_TGClosure_in_inotify* = 27
-  bm_TGClosure_floating* = 0x10000000
-  bp_TGClosure_floating* = 28
-  bm_TGClosure_derivative_flag* = 0x20000000
-  bp_TGClosure_derivative_flag* = 29
-  bm_TGClosure_in_marshal* = 0x40000000
-  bp_TGClosure_in_marshal* = 30
-  bm_TGClosure_is_invalid* = 0x80000000
-  bp_TGClosure_is_invalid* = 31
+  bm_TGClosure_ref_count* = 0x00007FFF'i32
+  bp_TGClosure_ref_count* = 0'i32
+  bm_TGClosure_meta_marshal* = 0x00008000'i32
+  bp_TGClosure_meta_marshal* = 15'i32
+  bm_TGClosure_n_guards* = 0x00010000'i32
+  bp_TGClosure_n_guards* = 16'i32
+  bm_TGClosure_n_fnotifiers* = 0x00060000'i32
+  bp_TGClosure_n_fnotifiers* = 17'i32
+  bm_TGClosure_n_inotifiers* = 0x07F80000'i32
+  bp_TGClosure_n_inotifiers* = 19'i32
+  bm_TGClosure_in_inotify* = 0x08000000'i32
+  bp_TGClosure_in_inotify* = 27'i32
+  bm_TGClosure_floating* = 0x10000000'i32
+  bp_TGClosure_floating* = 28'i32
+  bm_TGClosure_derivative_flag* = 0x20000000'i32
+  bp_TGClosure_derivative_flag* = 29'i32
+  bm_TGClosure_in_marshal* = 0x40000000'i32
+  bp_TGClosure_in_marshal* = 30'i32
+  bm_TGClosure_is_invalid* = 0x80000000'i32
+  bp_TGClosure_is_invalid* = 31'i32
 
 proc ref_count*(a: var TGClosure): guint
 proc set_ref_count*(a: var TGClosure, ref_count: guint)
@@ -2061,16 +2061,16 @@ type
   TGHookFlagMask* = int
 
 const
-  G_HOOK_FLAG_ACTIVE* = 1 shl 0
-  G_HOOK_FLAG_IN_CALL* = 1 shl 1
-  G_HOOK_FLAG_MASK* = 0x0000000F
+  G_HOOK_FLAG_ACTIVE* = 1'i32 shl 0'i32
+  G_HOOK_FLAG_IN_CALL* = 1'i32 shl 1'i32
+  G_HOOK_FLAG_MASK* = 0x0000000F'i32
 
 const
-  G_HOOK_FLAG_USER_SHIFT* = 4
-  bm_TGHookList_hook_size* = 0x0000FFFF
-  bp_TGHookList_hook_size* = 0
-  bm_TGHookList_is_setup* = 0x00010000
-  bp_TGHookList_is_setup* = 16
+  G_HOOK_FLAG_USER_SHIFT* = 4'i32
+  bm_TGHookList_hook_size* = 0x0000FFFF'i32
+  bp_TGHookList_hook_size* = 0'i32
+  bm_TGHookList_is_setup* = 0x00010000'i32
+  bp_TGHookList_is_setup* = 16'i32
 
 proc TGHookList_hook_size*(a: var TGHookList): guint
 proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint)
@@ -2502,18 +2502,18 @@ type
 
 
 const
-  bm_TGIOChannel_use_buffer* = 0x00000001
-  bp_TGIOChannel_use_buffer* = 0
-  bm_TGIOChannel_do_encode* = 0x00000002
-  bp_TGIOChannel_do_encode* = 1
-  bm_TGIOChannel_close_on_unref* = 0x00000004
-  bp_TGIOChannel_close_on_unref* = 2
-  bm_TGIOChannel_is_readable* = 0x00000008
-  bp_TGIOChannel_is_readable* = 3
-  bm_TGIOChannel_is_writeable* = 0x00000010
-  bp_TGIOChannel_is_writeable* = 4
-  bm_TGIOChannel_is_seekable* = 0x00000020
-  bp_TGIOChannel_is_seekable* = 5
+  bm_TGIOChannel_use_buffer* = 0x00000001'i16
+  bp_TGIOChannel_use_buffer* = 0'i16
+  bm_TGIOChannel_do_encode* = 0x00000002'i16
+  bp_TGIOChannel_do_encode* = 1'i16
+  bm_TGIOChannel_close_on_unref* = 0x00000004'i16
+  bp_TGIOChannel_close_on_unref* = 2'i16
+  bm_TGIOChannel_is_readable* = 0x00000008'i16
+  bp_TGIOChannel_is_readable* = 3'i16
+  bm_TGIOChannel_is_writeable* = 0x00000010'i16
+  bp_TGIOChannel_is_writeable* = 4'i16
+  bm_TGIOChannel_is_seekable* = 0x00000020'i16
+  bp_TGIOChannel_is_seekable* = 5'i16
 
 proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint
 proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint)
@@ -3046,48 +3046,48 @@ const
   G_CSET_DIGITS* = "0123456789"
 
 const
-  bm_TGScannerConfig_case_sensitive* = 0x00000001
-  bp_TGScannerConfig_case_sensitive* = 0
-  bm_TGScannerConfig_skip_comment_multi* = 0x00000002
-  bp_TGScannerConfig_skip_comment_multi* = 1
-  bm_TGScannerConfig_skip_comment_single* = 0x00000004
-  bp_TGScannerConfig_skip_comment_single* = 2
-  bm_TGScannerConfig_scan_comment_multi* = 0x00000008
-  bp_TGScannerConfig_scan_comment_multi* = 3
-  bm_TGScannerConfig_scan_identifier* = 0x00000010
-  bp_TGScannerConfig_scan_identifier* = 4
-  bm_TGScannerConfig_scan_identifier_1char* = 0x00000020
-  bp_TGScannerConfig_scan_identifier_1char* = 5
-  bm_TGScannerConfig_scan_identifier_NULL* = 0x00000040
-  bp_TGScannerConfig_scan_identifier_NULL* = 6
-  bm_TGScannerConfig_scan_symbols* = 0x00000080
-  bp_TGScannerConfig_scan_symbols* = 7
-  bm_TGScannerConfig_scan_binary* = 0x00000100
-  bp_TGScannerConfig_scan_binary* = 8
-  bm_TGScannerConfig_scan_octal* = 0x00000200
-  bp_TGScannerConfig_scan_octal* = 9
-  bm_TGScannerConfig_scan_float* = 0x00000400
-  bp_TGScannerConfig_scan_float* = 10
-  bm_TGScannerConfig_scan_hex* = 0x00000800
-  bp_TGScannerConfig_scan_hex* = 11
-  bm_TGScannerConfig_scan_hex_dollar* = 0x00001000
-  bp_TGScannerConfig_scan_hex_dollar* = 12
-  bm_TGScannerConfig_scan_string_sq* = 0x00002000
-  bp_TGScannerConfig_scan_string_sq* = 13
-  bm_TGScannerConfig_scan_string_dq* = 0x00004000
-  bp_TGScannerConfig_scan_string_dq* = 14
-  bm_TGScannerConfig_numbers_2_int* = 0x00008000
-  bp_TGScannerConfig_numbers_2_int* = 15
-  bm_TGScannerConfig_int_2_float* = 0x00010000
-  bp_TGScannerConfig_int_2_float* = 16
-  bm_TGScannerConfig_identifier_2_string* = 0x00020000
-  bp_TGScannerConfig_identifier_2_string* = 17
-  bm_TGScannerConfig_char_2_token* = 0x00040000
-  bp_TGScannerConfig_char_2_token* = 18
-  bm_TGScannerConfig_symbol_2_token* = 0x00080000
-  bp_TGScannerConfig_symbol_2_token* = 19
-  bm_TGScannerConfig_scope_0_fallback* = 0x00100000
-  bp_TGScannerConfig_scope_0_fallback* = 20
+  bm_TGScannerConfig_case_sensitive* = 0x00000001'i32
+  bp_TGScannerConfig_case_sensitive* = 0'i32
+  bm_TGScannerConfig_skip_comment_multi* = 0x00000002'i32
+  bp_TGScannerConfig_skip_comment_multi* = 1'i32
+  bm_TGScannerConfig_skip_comment_single* = 0x00000004'i32
+  bp_TGScannerConfig_skip_comment_single* = 2'i32
+  bm_TGScannerConfig_scan_comment_multi* = 0x00000008'i32
+  bp_TGScannerConfig_scan_comment_multi* = 3'i32
+  bm_TGScannerConfig_scan_identifier* = 0x00000010'i32
+  bp_TGScannerConfig_scan_identifier* = 4'i32
+  bm_TGScannerConfig_scan_identifier_1char* = 0x00000020'i32
+  bp_TGScannerConfig_scan_identifier_1char* = 5'i32
+  bm_TGScannerConfig_scan_identifier_NULL* = 0x00000040'i32
+  bp_TGScannerConfig_scan_identifier_NULL* = 6'i32
+  bm_TGScannerConfig_scan_symbols* = 0x00000080'i32
+  bp_TGScannerConfig_scan_symbols* = 7'i32
+  bm_TGScannerConfig_scan_binary* = 0x00000100'i32
+  bp_TGScannerConfig_scan_binary* = 8'i32
+  bm_TGScannerConfig_scan_octal* = 0x00000200'i32
+  bp_TGScannerConfig_scan_octal* = 9'i32
+  bm_TGScannerConfig_scan_float* = 0x00000400'i32
+  bp_TGScannerConfig_scan_float* = 10'i32
+  bm_TGScannerConfig_scan_hex* = 0x00000800'i32
+  bp_TGScannerConfig_scan_hex* = 11'i32
+  bm_TGScannerConfig_scan_hex_dollar* = 0x00001000'i32
+  bp_TGScannerConfig_scan_hex_dollar* = 12'i32
+  bm_TGScannerConfig_scan_string_sq* = 0x00002000'i32
+  bp_TGScannerConfig_scan_string_sq* = 13'i32
+  bm_TGScannerConfig_scan_string_dq* = 0x00004000'i32
+  bp_TGScannerConfig_scan_string_dq* = 14'i32
+  bm_TGScannerConfig_numbers_2_int* = 0x00008000'i32
+  bp_TGScannerConfig_numbers_2_int* = 15'i32
+  bm_TGScannerConfig_int_2_float* = 0x00010000'i32
+  bp_TGScannerConfig_int_2_float* = 16'i32
+  bm_TGScannerConfig_identifier_2_string* = 0x00020000'i32
+  bp_TGScannerConfig_identifier_2_string* = 17'i32
+  bm_TGScannerConfig_char_2_token* = 0x00040000'i32
+  bp_TGScannerConfig_char_2_token* = 18'i32
+  bm_TGScannerConfig_symbol_2_token* = 0x00080000'i32
+  bp_TGScannerConfig_symbol_2_token* = 19'i32
+  bm_TGScannerConfig_scope_0_fallback* = 0x00100000'i32
+  bp_TGScannerConfig_scope_0_fallback* = 20'i32
 
 proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint
 proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig,
@@ -3439,19 +3439,21 @@ proc g_cclosure_marshal_BOOL__FLAGS*(closure: PGClosure, return_value: PGValue,
                                      marshal_data: GPointer){.cdecl,
     dynlib: gliblib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".}
 proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16 =
-  Result = ((val and 0x000000FF) shl 8) or ((val and 0x0000FF00) shr 8)
+  Result = ((val and 0x00FF'i16) shl 8'i16) or ((val and 0xFF00'i16) shr 8'i16)
 
 proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32 =
-  Result = ((val and 0x000000FF) shl 24) or ((val and 0x0000FF00) shl 8) or
-      ((val and 0x00FF0000) shr 8) or ((val and 0xFF000000) shr 24)
+  Result = ((val and 0x000000FF'i32) shl 24'i32) or ((val and 0x0000FF00'i32) shl 8'i32) or
+      ((val and 0x00FF0000'i32) shr 8'i32) or ((val and 0xFF000000'i32) shr 24'i32)
 
 proc GUINT_TO_POINTER*(i: guint): pointer =
   Result = cast[Pointer](TAddress(i))
 
-type
-  PGArray = pointer
 
 when false:
+
+  type
+    PGArray* = pointer
+
   proc g_array_append_val*(a: PGArray, v: gpointer): PGArray =
     result = g_array_append_vals(a, addr(v), 1)
 
@@ -3678,17 +3680,17 @@ proc G_HOOK_FLAGS*(hook: PGHook): guint =
   result = hook.flags
 
 proc G_HOOK_ACTIVE*(hook: PGHook): bool =
-  result = (hook.flags and G_HOOK_FLAG_ACTIVE) != 0
+  result = (hook.flags and G_HOOK_FLAG_ACTIVE) != 0'i32
 
 proc G_HOOK_IN_CALL*(hook: PGHook): bool =
-  result = (hook.flags and G_HOOK_FLAG_IN_CALL) != 0
+  result = (hook.flags and G_HOOK_FLAG_IN_CALL) != 0'i32
 
 proc G_HOOK_IS_VALID*(hook: PGHook): bool =
   result = (hook.hook_id != 0) and G_HOOK_ACTIVE(hook)
 
 proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool =
   result = (hook.next == nil) and (hook.prev == nil) and
-      (hook.hook_id == 0) and (hook.ref_count == 0)
+      (hook.hook_id == 0) and (hook.ref_count == 0'i32)
 
 proc g_hook_append*(hook_list: PGHookList, hook: PGHook) =
   g_hook_insert_before(hook_list, nil, hook)
@@ -3702,7 +3704,7 @@ proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint =
 
 proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint) =
   a.flag0 = a.flag0 or
-      ((`use_buffer` shl bp_TGIOChannel_use_buffer) and
+      (int16(`use_buffer` shl bp_TGIOChannel_use_buffer) and
       bm_TGIOChannel_use_buffer)
 
 proc TGIOChannel_do_encode*(a: var TGIOChannel): guint =
@@ -3711,7 +3713,7 @@ proc TGIOChannel_do_encode*(a: var TGIOChannel): guint =
 
 proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint) =
   a.flag0 = a.flag0 or
-      ((`do_encode` shl bp_TGIOChannel_do_encode) and
+      (int16(`do_encode` shl bp_TGIOChannel_do_encode) and
       bm_TGIOChannel_do_encode)
 
 proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint =
@@ -3720,7 +3722,7 @@ proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint =
 
 proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint) =
   a.flag0 = a.flag0 or
-      ((`close_on_unref` shl bp_TGIOChannel_close_on_unref) and
+      (int16(`close_on_unref` shl bp_TGIOChannel_close_on_unref) and
       bm_TGIOChannel_close_on_unref)
 
 proc TGIOChannel_is_readable*(a: var TGIOChannel): guint =
@@ -3729,7 +3731,7 @@ proc TGIOChannel_is_readable*(a: var TGIOChannel): guint =
 
 proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_readable` shl bp_TGIOChannel_is_readable) and
+      (int16(`is_readable` shl bp_TGIOChannel_is_readable) and
       bm_TGIOChannel_is_readable)
 
 proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint =
@@ -3738,7 +3740,7 @@ proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint =
 
 proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_writeable` shl bp_TGIOChannel_is_writeable) and
+      (int16(`is_writeable` shl bp_TGIOChannel_is_writeable) and
       bm_TGIOChannel_is_writeable)
 
 proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint =
@@ -3747,7 +3749,7 @@ proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint =
 
 proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_seekable` shl bp_TGIOChannel_is_seekable) and
+      (int16(`is_seekable` shl bp_TGIOChannel_is_seekable) and
       bm_TGIOChannel_is_seekable)
 
 proc g_utf8_next_char*(p: pguchar): pguchar =
@@ -3816,10 +3818,10 @@ proc g_node_first_child*(node: PGNode): PGNode =
     result = nil
 
 proc g_rand_boolean*(rand: PGRand): gboolean =
-  result = ((g_rand_int(rand)) and (1 shl 15)) != 0
+  result = (int(g_rand_int(rand)) and (1 shl 15)) != 0
 
 proc g_random_boolean*(): gboolean =
-  result = (g_random_int() and (1 shl 15)) != 0
+  result = (int(g_random_int()) and (1 shl 15)) != 0
 
 proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint =
   result = (a.flag0 and bm_TGScannerConfig_case_sensitive) shr
@@ -4077,7 +4079,7 @@ when false:
   proc g_strstrip*(str: cstring): cstring =
     result = g_strchomp(g_strchug(str))
 
-proc G_TYPE_MAKE_FUNDAMENTAL*(x: int32): GType =
+proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType =
   result = GType(x shl G_TYPE_FUNDAMENTAL_SHIFT)
 
 proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool =
@@ -4202,7 +4204,7 @@ proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool =
   result = cast[PGClosure](closure).marshal == nil
 
 proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32 =
-  result = ((meta_marshal(cl) + ((n_guards(cl)) shl 1)) + (n_fnotifiers(cl))) +
+  result = ((meta_marshal(cl) + ((n_guards(cl)) shl 1'i32)) + (n_fnotifiers(cl))) +
       (n_inotifiers(cl))
 
 proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32 =
diff --git a/lib/base/gtk/gtk2.nim b/lib/base/gtk/gtk2.nim
index b7cf6e64f..81e09f85d 100644
--- a/lib/base/gtk/gtk2.nim
+++ b/lib/base/gtk/gtk2.nim
@@ -3626,10 +3626,10 @@ const
   GTK_DOUBLE_BUFFERED* = 1 shl 21
 
 const
-  bm_TGtkWidgetAuxInfo_x_set* = 0x00000001
-  bp_TGtkWidgetAuxInfo_x_set* = 0
-  bm_TGtkWidgetAuxInfo_y_set* = 0x00000002
-  bp_TGtkWidgetAuxInfo_y_set* = 1
+  bm_TGtkWidgetAuxInfo_x_set* = 0x00000001'i16
+  bp_TGtkWidgetAuxInfo_x_set* = 0'i16
+  bm_TGtkWidgetAuxInfo_y_set* = 0x00000002'i16
+  bp_TGtkWidgetAuxInfo_y_set* = 1'i16
 
 proc GTK_TYPE_WIDGET*(): GType
 proc GTK_WIDGET*(widget: pointer): PGtkWidget
@@ -3956,8 +3956,8 @@ const
   GTK_ACCEL_VISIBLE* = 1 shl 0
   GTK_ACCEL_LOCKED* = 1 shl 1
   GTK_ACCEL_MASK* = 0x00000007
-  bm_TGtkAccelKey_accel_flags* = 0x0000FFFF
-  bp_TGtkAccelKey_accel_flags* = 0
+  bm_TGtkAccelKey_accel_flags* = 0x0000FFFF'i16
+  bp_TGtkAccelKey_accel_flags* = 0'i16
 
 proc GTK_TYPE_ACCEL_GROUP*(): GType
 proc GTK_ACCEL_GROUP*(anObject: pointer): PGtkAccelGroup
@@ -4021,16 +4021,16 @@ proc gtk_accel_group_reconnect*(accel_group: PGtkAccelGroup,
                                 accel_path_quark: TGQuark){.cdecl,
     dynlib: gtklib, importc: "_gtk_accel_group_reconnect".}
 const
-  bm_TGtkContainer_border_width* = 0x0000FFFF
-  bp_TGtkContainer_border_width* = 0
-  bm_TGtkContainer_need_resize* = 0x00010000
-  bp_TGtkContainer_need_resize* = 16
-  bm_TGtkContainer_resize_mode* = 0x00060000
-  bp_TGtkContainer_resize_mode* = 17
-  bm_TGtkContainer_reallocate_redraws* = 0x00080000
-  bp_TGtkContainer_reallocate_redraws* = 19
-  bm_TGtkContainer_has_focus_chain* = 0x00100000
-  bp_TGtkContainer_has_focus_chain* = 20
+  bm_TGtkContainer_border_width* = 0x0000FFFF'i32
+  bp_TGtkContainer_border_width* = 0'i32
+  bm_TGtkContainer_need_resize* = 0x00010000'i32
+  bp_TGtkContainer_need_resize* = 16'i32
+  bm_TGtkContainer_resize_mode* = 0x00060000'i32
+  bp_TGtkContainer_resize_mode* = 17'i32
+  bm_TGtkContainer_reallocate_redraws* = 0x00080000'i32
+  bp_TGtkContainer_reallocate_redraws* = 19'i32
+  bm_TGtkContainer_has_focus_chain* = 0x00100000'i32
+  bp_TGtkContainer_has_focus_chain* = 20'i32
 
 proc GTK_TYPE_CONTAINER*(): GType
 proc GTK_CONTAINER*(obj: pointer): PGtkContainer
@@ -4147,42 +4147,42 @@ proc gtk_bin_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
 proc gtk_bin_get_child*(bin: PGtkBin): PGtkWidget{.cdecl, dynlib: gtklib,
     importc: "gtk_bin_get_child".}
 const
-  bm_TGtkWindow_allow_shrink* = 0x00000001
-  bp_TGtkWindow_allow_shrink* = 0
-  bm_TGtkWindow_allow_grow* = 0x00000002
-  bp_TGtkWindow_allow_grow* = 1
-  bm_TGtkWindow_configure_notify_received* = 0x00000004
-  bp_TGtkWindow_configure_notify_received* = 2
-  bm_TGtkWindow_need_default_position* = 0x00000008
-  bp_TGtkWindow_need_default_position* = 3
-  bm_TGtkWindow_need_default_size* = 0x00000010
-  bp_TGtkWindow_need_default_size* = 4
-  bm_TGtkWindow_position* = 0x000000E0
-  bp_TGtkWindow_position* = 5
-  bm_TGtkWindow_type* = 0x00000F00
-  bp_TGtkWindow_type* = 8
-  bm_TGtkWindow_has_user_ref_count* = 0x00001000
-  bp_TGtkWindow_has_user_ref_count* = 12
-  bm_TGtkWindow_has_focus* = 0x00002000
-  bp_TGtkWindow_has_focus* = 13
-  bm_TGtkWindow_modal* = 0x00004000
-  bp_TGtkWindow_modal* = 14
-  bm_TGtkWindow_destroy_with_parent* = 0x00008000
-  bp_TGtkWindow_destroy_with_parent* = 15
-  bm_TGtkWindow_has_frame* = 0x00010000
-  bp_TGtkWindow_has_frame* = 16
-  bm_TGtkWindow_iconify_initially* = 0x00020000
-  bp_TGtkWindow_iconify_initially* = 17
-  bm_TGtkWindow_stick_initially* = 0x00040000
-  bp_TGtkWindow_stick_initially* = 18
-  bm_TGtkWindow_maximize_initially* = 0x00080000
-  bp_TGtkWindow_maximize_initially* = 19
-  bm_TGtkWindow_decorated* = 0x00100000
-  bp_TGtkWindow_decorated* = 20
-  bm_TGtkWindow_type_hint* = 0x00E00000
-  bp_TGtkWindow_type_hint* = 21
-  bm_TGtkWindow_gravity* = 0x1F000000
-  bp_TGtkWindow_gravity* = 24
+  bm_TGtkWindow_allow_shrink* = 0x00000001'i32
+  bp_TGtkWindow_allow_shrink* = 0'i32
+  bm_TGtkWindow_allow_grow* = 0x00000002'i32
+  bp_TGtkWindow_allow_grow* = 1'i32
+  bm_TGtkWindow_configure_notify_received* = 0x00000004'i32
+  bp_TGtkWindow_configure_notify_received* = 2'i32
+  bm_TGtkWindow_need_default_position* = 0x00000008'i32
+  bp_TGtkWindow_need_default_position* = 3'i32
+  bm_TGtkWindow_need_default_size* = 0x00000010'i32
+  bp_TGtkWindow_need_default_size* = 4'i32
+  bm_TGtkWindow_position* = 0x000000E0'i32
+  bp_TGtkWindow_position* = 5'i32
+  bm_TGtkWindow_type* = 0x00000F00'i32
+  bp_TGtkWindow_type* = 8'i32
+  bm_TGtkWindow_has_user_ref_count* = 0x00001000'i32
+  bp_TGtkWindow_has_user_ref_count* = 12'i32
+  bm_TGtkWindow_has_focus* = 0x00002000'i32
+  bp_TGtkWindow_has_focus* = 13'i32
+  bm_TGtkWindow_modal* = 0x00004000'i32
+  bp_TGtkWindow_modal* = 14'i32
+  bm_TGtkWindow_destroy_with_parent* = 0x00008000'i32
+  bp_TGtkWindow_destroy_with_parent* = 15'i32
+  bm_TGtkWindow_has_frame* = 0x00010000'i32
+  bp_TGtkWindow_has_frame* = 16'i32
+  bm_TGtkWindow_iconify_initially* = 0x00020000'i32
+  bp_TGtkWindow_iconify_initially* = 17'i32
+  bm_TGtkWindow_stick_initially* = 0x00040000'i32
+  bp_TGtkWindow_stick_initially* = 18'i32
+  bm_TGtkWindow_maximize_initially* = 0x00080000'i32
+  bp_TGtkWindow_maximize_initially* = 19'i32
+  bm_TGtkWindow_decorated* = 0x00100000'i32
+  bp_TGtkWindow_decorated* = 20'i32
+  bm_TGtkWindow_type_hint* = 0x00E00000'i32
+  bp_TGtkWindow_type_hint* = 21'i32
+  bm_TGtkWindow_gravity* = 0x1F000000'i32
+  bp_TGtkWindow_gravity* = 24'i32
 
 proc GTK_TYPE_WINDOW*(): GType
 proc GTK_WINDOW*(obj: pointer): PGtkWindow
@@ -4412,14 +4412,14 @@ proc gtk_window_query_nonaccels*(window: PGtkWindow, accel_key: guint,
                                    accel_mods: TGdkModifierType): gboolean{.
     cdecl, dynlib: gtklib, importc: "_gtk_window_query_nonaccels".}
 const
-  bm_TGtkLabel_jtype* = 0x00000003
-  bp_TGtkLabel_jtype* = 0
-  bm_TGtkLabel_wrap* = 0x00000004
-  bp_TGtkLabel_wrap* = 2
-  bm_TGtkLabel_use_underline* = 0x00000008
-  bp_TGtkLabel_use_underline* = 3
-  bm_TGtkLabel_use_markup* = 0x00000010
-  bp_TGtkLabel_use_markup* = 4
+  bm_TGtkLabel_jtype* = 0x00000003'i16
+  bp_TGtkLabel_jtype* = 0'i16
+  bm_TGtkLabel_wrap* = 0x00000004'i16
+  bp_TGtkLabel_wrap* = 2'i16
+  bm_TGtkLabel_use_underline* = 0x00000008'i16
+  bp_TGtkLabel_use_underline* = 3'i16
+  bm_TGtkLabel_use_markup* = 0x00000010'i16
+  bp_TGtkLabel_use_markup* = 4'i16
 
 proc GTK_TYPE_LABEL*(): GType
 proc GTK_LABEL*(obj: pointer): PGtkLabel
@@ -4498,8 +4498,8 @@ proc gtk_label_get_layout*(`label`: PGtkLabel): PPangoLayout{.cdecl,
 proc gtk_label_get_layout_offsets*(`label`: PGtkLabel, x: Pgint, y: Pgint){.
     cdecl, dynlib: gtklib, importc: "gtk_label_get_layout_offsets".}
 const
-  bm_TGtkAccelLabelClass_latin1_to_char* = 0x00000001
-  bp_TGtkAccelLabelClass_latin1_to_char* = 0
+  bm_TGtkAccelLabelClass_latin1_to_char* = 0x00000001'i16
+  bp_TGtkAccelLabelClass_latin1_to_char* = 0'i16
 
 proc GTK_TYPE_ACCEL_LABEL*(): GType
 proc GTK_ACCEL_LABEL*(obj: pointer): PGtkAccelLabel
@@ -4661,12 +4661,12 @@ proc gtk_arrow_set*(arrow: PGtkArrow, arrow_type: TGtkArrowType,
                     shadow_type: TGtkShadowType){.cdecl, dynlib: gtklib,
     importc: "gtk_arrow_set".}
 const
-  bm_TGtkBindingSet_parsed* = 0x00000001
-  bp_TGtkBindingSet_parsed* = 0
-  bm_TGtkBindingEntry_destroyed* = 0x00000001
-  bp_TGtkBindingEntry_destroyed* = 0
-  bm_TGtkBindingEntry_in_emission* = 0x00000002
-  bp_TGtkBindingEntry_in_emission* = 1
+  bm_TGtkBindingSet_parsed* = 0x00000001'i16
+  bp_TGtkBindingSet_parsed* = 0'i16
+  bm_TGtkBindingEntry_destroyed* = 0x00000001'i16
+  bp_TGtkBindingEntry_destroyed* = 0'i16
+  bm_TGtkBindingEntry_in_emission* = 0x00000002'i16
+  bp_TGtkBindingEntry_in_emission* = 1'i16
 
 proc gtk_binding_entry_add*(binding_set: PGtkBindingSet, keyval: guint,
                             modifiers: TGdkModifierType)
@@ -4709,16 +4709,16 @@ proc gtk_bindings_activate_event*(anObject: PGtkObject, event: PGdkEventKey): gb
 proc gtk_binding_reset_parsed*(){.cdecl, dynlib: gtklib,
                                   importc: "_gtk_binding_reset_parsed".}
 const
-  bm_TGtkBox_homogeneous* = 0x00000001
-  bp_TGtkBox_homogeneous* = 0
-  bm_TGtkBoxChild_expand* = 0x00000001
-  bp_TGtkBoxChild_expand* = 0
-  bm_TGtkBoxChild_fill* = 0x00000002
-  bp_TGtkBoxChild_fill* = 1
-  bm_TGtkBoxChild_pack* = 0x00000004
-  bp_TGtkBoxChild_pack* = 2
-  bm_TGtkBoxChild_is_secondary* = 0x00000008
-  bp_TGtkBoxChild_is_secondary* = 3
+  bm_TGtkBox_homogeneous* = 0x00000001'i16
+  bp_TGtkBox_homogeneous* = 0'i16
+  bm_TGtkBoxChild_expand* = 0x00000001'i16
+  bp_TGtkBoxChild_expand* = 0'i16
+  bm_TGtkBoxChild_fill* = 0x00000002'i16
+  bp_TGtkBoxChild_fill* = 1'i16
+  bm_TGtkBoxChild_pack* = 0x00000004'i16
+  bp_TGtkBoxChild_pack* = 2'i16
+  bm_TGtkBoxChild_is_secondary* = 0x00000008'i16
+  bp_TGtkBoxChild_is_secondary* = 3'i16
 
 proc GTK_TYPE_BOX*(): GType
 proc GTK_BOX*(obj: pointer): PGtkBox
@@ -4790,22 +4790,22 @@ proc gtk_button_box_child_requisition*(widget: PGtkWidget,
     height: var int32){.cdecl, dynlib: gtklib,
                        importc: "_gtk_button_box_child_requisition".}
 const
-  bm_TGtkButton_constructed* = 0x00000001
-  bp_TGtkButton_constructed* = 0
-  bm_TGtkButton_in_button* = 0x00000002
-  bp_TGtkButton_in_button* = 1
-  bm_TGtkButton_button_down* = 0x00000004
-  bp_TGtkButton_button_down* = 2
-  bm_TGtkButton_relief* = 0x00000018
-  bp_TGtkButton_relief* = 3
-  bm_TGtkButton_use_underline* = 0x00000020
-  bp_TGtkButton_use_underline* = 5
-  bm_TGtkButton_use_stock* = 0x00000040
-  bp_TGtkButton_use_stock* = 6
-  bm_TGtkButton_depressed* = 0x00000080
-  bp_TGtkButton_depressed* = 7
-  bm_TGtkButton_depress_on_activate* = 0x00000100
-  bp_TGtkButton_depress_on_activate* = 8
+  bm_TGtkButton_constructed* = 0x00000001'i16
+  bp_TGtkButton_constructed* = 0'i16
+  bm_TGtkButton_in_button* = 0x00000002'i16
+  bp_TGtkButton_in_button* = 1'i16
+  bm_TGtkButton_button_down* = 0x00000004'i16
+  bp_TGtkButton_button_down* = 2'i16
+  bm_TGtkButton_relief* = 0x00000018'i16
+  bp_TGtkButton_relief* = 3'i16
+  bm_TGtkButton_use_underline* = 0x00000020'i16
+  bp_TGtkButton_use_underline* = 5'i16
+  bm_TGtkButton_use_stock* = 0x00000040'i16
+  bp_TGtkButton_use_stock* = 6'i16
+  bm_TGtkButton_depressed* = 0x00000080'i16
+  bp_TGtkButton_depressed* = 7'i16
+  bm_TGtkButton_depress_on_activate* = 0x00000100'i16
+  bp_TGtkButton_depress_on_activate* = 8'i16
 
 proc GTK_TYPE_BUTTON*(): GType
 proc GTK_BUTTON*(obj: pointer): PGtkButton
@@ -4930,16 +4930,16 @@ const
   GTK_CELL_RENDERER_SORTED* = 1 shl 3
 
 const
-  bm_TGtkCellRenderer_mode* = 0x00000003
-  bp_TGtkCellRenderer_mode* = 0
-  bm_TGtkCellRenderer_visible* = 0x00000004
-  bp_TGtkCellRenderer_visible* = 2
-  bm_TGtkCellRenderer_is_expander* = 0x00000008
-  bp_TGtkCellRenderer_is_expander* = 3
-  bm_TGtkCellRenderer_is_expanded* = 0x00000010
-  bp_TGtkCellRenderer_is_expanded* = 4
-  bm_TGtkCellRenderer_cell_background_set* = 0x00000020
-  bp_TGtkCellRenderer_cell_background_set* = 5
+  bm_TGtkCellRenderer_mode* = 0x00000003'i16
+  bp_TGtkCellRenderer_mode* = 0'i16
+  bm_TGtkCellRenderer_visible* = 0x00000004'i16
+  bp_TGtkCellRenderer_visible* = 2'i16
+  bm_TGtkCellRenderer_is_expander* = 0x00000008'i16
+  bp_TGtkCellRenderer_is_expander* = 3'i16
+  bm_TGtkCellRenderer_is_expanded* = 0x00000010'i16
+  bp_TGtkCellRenderer_is_expanded* = 4'i16
+  bm_TGtkCellRenderer_cell_background_set* = 0x00000020'i16
+  bp_TGtkCellRenderer_cell_background_set* = 5'i16
 
 proc GTK_TYPE_CELL_RENDERER*(): GType
 proc GTK_CELL_RENDERER*(obj: pointer): PGtkCellRenderer
@@ -4990,26 +4990,26 @@ proc gtk_cell_renderer_get_fixed_size*(cell: PGtkCellRenderer, width: Pgint,
                                        height: Pgint){.cdecl, dynlib: gtklib,
     importc: "gtk_cell_renderer_get_fixed_size".}
 const
-  bm_TGtkCellRendererText_strikethrough* = 0x00000001
-  bp_TGtkCellRendererText_strikethrough* = 0
-  bm_TGtkCellRendererText_editable* = 0x00000002
-  bp_TGtkCellRendererText_editable* = 1
-  bm_TGtkCellRendererText_scale_set* = 0x00000004
-  bp_TGtkCellRendererText_scale_set* = 2
-  bm_TGtkCellRendererText_foreground_set* = 0x00000008
-  bp_TGtkCellRendererText_foreground_set* = 3
-  bm_TGtkCellRendererText_background_set* = 0x00000010
-  bp_TGtkCellRendererText_background_set* = 4
-  bm_TGtkCellRendererText_underline_set* = 0x00000020
-  bp_TGtkCellRendererText_underline_set* = 5
-  bm_TGtkCellRendererText_rise_set* = 0x00000040
-  bp_TGtkCellRendererText_rise_set* = 6
-  bm_TGtkCellRendererText_strikethrough_set* = 0x00000080
-  bp_TGtkCellRendererText_strikethrough_set* = 7
-  bm_TGtkCellRendererText_editable_set* = 0x00000100
-  bp_TGtkCellRendererText_editable_set* = 8
-  bm_TGtkCellRendererText_calc_fixed_height* = 0x00000200
-  bp_TGtkCellRendererText_calc_fixed_height* = 9
+  bm_TGtkCellRendererText_strikethrough* = 0x00000001'i16
+  bp_TGtkCellRendererText_strikethrough* = 0'i16
+  bm_TGtkCellRendererText_editable* = 0x00000002'i16
+  bp_TGtkCellRendererText_editable* = 1'i16
+  bm_TGtkCellRendererText_scale_set* = 0x00000004'i16
+  bp_TGtkCellRendererText_scale_set* = 2'i16
+  bm_TGtkCellRendererText_foreground_set* = 0x00000008'i16
+  bp_TGtkCellRendererText_foreground_set* = 3'i16
+  bm_TGtkCellRendererText_background_set* = 0x00000010'i16
+  bp_TGtkCellRendererText_background_set* = 4'i16
+  bm_TGtkCellRendererText_underline_set* = 0x00000020'i16
+  bp_TGtkCellRendererText_underline_set* = 5'i16
+  bm_TGtkCellRendererText_rise_set* = 0x00000040'i16
+  bp_TGtkCellRendererText_rise_set* = 6'i16
+  bm_TGtkCellRendererText_strikethrough_set* = 0x00000080'i16
+  bp_TGtkCellRendererText_strikethrough_set* = 7'i16
+  bm_TGtkCellRendererText_editable_set* = 0x00000100'i16
+  bp_TGtkCellRendererText_editable_set* = 8'i16
+  bm_TGtkCellRendererText_calc_fixed_height* = 0x00000200'i16
+  bp_TGtkCellRendererText_calc_fixed_height* = 9'i16
 
 proc GTK_TYPE_CELL_RENDERER_TEXT*(): GType
 proc GTK_CELL_RENDERER_TEXT*(obj: pointer): PGtkCellRendererText
@@ -5047,12 +5047,12 @@ proc gtk_cell_renderer_text_set_fixed_height_from_font*(
     renderer: PGtkCellRendererText, number_of_rows: gint){.cdecl,
     dynlib: gtklib, importc: "gtk_cell_renderer_text_set_fixed_height_from_font".}
 const
-  bm_TGtkCellRendererToggle_active* = 0x00000001
-  bp_TGtkCellRendererToggle_active* = 0
-  bm_TGtkCellRendererToggle_activatable* = 0x00000002
-  bp_TGtkCellRendererToggle_activatable* = 1
-  bm_TGtkCellRendererToggle_radio* = 0x00000004
-  bp_TGtkCellRendererToggle_radio* = 2
+  bm_TGtkCellRendererToggle_active* = 0x00000001'i16
+  bp_TGtkCellRendererToggle_active* = 0'i16
+  bm_TGtkCellRendererToggle_activatable* = 0x00000002'i16
+  bp_TGtkCellRendererToggle_activatable* = 1'i16
+  bm_TGtkCellRendererToggle_radio* = 0x00000004'i16
+  bp_TGtkCellRendererToggle_radio* = 2'i16
 
 proc GTK_TYPE_CELL_RENDERER_TOGGLE*(): GType
 proc GTK_CELL_RENDERER_TOGGLE*(obj: pointer): PGtkCellRendererToggle
@@ -5105,18 +5105,18 @@ proc gtk_item_deselect*(item: PGtkItem){.cdecl, dynlib: gtklib,
 proc gtk_item_toggle*(item: PGtkItem){.cdecl, dynlib: gtklib,
                                        importc: "gtk_item_toggle".}
 const
-  bm_TGtkMenuItem_show_submenu_indicator* = 0x00000001
-  bp_TGtkMenuItem_show_submenu_indicator* = 0
-  bm_TGtkMenuItem_submenu_placement* = 0x00000002
-  bp_TGtkMenuItem_submenu_placement* = 1
-  bm_TGtkMenuItem_submenu_direction* = 0x00000004
-  bp_TGtkMenuItem_submenu_direction* = 2
-  bm_TGtkMenuItem_right_justify* = 0x00000008
-  bp_TGtkMenuItem_right_justify* = 3
-  bm_TGtkMenuItem_timer_from_keypress* = 0x00000010
-  bp_TGtkMenuItem_timer_from_keypress* = 4
-  bm_TGtkMenuItemClass_hide_on_activate* = 0x00000001
-  bp_TGtkMenuItemClass_hide_on_activate* = 0
+  bm_TGtkMenuItem_show_submenu_indicator* = 0x00000001'i16
+  bp_TGtkMenuItem_show_submenu_indicator* = 0'i16
+  bm_TGtkMenuItem_submenu_placement* = 0x00000002'i16
+  bp_TGtkMenuItem_submenu_placement* = 1'i16
+  bm_TGtkMenuItem_submenu_direction* = 0x00000004'i16
+  bp_TGtkMenuItem_submenu_direction* = 2'i16
+  bm_TGtkMenuItem_right_justify* = 0x00000008'i16
+  bp_TGtkMenuItem_right_justify* = 3'i16
+  bm_TGtkMenuItem_timer_from_keypress* = 0x00000010'i16
+  bp_TGtkMenuItem_timer_from_keypress* = 4'i16
+  bm_TGtkMenuItemClass_hide_on_activate* = 0x00000001'i16
+  bp_TGtkMenuItemClass_hide_on_activate* = 0'i16
 
 proc GTK_TYPE_MENU_ITEM*(): GType
 proc GTK_MENU_ITEM*(obj: pointer): PGtkMenuItem
@@ -5176,12 +5176,12 @@ proc gtk_menu_item_refresh_accel_path*(menu_item: PGtkMenuItem,
 proc gtk_menu_item_is_selectable*(menu_item: PGtkWidget): gboolean{.cdecl,
     dynlib: gtklib, importc: "_gtk_menu_item_is_selectable".}
 const
-  bm_TGtkToggleButton_active* = 0x00000001
-  bp_TGtkToggleButton_active* = 0
-  bm_TGtkToggleButton_draw_indicator* = 0x00000002
-  bp_TGtkToggleButton_draw_indicator* = 1
-  bm_TGtkToggleButton_inconsistent* = 0x00000004
-  bp_TGtkToggleButton_inconsistent* = 2
+  bm_TGtkToggleButton_active* = 0x00000001'i16
+  bp_TGtkToggleButton_active* = 0'i16
+  bm_TGtkToggleButton_draw_indicator* = 0x00000002'i16
+  bp_TGtkToggleButton_draw_indicator* = 1'i16
+  bm_TGtkToggleButton_inconsistent* = 0x00000004'i16
+  bp_TGtkToggleButton_inconsistent* = 2'i16
 
 proc GTK_TYPE_TOGGLE_BUTTON*(): GType
 proc GTK_TOGGLE_BUTTON*(obj: pointer): PGtkToggleButton
@@ -5239,12 +5239,12 @@ proc gtk_check_button_get_props*(check_button: PGtkCheckButton,
                                    indicator_spacing: Pgint){.cdecl,
     dynlib: gtklib, importc: "_gtk_check_button_get_props".}
 const
-  bm_TGtkCheckMenuItem_active* = 0x00000001
-  bp_TGtkCheckMenuItem_active* = 0
-  bm_TGtkCheckMenuItem_always_show_toggle* = 0x00000002
-  bp_TGtkCheckMenuItem_always_show_toggle* = 1
-  bm_TGtkCheckMenuItem_inconsistent* = 0x00000004
-  bp_TGtkCheckMenuItem_inconsistent* = 2
+  bm_TGtkCheckMenuItem_active* = 0x00000001'i16
+  bp_TGtkCheckMenuItem_active* = 0'i16
+  bm_TGtkCheckMenuItem_always_show_toggle* = 0x00000002'i16
+  bp_TGtkCheckMenuItem_always_show_toggle* = 1'i16
+  bm_TGtkCheckMenuItem_inconsistent* = 0x00000004'i16
+  bp_TGtkCheckMenuItem_inconsistent* = 2'i16
 
 proc GTK_TYPE_CHECK_MENU_ITEM*(): GType
 proc GTK_CHECK_MENU_ITEM*(obj: pointer): PGtkCheckMenuItem
@@ -5332,22 +5332,22 @@ const
   GTK_BUTTON_EXPANDS* = 1 shl 2
 
 const
-  bm_TGtkCListColumn_visible* = 0x00000001
-  bp_TGtkCListColumn_visible* = 0
-  bm_TGtkCListColumn_width_set* = 0x00000002
-  bp_TGtkCListColumn_width_set* = 1
-  bm_TGtkCListColumn_resizeable* = 0x00000004
-  bp_TGtkCListColumn_resizeable* = 2
-  bm_TGtkCListColumn_auto_resize* = 0x00000008
-  bp_TGtkCListColumn_auto_resize* = 3
-  bm_TGtkCListColumn_button_passive* = 0x00000010
-  bp_TGtkCListColumn_button_passive* = 4
-  bm_TGtkCListRow_fg_set* = 0x00000001
-  bp_TGtkCListRow_fg_set* = 0
-  bm_TGtkCListRow_bg_set* = 0x00000002
-  bp_TGtkCListRow_bg_set* = 1
-  bm_TGtkCListRow_selectable* = 0x00000004
-  bp_TGtkCListRow_selectable* = 2
+  bm_TGtkCListColumn_visible* = 0x00000001'i16
+  bp_TGtkCListColumn_visible* = 0'i16
+  bm_TGtkCListColumn_width_set* = 0x00000002'i16
+  bp_TGtkCListColumn_width_set* = 1'i16
+  bm_TGtkCListColumn_resizeable* = 0x00000004'i16
+  bp_TGtkCListColumn_resizeable* = 2'i16
+  bm_TGtkCListColumn_auto_resize* = 0x00000008'i16
+  bp_TGtkCListColumn_auto_resize* = 3'i16
+  bm_TGtkCListColumn_button_passive* = 0x00000010'i16
+  bp_TGtkCListColumn_button_passive* = 4'i16
+  bm_TGtkCListRow_fg_set* = 0x00000001'i16
+  bp_TGtkCListRow_fg_set* = 0'i16
+  bm_TGtkCListRow_bg_set* = 0x00000002'i16
+  bp_TGtkCListRow_bg_set* = 1'i16
+  bm_TGtkCListRow_selectable* = 0x00000004'i16
+  bp_TGtkCListRow_selectable* = 2'i16
 
 proc GTK_TYPE_CLIST*(): GType
 proc GTK_CLIST*(obj: pointer): PGtkCList
@@ -5677,16 +5677,16 @@ proc gtk_hbox_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
 proc gtk_hbox_new*(homogeneous: gboolean, spacing: gint): PGtkWidget{.cdecl,
     dynlib: gtklib, importc: "gtk_hbox_new".}
 const
-  bm_TGtkCombo_value_in_list* = 0x00000001
-  bp_TGtkCombo_value_in_list* = 0
-  bm_TGtkCombo_ok_if_empty* = 0x00000002
-  bp_TGtkCombo_ok_if_empty* = 1
-  bm_TGtkCombo_case_sensitive* = 0x00000004
-  bp_TGtkCombo_case_sensitive* = 2
-  bm_TGtkCombo_use_arrows* = 0x00000008
-  bp_TGtkCombo_use_arrows* = 3
-  bm_TGtkCombo_use_arrows_always* = 0x00000010
-  bp_TGtkCombo_use_arrows_always* = 4
+  bm_TGtkCombo_value_in_list* = 0x00000001'i16
+  bp_TGtkCombo_value_in_list* = 0'i16
+  bm_TGtkCombo_ok_if_empty* = 0x00000002'i16
+  bp_TGtkCombo_ok_if_empty* = 1'i16
+  bm_TGtkCombo_case_sensitive* = 0x00000004'i16
+  bp_TGtkCombo_case_sensitive* = 2'i16
+  bm_TGtkCombo_use_arrows* = 0x00000008'i16
+  bp_TGtkCombo_use_arrows* = 3'i16
+  bm_TGtkCombo_use_arrows_always* = 0x00000010'i16
+  bp_TGtkCombo_use_arrows_always* = 4'i16
 
 proc GTK_TYPE_COMBO*(): GType
 proc GTK_COMBO*(obj: pointer): PGtkCombo
@@ -5725,16 +5725,16 @@ proc gtk_combo_set_popdown_strings*(combo: PGtkCombo, strings: PGList){.cdecl,
 proc gtk_combo_disable_activate*(combo: PGtkCombo){.cdecl, dynlib: gtklib,
     importc: "gtk_combo_disable_activate".}
 const
-  bm_TGtkCTree_line_style* = 0x00000003
-  bp_TGtkCTree_line_style* = 0
-  bm_TGtkCTree_expander_style* = 0x0000000C
-  bp_TGtkCTree_expander_style* = 2
-  bm_TGtkCTree_show_stub* = 0x00000010
-  bp_TGtkCTree_show_stub* = 4
-  bm_TGtkCTreeRow_is_leaf* = 0x00000001
-  bp_TGtkCTreeRow_is_leaf* = 0
-  bm_TGtkCTreeRow_expanded* = 0x00000002
-  bp_TGtkCTreeRow_expanded* = 1
+  bm_TGtkCTree_line_style* = 0x00000003'i16
+  bp_TGtkCTree_line_style* = 0'i16
+  bm_TGtkCTree_expander_style* = 0x0000000C'i16
+  bp_TGtkCTree_expander_style* = 2'i16
+  bm_TGtkCTree_show_stub* = 0x00000010'i16
+  bp_TGtkCTree_show_stub* = 4'i16
+  bm_TGtkCTreeRow_is_leaf* = 0x00000001'i16
+  bp_TGtkCTreeRow_is_leaf* = 0'i16
+  bm_TGtkCTreeRow_expanded* = 0x00000002'i16
+  bp_TGtkCTreeRow_expanded* = 1'i16
 
 proc GTK_TYPE_CTREE*(): GType
 proc GTK_CTREE*(obj: pointer): PGtkCTree
@@ -6119,20 +6119,20 @@ proc gtk_im_context_delete_surrounding*(context: PGtkIMContext, offset: gint,
                                         n_chars: gint): gboolean{.cdecl,
     dynlib: gtklib, importc: "gtk_im_context_delete_surrounding".}
 const
-  bm_TGtkMenuShell_active* = 0x00000001
-  bp_TGtkMenuShell_active* = 0
-  bm_TGtkMenuShell_have_grab* = 0x00000002
-  bp_TGtkMenuShell_have_grab* = 1
-  bm_TGtkMenuShell_have_xgrab* = 0x00000004
-  bp_TGtkMenuShell_have_xgrab* = 2
-  bm_TGtkMenuShell_ignore_leave* = 0x00000008
-  bp_TGtkMenuShell_ignore_leave* = 3
-  bm_TGtkMenuShell_menu_flag* = 0x00000010
-  bp_TGtkMenuShell_menu_flag* = 4
-  bm_TGtkMenuShell_ignore_enter* = 0x00000020
-  bp_TGtkMenuShell_ignore_enter* = 5
-  bm_TGtkMenuShellClass_submenu_placement* = 0x00000001
-  bp_TGtkMenuShellClass_submenu_placement* = 0
+  bm_TGtkMenuShell_active* = 0x00000001'i16
+  bp_TGtkMenuShell_active* = 0'i16
+  bm_TGtkMenuShell_have_grab* = 0x00000002'i16
+  bp_TGtkMenuShell_have_grab* = 1'i16
+  bm_TGtkMenuShell_have_xgrab* = 0x00000004'i16
+  bp_TGtkMenuShell_have_xgrab* = 2'i16
+  bm_TGtkMenuShell_ignore_leave* = 0x00000008'i16
+  bp_TGtkMenuShell_ignore_leave* = 3'i16
+  bm_TGtkMenuShell_menu_flag* = 0x00000010'i16
+  bp_TGtkMenuShell_menu_flag* = 4'i16
+  bm_TGtkMenuShell_ignore_enter* = 0x00000020'i16
+  bp_TGtkMenuShell_ignore_enter* = 5'i16
+  bm_TGtkMenuShellClass_submenu_placement* = 0x00000001'i16
+  bp_TGtkMenuShellClass_submenu_placement* = 0'i16
 
 proc GTK_TYPE_MENU_SHELL*(): GType
 proc GTK_MENU_SHELL*(obj: pointer): PGtkMenuShell
@@ -6180,22 +6180,22 @@ proc gtk_menu_shell_select_first*(menu_shell: PGtkMenuShell){.cdecl,
 proc gtk_menu_shell_activate*(menu_shell: PGtkMenuShell){.cdecl,
     dynlib: gtklib, importc: "_gtk_menu_shell_activate".}
 const
-  bm_TGtkMenu_needs_destruction_ref_count* = 0x00000001
-  bp_TGtkMenu_needs_destruction_ref_count* = 0
-  bm_TGtkMenu_torn_off* = 0x00000002
-  bp_TGtkMenu_torn_off* = 1
-  bm_TGtkMenu_tearoff_active* = 0x00000004
-  bp_TGtkMenu_tearoff_active* = 2
-  bm_TGtkMenu_scroll_fast* = 0x00000008
-  bp_TGtkMenu_scroll_fast* = 3
-  bm_TGtkMenu_upper_arrow_visible* = 0x00000010
-  bp_TGtkMenu_upper_arrow_visible* = 4
-  bm_TGtkMenu_lower_arrow_visible* = 0x00000020
-  bp_TGtkMenu_lower_arrow_visible* = 5
-  bm_TGtkMenu_upper_arrow_prelight* = 0x00000040
-  bp_TGtkMenu_upper_arrow_prelight* = 6
-  bm_TGtkMenu_lower_arrow_prelight* = 0x00000080
-  bp_TGtkMenu_lower_arrow_prelight* = 7
+  bm_TGtkMenu_needs_destruction_ref_count* = 0x00000001'i16
+  bp_TGtkMenu_needs_destruction_ref_count* = 0'i16
+  bm_TGtkMenu_torn_off* = 0x00000002'i16
+  bp_TGtkMenu_torn_off* = 1'i16
+  bm_TGtkMenu_tearoff_active* = 0x00000004'i16
+  bp_TGtkMenu_tearoff_active* = 2'i16
+  bm_TGtkMenu_scroll_fast* = 0x00000008'i16
+  bp_TGtkMenu_scroll_fast* = 3'i16
+  bm_TGtkMenu_upper_arrow_visible* = 0x00000010'i16
+  bp_TGtkMenu_upper_arrow_visible* = 4'i16
+  bm_TGtkMenu_lower_arrow_visible* = 0x00000020'i16
+  bp_TGtkMenu_lower_arrow_visible* = 5'i16
+  bm_TGtkMenu_upper_arrow_prelight* = 0x00000040'i16
+  bp_TGtkMenu_upper_arrow_prelight* = 6'i16
+  bm_TGtkMenu_lower_arrow_prelight* = 0x00000080'i16
+  bp_TGtkMenu_lower_arrow_prelight* = 7'i16
 
 proc GTK_TYPE_MENU*(): GType
 proc GTK_MENU*(obj: pointer): PGtkMenu
@@ -6261,32 +6261,32 @@ proc gtk_menu_reorder_child*(menu: PGtkMenu, child: PGtkWidget, position: gint){
 proc gtk_menu_set_screen*(menu: PGtkMenu, screen: PGdkScreen){.cdecl,
     dynlib: gtklib, importc: "gtk_menu_set_screen".}
 const
-  bm_TGtkEntry_editable* = 0x00000001
-  bp_TGtkEntry_editable* = 0
-  bm_TGtkEntry_visible* = 0x00000002
-  bp_TGtkEntry_visible* = 1
-  bm_TGtkEntry_overwrite_mode* = 0x00000004
-  bp_TGtkEntry_overwrite_mode* = 2
-  bm_TGtkEntry_in_drag* = 0x00000008
-  bp_TGtkEntry_in_drag* = 3
-  bm_TGtkEntry_cache_includes_preedit* = 0x00000001
-  bp_TGtkEntry_cache_includes_preedit* = 0
-  bm_TGtkEntry_need_im_reset* = 0x00000002
-  bp_TGtkEntry_need_im_reset* = 1
-  bm_TGtkEntry_has_frame* = 0x00000004
-  bp_TGtkEntry_has_frame* = 2
-  bm_TGtkEntry_activates_default* = 0x00000008
-  bp_TGtkEntry_activates_default* = 3
-  bm_TGtkEntry_cursor_visible* = 0x00000010
-  bp_TGtkEntry_cursor_visible* = 4
-  bm_TGtkEntry_in_click* = 0x00000020
-  bp_TGtkEntry_in_click* = 5
-  bm_TGtkEntry_is_cell_renderer* = 0x00000040
-  bp_TGtkEntry_is_cell_renderer* = 6
-  bm_TGtkEntry_editing_canceled* = 0x00000080
-  bp_TGtkEntry_editing_canceled* = 7
-  bm_TGtkEntry_mouse_cursor_obscured* = 0x00000100
-  bp_TGtkEntry_mouse_cursor_obscured* = 8
+  bm_TGtkEntry_editable* = 0x00000001'i16
+  bp_TGtkEntry_editable* = 0'i16
+  bm_TGtkEntry_visible* = 0x00000002'i16
+  bp_TGtkEntry_visible* = 1'i16
+  bm_TGtkEntry_overwrite_mode* = 0x00000004'i16
+  bp_TGtkEntry_overwrite_mode* = 2'i16
+  bm_TGtkEntry_in_drag* = 0x00000008'i16
+  bp_TGtkEntry_in_drag* = 3'i16
+  bm_TGtkEntry_cache_includes_preedit* = 0x00000001'i16
+  bp_TGtkEntry_cache_includes_preedit* = 0'i16
+  bm_TGtkEntry_need_im_reset* = 0x00000002'i16
+  bp_TGtkEntry_need_im_reset* = 1'i16
+  bm_TGtkEntry_has_frame* = 0x00000004'i16
+  bp_TGtkEntry_has_frame* = 2'i16
+  bm_TGtkEntry_activates_default* = 0x00000008'i16
+  bp_TGtkEntry_activates_default* = 3'i16
+  bm_TGtkEntry_cursor_visible* = 0x00000010'i16
+  bp_TGtkEntry_cursor_visible* = 4'i16
+  bm_TGtkEntry_in_click* = 0x00000020'i16
+  bp_TGtkEntry_in_click* = 5'i16
+  bm_TGtkEntry_is_cell_renderer* = 0x00000040'i16
+  bp_TGtkEntry_is_cell_renderer* = 6'i16
+  bm_TGtkEntry_editing_canceled* = 0x00000080'i16
+  bp_TGtkEntry_editing_canceled* = 7'i16
+  bm_TGtkEntry_mouse_cursor_obscured* = 0x00000100'i16
+  bp_TGtkEntry_mouse_cursor_obscured* = 8'i16
 
 proc GTK_TYPE_ENTRY*(): GType
 proc GTK_ENTRY*(obj: pointer): PGtkEntry
@@ -6653,18 +6653,18 @@ proc gtk_gc_get*(depth: gint, colormap: PGdkColormap, values: PGdkGCValues,
 proc gtk_gc_release*(gc: PGdkGC){.cdecl, dynlib: gtklib,
                                   importc: "gtk_gc_release".}
 const
-  bm_TGtkHandleBox_handle_position* = 0x00000003
-  bp_TGtkHandleBox_handle_position* = 0
-  bm_TGtkHandleBox_float_window_mapped* = 0x00000004
-  bp_TGtkHandleBox_float_window_mapped* = 2
-  bm_TGtkHandleBox_child_detached* = 0x00000008
-  bp_TGtkHandleBox_child_detached* = 3
-  bm_TGtkHandleBox_in_drag* = 0x00000010
-  bp_TGtkHandleBox_in_drag* = 4
-  bm_TGtkHandleBox_shrink_on_detach* = 0x00000020
-  bp_TGtkHandleBox_shrink_on_detach* = 5
-  bm_TGtkHandleBox_snap_edge* = 0x000001C0
-  bp_TGtkHandleBox_snap_edge* = 6
+  bm_TGtkHandleBox_handle_position* = 0x00000003'i16
+  bp_TGtkHandleBox_handle_position* = 0'i16
+  bm_TGtkHandleBox_float_window_mapped* = 0x00000004'i16
+  bp_TGtkHandleBox_float_window_mapped* = 2'i16
+  bm_TGtkHandleBox_child_detached* = 0x00000008'i16
+  bp_TGtkHandleBox_child_detached* = 3'i16
+  bm_TGtkHandleBox_in_drag* = 0x00000010'i16
+  bp_TGtkHandleBox_in_drag* = 4'i16
+  bm_TGtkHandleBox_shrink_on_detach* = 0x00000020'i16
+  bp_TGtkHandleBox_shrink_on_detach* = 5'i16
+  bm_TGtkHandleBox_snap_edge* = 0x000001C0'i16
+  bp_TGtkHandleBox_snap_edge* = 6'i16
 
 proc GTK_TYPE_HANDLE_BOX*(): GType
 proc GTK_HANDLE_BOX*(obj: pointer): PGtkHandleBox
@@ -6704,24 +6704,24 @@ proc gtk_handle_box_set_snap_edge*(handle_box: PGtkHandleBox,
 proc gtk_handle_box_get_snap_edge*(handle_box: PGtkHandleBox): TGtkPositionType{.
     cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_snap_edge".}
 const
-  bm_TGtkPaned_position_set* = 0x00000001
-  bp_TGtkPaned_position_set* = 0
-  bm_TGtkPaned_in_drag* = 0x00000002
-  bp_TGtkPaned_in_drag* = 1
-  bm_TGtkPaned_child1_shrink* = 0x00000004
-  bp_TGtkPaned_child1_shrink* = 2
-  bm_TGtkPaned_child1_resize* = 0x00000008
-  bp_TGtkPaned_child1_resize* = 3
-  bm_TGtkPaned_child2_shrink* = 0x00000010
-  bp_TGtkPaned_child2_shrink* = 4
-  bm_TGtkPaned_child2_resize* = 0x00000020
-  bp_TGtkPaned_child2_resize* = 5
-  bm_TGtkPaned_orientation* = 0x00000040
-  bp_TGtkPaned_orientation* = 6
-  bm_TGtkPaned_in_recursion* = 0x00000080
-  bp_TGtkPaned_in_recursion* = 7
-  bm_TGtkPaned_handle_prelit* = 0x00000100
-  bp_TGtkPaned_handle_prelit* = 8
+  bm_TGtkPaned_position_set* = 0x00000001'i16
+  bp_TGtkPaned_position_set* = 0'i16
+  bm_TGtkPaned_in_drag* = 0x00000002'i16
+  bp_TGtkPaned_in_drag* = 1'i16
+  bm_TGtkPaned_child1_shrink* = 0x00000004'i16
+  bp_TGtkPaned_child1_shrink* = 2'i16
+  bm_TGtkPaned_child1_resize* = 0x00000008'i16
+  bp_TGtkPaned_child1_resize* = 3'i16
+  bm_TGtkPaned_child2_shrink* = 0x00000010'i16
+  bp_TGtkPaned_child2_shrink* = 4'i16
+  bm_TGtkPaned_child2_resize* = 0x00000020'i16
+  bp_TGtkPaned_child2_resize* = 5'i16
+  bm_TGtkPaned_orientation* = 0x00000040'i16
+  bp_TGtkPaned_orientation* = 6'i16
+  bm_TGtkPaned_in_recursion* = 0x00000080'i16
+  bp_TGtkPaned_in_recursion* = 7'i16
+  bm_TGtkPaned_handle_prelit* = 0x00000100'i16
+  bp_TGtkPaned_handle_prelit* = 8'i16
 
 proc GTK_TYPE_PANED*(): GType
 proc GTK_PANED*(obj: pointer): PGtkPaned
@@ -6872,8 +6872,8 @@ const
   GTK_RC_BG* = 1 shl 1
   GTK_RC_TEXT* = 1 shl 2
   GTK_RC_BASE* = 1 shl 3
-  bm_TGtkRcStyle_engine_specified* = 0x00000001
-  bp_TGtkRcStyle_engine_specified* = 0
+  bm_TGtkRcStyle_engine_specified* = 0x00000001'i16
+  bp_TGtkRcStyle_engine_specified* = 0'i16
 
 proc GTK_TYPE_RC_STYLE*(): GType
 proc GTK_RC_STYLE_get*(anObject: pointer): PGtkRcStyle
@@ -7101,26 +7101,26 @@ proc gtk_draw_insertion_cursor*(widget: PGtkWidget, drawable: PGdkDrawable,
                                   draw_arrow: gboolean){.cdecl, dynlib: gtklib,
     importc: "_gtk_draw_insertion_cursor".}
 const
-  bm_TGtkRange_inverted* = 0x00000001
-  bp_TGtkRange_inverted* = 0
-  bm_TGtkRange_flippable* = 0x00000002
-  bp_TGtkRange_flippable* = 1
-  bm_TGtkRange_has_stepper_a* = 0x00000004
-  bp_TGtkRange_has_stepper_a* = 2
-  bm_TGtkRange_has_stepper_b* = 0x00000008
-  bp_TGtkRange_has_stepper_b* = 3
-  bm_TGtkRange_has_stepper_c* = 0x00000010
-  bp_TGtkRange_has_stepper_c* = 4
-  bm_TGtkRange_has_stepper_d* = 0x00000020
-  bp_TGtkRange_has_stepper_d* = 5
-  bm_TGtkRange_need_recalc* = 0x00000040
-  bp_TGtkRange_need_recalc* = 6
-  bm_TGtkRange_slider_size_fixed* = 0x00000080
-  bp_TGtkRange_slider_size_fixed* = 7
-  bm_TGtkRange_trough_click_forward* = 0x00000001
-  bp_TGtkRange_trough_click_forward* = 0
-  bm_TGtkRange_update_pending* = 0x00000002
-  bp_TGtkRange_update_pending* = 1
+  bm_TGtkRange_inverted* = 0x00000001'i16
+  bp_TGtkRange_inverted* = 0'i16
+  bm_TGtkRange_flippable* = 0x00000002'i16
+  bp_TGtkRange_flippable* = 1'i16
+  bm_TGtkRange_has_stepper_a* = 0x00000004'i16
+  bp_TGtkRange_has_stepper_a* = 2'i16
+  bm_TGtkRange_has_stepper_b* = 0x00000008'i16
+  bp_TGtkRange_has_stepper_b* = 3'i16
+  bm_TGtkRange_has_stepper_c* = 0x00000010'i16
+  bp_TGtkRange_has_stepper_c* = 4'i16
+  bm_TGtkRange_has_stepper_d* = 0x00000020'i16
+  bp_TGtkRange_has_stepper_d* = 5'i16
+  bm_TGtkRange_need_recalc* = 0x00000040'i16
+  bp_TGtkRange_need_recalc* = 6'i16
+  bm_TGtkRange_slider_size_fixed* = 0x00000080'i16
+  bp_TGtkRange_slider_size_fixed* = 7'i16
+  bm_TGtkRange_trough_click_forward* = 0x00000001'i16
+  bp_TGtkRange_trough_click_forward* = 0'i16
+  bm_TGtkRange_update_pending* = 0x00000002'i16
+  bp_TGtkRange_update_pending* = 1'i16
 
 proc GTK_TYPE_RANGE*(): GType
 proc GTK_RANGE*(obj: pointer): PGtkRange
@@ -7171,10 +7171,10 @@ proc gtk_range_set_value*(range: PGtkRange, value: gdouble){.cdecl,
 proc gtk_range_get_value*(range: PGtkRange): gdouble{.cdecl, dynlib: gtklib,
     importc: "gtk_range_get_value".}
 const
-  bm_TGtkScale_draw_value* = 0x00000001
-  bp_TGtkScale_draw_value* = 0
-  bm_TGtkScale_value_pos* = 0x00000006
-  bp_TGtkScale_value_pos* = 1
+  bm_TGtkScale_draw_value* = 0x00000001'i16
+  bp_TGtkScale_draw_value* = 0'i16
+  bm_TGtkScale_value_pos* = 0x00000006'i16
+  bp_TGtkScale_value_pos* = 1'i16
 
 proc GTK_TYPE_SCALE*(): GType
 proc GTK_SCALE*(obj: pointer): PGtkScale
@@ -7430,8 +7430,8 @@ proc gtk_image_menu_item_set_image*(image_menu_item: PGtkImageMenuItem,
 proc gtk_image_menu_item_get_image*(image_menu_item: PGtkImageMenuItem): PGtkWidget{.
     cdecl, dynlib: gtklib, importc: "gtk_image_menu_item_get_image".}
 const
-  bm_TGtkIMContextSimple_in_hex_sequence* = 0x00000001
-  bp_TGtkIMContextSimple_in_hex_sequence* = 0
+  bm_TGtkIMContextSimple_in_hex_sequence* = 0x00000001'i16
+  bp_TGtkIMContextSimple_in_hex_sequence* = 0'i16
 
 proc GTK_TYPE_IM_CONTEXT_SIMPLE*(): GType
 proc GTK_IM_CONTEXT_SIMPLE*(obj: pointer): PGtkIMContextSimple
@@ -7581,12 +7581,12 @@ proc gtk_layout_set_hadjustment*(layout: PGtkLayout, adjustment: PGtkAdjustment)
 proc gtk_layout_set_vadjustment*(layout: PGtkLayout, adjustment: PGtkAdjustment){.
     cdecl, dynlib: gtklib, importc: "gtk_layout_set_vadjustment".}
 const
-  bm_TGtkList_selection_mode* = 0x00000003
-  bp_TGtkList_selection_mode* = 0
-  bm_TGtkList_drag_selection* = 0x00000004
-  bp_TGtkList_drag_selection* = 2
-  bm_TGtkList_add_mode* = 0x00000008
-  bp_TGtkList_add_mode* = 3
+  bm_TGtkList_selection_mode* = 0x00000003'i16
+  bp_TGtkList_selection_mode* = 0'i16
+  bm_TGtkList_drag_selection* = 0x00000004'i16
+  bp_TGtkList_drag_selection* = 2'i16
+  bm_TGtkList_add_mode* = 0x00000008'i16
+  bp_TGtkList_add_mode* = 3'i16
 
 proc GTK_TYPE_LIST*(): GType
 proc GTK_LIST*(obj: pointer): PGtkList
@@ -7850,8 +7850,8 @@ proc gtk_tree_model_sort_reset_default_sort_func*(
 proc gtk_tree_model_sort_clear_cache*(tree_model_sort: PGtkTreeModelSort){.
     cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_clear_cache".}
 const
-  bm_TGtkListStore_columns_dirty* = 0x00000001
-  bp_TGtkListStore_columns_dirty* = 0
+  bm_TGtkListStore_columns_dirty* = 0x00000001'i16
+  bp_TGtkListStore_columns_dirty* = 0'i16
 
 proc GTK_TYPE_LIST_STORE*(): GType
 proc GTK_LIST_STORE*(obj: pointer): PGtkListStore
@@ -8007,30 +8007,30 @@ proc GTK_MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PGtkMessageDialogClass
 proc gtk_message_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
     importc: "gtk_message_dialog_get_type".}
 const
-  bm_TGtkNotebook_show_tabs* = 0x00000001
-  bp_TGtkNotebook_show_tabs* = 0
-  bm_TGtkNotebook_homogeneous* = 0x00000002
-  bp_TGtkNotebook_homogeneous* = 1
-  bm_TGtkNotebook_show_border* = 0x00000004
-  bp_TGtkNotebook_show_border* = 2
-  bm_TGtkNotebook_tab_pos* = 0x00000018
-  bp_TGtkNotebook_tab_pos* = 3
-  bm_TGtkNotebook_scrollable* = 0x00000020
-  bp_TGtkNotebook_scrollable* = 5
-  bm_TGtkNotebook_in_child* = 0x000000C0
-  bp_TGtkNotebook_in_child* = 6
-  bm_TGtkNotebook_click_child* = 0x00000300
-  bp_TGtkNotebook_click_child* = 8
-  bm_TGtkNotebook_button* = 0x00000C00
-  bp_TGtkNotebook_button* = 10
-  bm_TGtkNotebook_need_timer* = 0x00001000
-  bp_TGtkNotebook_need_timer* = 12
-  bm_TGtkNotebook_child_has_focus* = 0x00002000
-  bp_TGtkNotebook_child_has_focus* = 13
-  bm_TGtkNotebook_have_visible_child* = 0x00004000
-  bp_TGtkNotebook_have_visible_child* = 14
-  bm_TGtkNotebook_focus_out* = 0x00008000
-  bp_TGtkNotebook_focus_out* = 15
+  bm_TGtkNotebook_show_tabs* = 0x00000001'i16
+  bp_TGtkNotebook_show_tabs* = 0'i16
+  bm_TGtkNotebook_homogeneous* = 0x00000002'i16
+  bp_TGtkNotebook_homogeneous* = 1'i16
+  bm_TGtkNotebook_show_border* = 0x00000004'i16
+  bp_TGtkNotebook_show_border* = 2'i16
+  bm_TGtkNotebook_tab_pos* = 0x00000018'i16
+  bp_TGtkNotebook_tab_pos* = 3'i16
+  bm_TGtkNotebook_scrollable* = 0x00000020'i16
+  bp_TGtkNotebook_scrollable* = 5'i16
+  bm_TGtkNotebook_in_child* = 0x000000C0'i16
+  bp_TGtkNotebook_in_child* = 6'i16
+  bm_TGtkNotebook_click_child* = 0x00000300'i16
+  bp_TGtkNotebook_click_child* = 8'i16
+  bm_TGtkNotebook_button* = 0x00000C00'i16
+  bp_TGtkNotebook_button* = 10'i16
+  bm_TGtkNotebook_need_timer* = 0x00001000'i16
+  bp_TGtkNotebook_need_timer* = 12'i16
+  bm_TGtkNotebook_child_has_focus* = 0x00002000'i16
+  bp_TGtkNotebook_child_has_focus* = 13'i16
+  bm_TGtkNotebook_have_visible_child* = 0x00004000'i16
+  bp_TGtkNotebook_have_visible_child* = 14'i16
+  bm_TGtkNotebook_focus_out* = 0x00008000'i16
+  bp_TGtkNotebook_focus_out* = 15'i16
 
 proc GTK_TYPE_NOTEBOOK*(): GType
 proc GTK_NOTEBOOK*(obj: pointer): PGtkNotebook
@@ -8152,12 +8152,12 @@ proc gtk_notebook_reorder_child*(notebook: PGtkNotebook, child: PGtkWidget,
                                  position: gint){.cdecl, dynlib: gtklib,
     importc: "gtk_notebook_reorder_child".}
 const
-  bm_TGtkOldEditable_has_selection* = 0x00000001
-  bp_TGtkOldEditable_has_selection* = 0
-  bm_TGtkOldEditable_editable* = 0x00000002
-  bp_TGtkOldEditable_editable* = 1
-  bm_TGtkOldEditable_visible* = 0x00000004
-  bp_TGtkOldEditable_visible* = 2
+  bm_TGtkOldEditable_has_selection* = 0x00000001'i16
+  bp_TGtkOldEditable_has_selection* = 0'i16
+  bm_TGtkOldEditable_editable* = 0x00000002'i16
+  bp_TGtkOldEditable_editable* = 1'i16
+  bm_TGtkOldEditable_visible* = 0x00000004'i16
+  bp_TGtkOldEditable_visible* = 2'i16
 
 proc GTK_TYPE_OLD_EDITABLE*(): GType
 proc GTK_OLD_EDITABLE*(obj: pointer): PGtkOldEditable
@@ -8199,8 +8199,8 @@ proc gtk_option_menu_get_history*(option_menu: PGtkOptionMenu): gint{.cdecl,
 proc gtk_option_menu_set_history*(option_menu: PGtkOptionMenu, index: guint){.
     cdecl, dynlib: gtklib, importc: "gtk_option_menu_set_history".}
 const
-  bm_TGtkPixmap_build_insensitive* = 0x00000001
-  bp_TGtkPixmap_build_insensitive* = 0
+  bm_TGtkPixmap_build_insensitive* = 0x00000001'i16
+  bp_TGtkPixmap_build_insensitive* = 0'i16
 
 proc GTK_TYPE_PIXMAP*(): GType
 proc GTK_PIXMAP*(obj: pointer): PGtkPixmap
@@ -8222,8 +8222,8 @@ proc gtk_pixmap_get*(pixmap: PGtkPixmap, val: var PGdkPixmap,
 proc gtk_pixmap_set_build_insensitive*(pixmap: PGtkPixmap, build: gboolean){.
     cdecl, dynlib: gtklib, importc: "gtk_pixmap_set_build_insensitive".}
 const
-  bm_TGtkPlug_same_app* = 0x00000001
-  bp_TGtkPlug_same_app* = 0
+  bm_TGtkPlug_same_app* = 0x00000001'i16
+  bp_TGtkPlug_same_app* = 0'i16
 
 proc GTK_TYPE_PLUG*(): GType
 proc GTK_PLUG*(obj: pointer): PGtkPlug
@@ -8247,10 +8247,10 @@ proc gtk_plug_add_to_socket*(plug: PGtkPlug, socket: PGtkSocket){.cdecl,
 proc gtk_plug_remove_from_socket*(plug: PGtkPlug, socket: PGtkSocket){.cdecl,
     dynlib: gtklib, importc: "_gtk_plug_remove_from_socket".}
 const
-  bm_TGtkPreview_type* = 0x00000001
-  bp_TGtkPreview_type* = 0
-  bm_TGtkPreview_expand* = 0x00000002
-  bp_TGtkPreview_expand* = 1
+  bm_TGtkPreview_type* = 0x00000001'i16
+  bp_TGtkPreview_type* = 0'i16
+  bm_TGtkPreview_expand* = 0x00000002'i16
+  bp_TGtkPreview_expand* = 1'i16
 
 proc GTK_TYPE_PREVIEW*(): GType
 proc GTK_PREVIEW*(obj: pointer): PGtkPreview
@@ -8293,12 +8293,12 @@ proc gtk_preview_get_info*(): PGtkPreviewInfo{.cdecl, dynlib: gtklib,
     importc: "gtk_preview_get_info".}
 proc gtk_preview_reset*(){.cdecl, dynlib: gtklib, importc: "gtk_preview_reset".}
 const
-  bm_TGtkProgress_show_text* = 0x00000001
-  bp_TGtkProgress_show_text* = 0
-  bm_TGtkProgress_activity_mode* = 0x00000002
-  bp_TGtkProgress_activity_mode* = 1
-  bm_TGtkProgress_use_text_format* = 0x00000004
-  bp_TGtkProgress_use_text_format* = 2
+  bm_TGtkProgress_show_text* = 0x00000001'i16
+  bp_TGtkProgress_show_text* = 0'i16
+  bm_TGtkProgress_activity_mode* = 0x00000002'i16
+  bp_TGtkProgress_activity_mode* = 1'i16
+  bm_TGtkProgress_use_text_format* = 0x00000004'i16
+  bp_TGtkProgress_use_text_format* = 2'i16
 
 proc show_text*(a: var TGtkProgress): guint
 proc set_show_text*(a: var TGtkProgress, `show_text`: guint)
@@ -8307,8 +8307,8 @@ proc set_activity_mode*(a: var TGtkProgress, `activity_mode`: guint)
 proc use_text_format*(a: var TGtkProgress): guint
 proc set_use_text_format*(a: var TGtkProgress, `use_text_format`: guint)
 const
-  bm_TGtkProgressBar_activity_dir* = 0x00000001
-  bp_TGtkProgressBar_activity_dir* = 0
+  bm_TGtkProgressBar_activity_dir* = 0x00000001'i16
+  bp_TGtkProgressBar_activity_dir* = 0'i16
 
 proc GTK_TYPE_PROGRESS_BAR*(): GType
 proc GTK_PROGRESS_BAR*(obj: pointer): PGtkProgressBar
@@ -8385,18 +8385,18 @@ proc gtk_radio_menu_item_set_group*(radio_menu_item: PGtkRadioMenuItem,
                                     group: PGSList){.cdecl, dynlib: gtklib,
     importc: "gtk_radio_menu_item_set_group".}
 const
-  bm_TGtkScrolledWindow_hscrollbar_policy* = 0x00000003
-  bp_TGtkScrolledWindow_hscrollbar_policy* = 0
-  bm_TGtkScrolledWindow_vscrollbar_policy* = 0x0000000C
-  bp_TGtkScrolledWindow_vscrollbar_policy* = 2
-  bm_TGtkScrolledWindow_hscrollbar_visible* = 0x00000010
-  bp_TGtkScrolledWindow_hscrollbar_visible* = 4
-  bm_TGtkScrolledWindow_vscrollbar_visible* = 0x00000020
-  bp_TGtkScrolledWindow_vscrollbar_visible* = 5
-  bm_TGtkScrolledWindow_window_placement* = 0x000000C0
-  bp_TGtkScrolledWindow_window_placement* = 6
-  bm_TGtkScrolledWindow_focus_out* = 0x00000100
-  bp_TGtkScrolledWindow_focus_out* = 8
+  bm_TGtkScrolledWindow_hscrollbar_policy* = 0x00000003'i16
+  bp_TGtkScrolledWindow_hscrollbar_policy* = 0'i16
+  bm_TGtkScrolledWindow_vscrollbar_policy* = 0x0000000C'i16
+  bp_TGtkScrolledWindow_vscrollbar_policy* = 2'i16
+  bm_TGtkScrolledWindow_hscrollbar_visible* = 0x00000010'i16
+  bp_TGtkScrolledWindow_hscrollbar_visible* = 4'i16
+  bm_TGtkScrolledWindow_vscrollbar_visible* = 0x00000020'i16
+  bp_TGtkScrolledWindow_vscrollbar_visible* = 5'i16
+  bm_TGtkScrolledWindow_window_placement* = 0x000000C0'i16
+  bp_TGtkScrolledWindow_window_placement* = 6'i16
+  bm_TGtkScrolledWindow_focus_out* = 0x00000100'i16
+  bp_TGtkScrolledWindow_focus_out* = 8'i16
 
 proc GTK_TYPE_SCROLLED_WINDOW*(): GType
 proc GTK_SCROLLED_WINDOW*(obj: pointer): PGtkScrolledWindow
@@ -8528,10 +8528,10 @@ proc gtk_separator_menu_item_get_type*(): GType{.cdecl, dynlib: gtklib,
 proc gtk_separator_menu_item_new*(): PGtkWidget{.cdecl, dynlib: gtklib,
     importc: "gtk_separator_menu_item_new".}
 const
-  bm_TGtkSizeGroup_have_width* = 0x00000001
-  bp_TGtkSizeGroup_have_width* = 0
-  bm_TGtkSizeGroup_have_height* = 0x00000002
-  bp_TGtkSizeGroup_have_height* = 1
+  bm_TGtkSizeGroup_have_width* = 0x00000001'i16
+  bp_TGtkSizeGroup_have_width* = 0'i16
+  bm_TGtkSizeGroup_have_height* = 0x00000002'i16
+  bp_TGtkSizeGroup_have_height* = 1'i16
 
 proc GTK_TYPE_SIZE_GROUP*(): GType
 proc GTK_SIZE_GROUP*(obj: pointer): PGtkSizeGroup
@@ -8562,16 +8562,16 @@ proc gtk_size_group_compute_requisition*(widget: PGtkWidget,
 proc gtk_size_group_queue_resize*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
     importc: "_gtk_size_group_queue_resize".}
 const
-  bm_TGtkSocket_same_app* = 0x00000001
-  bp_TGtkSocket_same_app* = 0
-  bm_TGtkSocket_focus_in* = 0x00000002
-  bp_TGtkSocket_focus_in* = 1
-  bm_TGtkSocket_have_size* = 0x00000004
-  bp_TGtkSocket_have_size* = 2
-  bm_TGtkSocket_need_map* = 0x00000008
-  bp_TGtkSocket_need_map* = 3
-  bm_TGtkSocket_is_mapped* = 0x00000010
-  bp_TGtkSocket_is_mapped* = 4
+  bm_TGtkSocket_same_app* = 0x00000001'i16
+  bp_TGtkSocket_same_app* = 0'i16
+  bm_TGtkSocket_focus_in* = 0x00000002'i16
+  bp_TGtkSocket_focus_in* = 1'i16
+  bm_TGtkSocket_have_size* = 0x00000004'i16
+  bp_TGtkSocket_have_size* = 2'i16
+  bm_TGtkSocket_need_map* = 0x00000008'i16
+  bp_TGtkSocket_need_map* = 3'i16
+  bm_TGtkSocket_is_mapped* = 0x00000010'i16
+  bp_TGtkSocket_is_mapped* = 4'i16
 
 proc GTK_TYPE_SOCKET*(): GType
 proc GTK_SOCKET*(obj: pointer): PGtkSocket
@@ -8599,24 +8599,24 @@ proc gtk_socket_get_id*(socket: PGtkSocket): TGdkNativeWindow{.cdecl,
     dynlib: gtklib, importc: "gtk_socket_get_id".}
 const
   GTK_INPUT_ERROR* = - (1)
-  bm_TGtkSpinButton_in_child* = 0x00000003
-  bp_TGtkSpinButton_in_child* = 0
-  bm_TGtkSpinButton_click_child* = 0x0000000C
-  bp_TGtkSpinButton_click_child* = 2
-  bm_TGtkSpinButton_button* = 0x00000030
-  bp_TGtkSpinButton_button* = 4
-  bm_TGtkSpinButton_need_timer* = 0x00000040
-  bp_TGtkSpinButton_need_timer* = 6
-  bm_TGtkSpinButton_timer_calls* = 0x00000380
-  bp_TGtkSpinButton_timer_calls* = 7
-  bm_TGtkSpinButton_digits* = 0x000FFC00
-  bp_TGtkSpinButton_digits* = 10
-  bm_TGtkSpinButton_numeric* = 0x00100000
-  bp_TGtkSpinButton_numeric* = 20
-  bm_TGtkSpinButton_wrap* = 0x00200000
-  bp_TGtkSpinButton_wrap* = 21
-  bm_TGtkSpinButton_snap_to_ticks* = 0x00400000
-  bp_TGtkSpinButton_snap_to_ticks* = 22
+  bm_TGtkSpinButton_in_child* = 0x00000003'i32
+  bp_TGtkSpinButton_in_child* = 0'i32
+  bm_TGtkSpinButton_click_child* = 0x0000000C'i32
+  bp_TGtkSpinButton_click_child* = 2'i32
+  bm_TGtkSpinButton_button* = 0x00000030'i32
+  bp_TGtkSpinButton_button* = 4'i32
+  bm_TGtkSpinButton_need_timer* = 0x00000040'i32
+  bp_TGtkSpinButton_need_timer* = 6'i32
+  bm_TGtkSpinButton_timer_calls* = 0x00000380'i32
+  bp_TGtkSpinButton_timer_calls* = 7'i32
+  bm_TGtkSpinButton_digits* = 0x000FFC00'i32
+  bp_TGtkSpinButton_digits* = 10'i32
+  bm_TGtkSpinButton_numeric* = 0x00100000'i32
+  bp_TGtkSpinButton_numeric* = 20'i32
+  bm_TGtkSpinButton_wrap* = 0x00200000'i32
+  bp_TGtkSpinButton_wrap* = 21'i32
+  bm_TGtkSpinButton_snap_to_ticks* = 0x00400000'i32
+  bp_TGtkSpinButton_snap_to_ticks* = 22'i32
 
 proc GTK_TYPE_SPIN_BUTTON*(): GType
 proc GTK_SPIN_BUTTON*(obj: pointer): PGtkSpinButton
@@ -8805,8 +8805,8 @@ proc GTK_IS_STATUSBAR*(obj: pointer): bool
 proc GTK_IS_STATUSBAR_CLASS*(klass: pointer): bool
 proc GTK_STATUSBAR_GET_CLASS*(obj: pointer): PGtkStatusbarClass
 const
-  bm_TGtkStatusbar_has_resize_grip* = 0x00000001
-  bp_TGtkStatusbar_has_resize_grip* = 0
+  bm_TGtkStatusbar_has_resize_grip* = 0x00000001'i16
+  bp_TGtkStatusbar_has_resize_grip* = 0'i16
 
 proc has_resize_grip*(a: var TGtkStatusbar): guint
 proc set_has_resize_grip*(a: var TGtkStatusbar, `has_resize_grip`: guint)
@@ -8831,30 +8831,30 @@ proc gtk_statusbar_set_has_resize_grip*(statusbar: PGtkStatusbar,
 proc gtk_statusbar_get_has_resize_grip*(statusbar: PGtkStatusbar): gboolean{.
     cdecl, dynlib: gtklib, importc: "gtk_statusbar_get_has_resize_grip".}
 const
-  bm_TGtkTable_homogeneous* = 0x00000001
-  bp_TGtkTable_homogeneous* = 0
-  bm_TGtkTableChild_xexpand* = 0x00000001
-  bp_TGtkTableChild_xexpand* = 0
-  bm_TGtkTableChild_yexpand* = 0x00000002
-  bp_TGtkTableChild_yexpand* = 1
-  bm_TGtkTableChild_xshrink* = 0x00000004
-  bp_TGtkTableChild_xshrink* = 2
-  bm_TGtkTableChild_yshrink* = 0x00000008
-  bp_TGtkTableChild_yshrink* = 3
-  bm_TGtkTableChild_xfill* = 0x00000010
-  bp_TGtkTableChild_xfill* = 4
-  bm_TGtkTableChild_yfill* = 0x00000020
-  bp_TGtkTableChild_yfill* = 5
-  bm_TGtkTableRowCol_need_expand* = 0x00000001
-  bp_TGtkTableRowCol_need_expand* = 0
-  bm_TGtkTableRowCol_need_shrink* = 0x00000002
-  bp_TGtkTableRowCol_need_shrink* = 1
-  bm_TGtkTableRowCol_expand* = 0x00000004
-  bp_TGtkTableRowCol_expand* = 2
-  bm_TGtkTableRowCol_shrink* = 0x00000008
-  bp_TGtkTableRowCol_shrink* = 3
-  bm_TGtkTableRowCol_empty* = 0x00000010
-  bp_TGtkTableRowCol_empty* = 4
+  bm_TGtkTable_homogeneous* = 0x00000001'i16
+  bp_TGtkTable_homogeneous* = 0'i16
+  bm_TGtkTableChild_xexpand* = 0x00000001'i16
+  bp_TGtkTableChild_xexpand* = 0'i16
+  bm_TGtkTableChild_yexpand* = 0x00000002'i16
+  bp_TGtkTableChild_yexpand* = 1'i16
+  bm_TGtkTableChild_xshrink* = 0x00000004'i16
+  bp_TGtkTableChild_xshrink* = 2'i16
+  bm_TGtkTableChild_yshrink* = 0x00000008'i16
+  bp_TGtkTableChild_yshrink* = 3'i16
+  bm_TGtkTableChild_xfill* = 0x00000010'i16
+  bp_TGtkTableChild_xfill* = 4'i16
+  bm_TGtkTableChild_yfill* = 0x00000020'i16
+  bp_TGtkTableChild_yfill* = 5'i16
+  bm_TGtkTableRowCol_need_expand* = 0x00000001'i16
+  bp_TGtkTableRowCol_need_expand* = 0'i16
+  bm_TGtkTableRowCol_need_shrink* = 0x00000002'i16
+  bp_TGtkTableRowCol_need_shrink* = 1'i16
+  bm_TGtkTableRowCol_expand* = 0x00000004'i16
+  bp_TGtkTableRowCol_expand* = 2'i16
+  bm_TGtkTableRowCol_shrink* = 0x00000008'i16
+  bp_TGtkTableRowCol_shrink* = 3'i16
+  bm_TGtkTableRowCol_empty* = 0x00000010'i16
+  bp_TGtkTableRowCol_empty* = 4'i16
 
 proc GTK_TYPE_TABLE*(): GType
 proc GTK_TABLE*(obj: pointer): PGtkTable
@@ -8923,8 +8923,8 @@ proc gtk_table_set_homogeneous*(table: PGtkTable, homogeneous: gboolean){.cdecl,
 proc gtk_table_get_homogeneous*(table: PGtkTable): gboolean{.cdecl,
     dynlib: gtklib, importc: "gtk_table_get_homogeneous".}
 const
-  bm_TGtkTearoffMenuItem_torn_off* = 0x00000001
-  bp_TGtkTearoffMenuItem_torn_off* = 0
+  bm_TGtkTearoffMenuItem_torn_off* = 0x00000001'i16
+  bp_TGtkTearoffMenuItem_torn_off* = 0'i16
 
 proc GTK_TYPE_TEAROFF_MENU_ITEM*(): GType
 proc GTK_TEAROFF_MENU_ITEM*(obj: pointer): PGtkTearoffMenuItem
@@ -8939,12 +8939,12 @@ proc gtk_tearoff_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
 proc gtk_tearoff_menu_item_new*(): PGtkWidget{.cdecl, dynlib: gtklib,
     importc: "gtk_tearoff_menu_item_new".}
 const
-  bm_TGtkText_line_wrap* = 0x00000001
-  bp_TGtkText_line_wrap* = 0
-  bm_TGtkText_word_wrap* = 0x00000002
-  bp_TGtkText_word_wrap* = 1
-  bm_TGtkText_use_wchar* = 0x00000004
-  bp_TGtkText_use_wchar* = 2
+  bm_TGtkText_line_wrap* = 0x00000001'i16
+  bp_TGtkText_line_wrap* = 0'i16
+  bm_TGtkText_word_wrap* = 0x00000002'i16
+  bp_TGtkText_word_wrap* = 1'i16
+  bm_TGtkText_use_wchar* = 0x00000004'i16
+  bp_TGtkText_use_wchar* = 2'i16
 
 proc GTK_TYPE_TEXT*(): GType
 proc GTK_TEXT*(obj: pointer): PGtkText
@@ -9199,54 +9199,54 @@ proc gtk_text_attributes_ref*(values: PGtkTextAttributes){.cdecl,
 proc gtk_text_attributes_get_type*(): GType{.cdecl, dynlib: gtklib,
     importc: "gtk_text_attributes_get_type".}
 const
-  bm_TGtkTextTag_bg_color_set* = 0x00000001
-  bp_TGtkTextTag_bg_color_set* = 0
-  bm_TGtkTextTag_bg_stipple_set* = 0x00000002
-  bp_TGtkTextTag_bg_stipple_set* = 1
-  bm_TGtkTextTag_fg_color_set* = 0x00000004
-  bp_TGtkTextTag_fg_color_set* = 2
-  bm_TGtkTextTag_scale_set* = 0x00000008
-  bp_TGtkTextTag_scale_set* = 3
-  bm_TGtkTextTag_fg_stipple_set* = 0x00000010
-  bp_TGtkTextTag_fg_stipple_set* = 4
-  bm_TGtkTextTag_justification_set* = 0x00000020
-  bp_TGtkTextTag_justification_set* = 5
-  bm_TGtkTextTag_left_margin_set* = 0x00000040
-  bp_TGtkTextTag_left_margin_set* = 6
-  bm_TGtkTextTag_indent_set* = 0x00000080
-  bp_TGtkTextTag_indent_set* = 7
-  bm_TGtkTextTag_rise_set* = 0x00000100
-  bp_TGtkTextTag_rise_set* = 8
-  bm_TGtkTextTag_strikethrough_set* = 0x00000200
-  bp_TGtkTextTag_strikethrough_set* = 9
-  bm_TGtkTextTag_right_margin_set* = 0x00000400
-  bp_TGtkTextTag_right_margin_set* = 10
-  bm_TGtkTextTag_pixels_above_lines_set* = 0x00000800
-  bp_TGtkTextTag_pixels_above_lines_set* = 11
-  bm_TGtkTextTag_pixels_below_lines_set* = 0x00001000
-  bp_TGtkTextTag_pixels_below_lines_set* = 12
-  bm_TGtkTextTag_pixels_inside_wrap_set* = 0x00002000
-  bp_TGtkTextTag_pixels_inside_wrap_set* = 13
-  bm_TGtkTextTag_tabs_set* = 0x00004000
-  bp_TGtkTextTag_tabs_set* = 14
-  bm_TGtkTextTag_underline_set* = 0x00008000
-  bp_TGtkTextTag_underline_set* = 15
-  bm_TGtkTextTag_wrap_mode_set* = 0x00010000
-  bp_TGtkTextTag_wrap_mode_set* = 16
-  bm_TGtkTextTag_bg_full_height_set* = 0x00020000
-  bp_TGtkTextTag_bg_full_height_set* = 17
-  bm_TGtkTextTag_invisible_set* = 0x00040000
-  bp_TGtkTextTag_invisible_set* = 18
-  bm_TGtkTextTag_editable_set* = 0x00080000
-  bp_TGtkTextTag_editable_set* = 19
-  bm_TGtkTextTag_language_set* = 0x00100000
-  bp_TGtkTextTag_language_set* = 20
-  bm_TGtkTextTag_pad1* = 0x00200000
-  bp_TGtkTextTag_pad1* = 21
-  bm_TGtkTextTag_pad2* = 0x00400000
-  bp_TGtkTextTag_pad2* = 22
-  bm_TGtkTextTag_pad3* = 0x00800000
-  bp_TGtkTextTag_pad3* = 23
+  bm_TGtkTextTag_bg_color_set* = 0x00000001'i32
+  bp_TGtkTextTag_bg_color_set* = 0'i32
+  bm_TGtkTextTag_bg_stipple_set* = 0x00000002'i32
+  bp_TGtkTextTag_bg_stipple_set* = 1'i32
+  bm_TGtkTextTag_fg_color_set* = 0x00000004'i32
+  bp_TGtkTextTag_fg_color_set* = 2'i32
+  bm_TGtkTextTag_scale_set* = 0x00000008'i32
+  bp_TGtkTextTag_scale_set* = 3'i32
+  bm_TGtkTextTag_fg_stipple_set* = 0x00000010'i32
+  bp_TGtkTextTag_fg_stipple_set* = 4'i32
+  bm_TGtkTextTag_justification_set* = 0x00000020'i32
+  bp_TGtkTextTag_justification_set* = 5'i32
+  bm_TGtkTextTag_left_margin_set* = 0x00000040'i32
+  bp_TGtkTextTag_left_margin_set* = 6'i32
+  bm_TGtkTextTag_indent_set* = 0x00000080'i32
+  bp_TGtkTextTag_indent_set* = 7'i32
+  bm_TGtkTextTag_rise_set* = 0x00000100'i32
+  bp_TGtkTextTag_rise_set* = 8'i32
+  bm_TGtkTextTag_strikethrough_set* = 0x00000200'i32
+  bp_TGtkTextTag_strikethrough_set* = 9'i32
+  bm_TGtkTextTag_right_margin_set* = 0x00000400'i32
+  bp_TGtkTextTag_right_margin_set* = 10'i32
+  bm_TGtkTextTag_pixels_above_lines_set* = 0x00000800'i32
+  bp_TGtkTextTag_pixels_above_lines_set* = 11'i32
+  bm_TGtkTextTag_pixels_below_lines_set* = 0x00001000'i32
+  bp_TGtkTextTag_pixels_below_lines_set* = 12'i32
+  bm_TGtkTextTag_pixels_inside_wrap_set* = 0x00002000'i32
+  bp_TGtkTextTag_pixels_inside_wrap_set* = 13'i32
+  bm_TGtkTextTag_tabs_set* = 0x00004000'i32
+  bp_TGtkTextTag_tabs_set* = 14'i32
+  bm_TGtkTextTag_underline_set* = 0x00008000'i32
+  bp_TGtkTextTag_underline_set* = 15'i32
+  bm_TGtkTextTag_wrap_mode_set* = 0x00010000'i32
+  bp_TGtkTextTag_wrap_mode_set* = 16'i32
+  bm_TGtkTextTag_bg_full_height_set* = 0x00020000'i32
+  bp_TGtkTextTag_bg_full_height_set* = 17'i32
+  bm_TGtkTextTag_invisible_set* = 0x00040000'i32
+  bp_TGtkTextTag_invisible_set* = 18'i32
+  bm_TGtkTextTag_editable_set* = 0x00080000'i32
+  bp_TGtkTextTag_editable_set* = 19'i32
+  bm_TGtkTextTag_language_set* = 0x00100000'i32
+  bp_TGtkTextTag_language_set* = 20'i32
+  bm_TGtkTextTag_pad1* = 0x00200000'i32
+  bp_TGtkTextTag_pad1* = 21'i32
+  bm_TGtkTextTag_pad2* = 0x00400000'i32
+  bp_TGtkTextTag_pad2* = 22'i32
+  bm_TGtkTextTag_pad3* = 0x00800000'i32
+  bp_TGtkTextTag_pad3* = 23'i32
 
 proc bg_color_set*(a: var TGtkTextTag): guint
 proc set_bg_color_set*(a: var TGtkTextTag, `bg_color_set`: guint)
@@ -9300,24 +9300,24 @@ proc set_pad2*(a: var TGtkTextTag, `pad2`: guint)
 proc pad3*(a: var TGtkTextTag): guint
 proc set_pad3*(a: var TGtkTextTag, `pad3`: guint)
 const
-  bm_TGtkTextAppearance_underline* = 0x0000000F
-  bp_TGtkTextAppearance_underline* = 0
-  bm_TGtkTextAppearance_strikethrough* = 0x00000010
-  bp_TGtkTextAppearance_strikethrough* = 4
-  bm_TGtkTextAppearance_draw_bg* = 0x00000020
-  bp_TGtkTextAppearance_draw_bg* = 5
-  bm_TGtkTextAppearance_inside_selection* = 0x00000040
-  bp_TGtkTextAppearance_inside_selection* = 6
-  bm_TGtkTextAppearance_is_text* = 0x00000080
-  bp_TGtkTextAppearance_is_text* = 7
-  bm_TGtkTextAppearance_pad1* = 0x00000100
-  bp_TGtkTextAppearance_pad1* = 8
-  bm_TGtkTextAppearance_pad2* = 0x00000200
-  bp_TGtkTextAppearance_pad2* = 9
-  bm_TGtkTextAppearance_pad3* = 0x00000400
-  bp_TGtkTextAppearance_pad3* = 10
-  bm_TGtkTextAppearance_pad4* = 0x00000800
-  bp_TGtkTextAppearance_pad4* = 11
+  bm_TGtkTextAppearance_underline* = 0x0000000F'i16
+  bp_TGtkTextAppearance_underline* = 0'i16
+  bm_TGtkTextAppearance_strikethrough* = 0x00000010'i16
+  bp_TGtkTextAppearance_strikethrough* = 4'i16
+  bm_TGtkTextAppearance_draw_bg* = 0x00000020'i16
+  bp_TGtkTextAppearance_draw_bg* = 5'i16
+  bm_TGtkTextAppearance_inside_selection* = 0x00000040'i16
+  bp_TGtkTextAppearance_inside_selection* = 6'i16
+  bm_TGtkTextAppearance_is_text* = 0x00000080'i16
+  bp_TGtkTextAppearance_is_text* = 7'i16
+  bm_TGtkTextAppearance_pad1* = 0x00000100'i16
+  bp_TGtkTextAppearance_pad1* = 8'i16
+  bm_TGtkTextAppearance_pad2* = 0x00000200'i16
+  bp_TGtkTextAppearance_pad2* = 9'i16
+  bm_TGtkTextAppearance_pad3* = 0x00000400'i16
+  bp_TGtkTextAppearance_pad3* = 10'i16
+  bm_TGtkTextAppearance_pad4* = 0x00000800'i16
+  bp_TGtkTextAppearance_pad4* = 11'i16
 
 proc underline*(a: var TGtkTextAppearance): guint
 proc set_underline*(a: var TGtkTextAppearance, `underline`: guint)
@@ -9338,22 +9338,22 @@ proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint)
 proc pad4*(a: var TGtkTextAppearance): guint
 proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint)
 const
-  bm_TGtkTextAttributes_invisible* = 0x00000001
-  bp_TGtkTextAttributes_invisible* = 0
-  bm_TGtkTextAttributes_bg_full_height* = 0x00000002
-  bp_TGtkTextAttributes_bg_full_height* = 1
-  bm_TGtkTextAttributes_editable* = 0x00000004
-  bp_TGtkTextAttributes_editable* = 2
-  bm_TGtkTextAttributes_realized* = 0x00000008
-  bp_TGtkTextAttributes_realized* = 3
-  bm_TGtkTextAttributes_pad1* = 0x00000010
-  bp_TGtkTextAttributes_pad1* = 4
-  bm_TGtkTextAttributes_pad2* = 0x00000020
-  bp_TGtkTextAttributes_pad2* = 5
-  bm_TGtkTextAttributes_pad3* = 0x00000040
-  bp_TGtkTextAttributes_pad3* = 6
-  bm_TGtkTextAttributes_pad4* = 0x00000080
-  bp_TGtkTextAttributes_pad4* = 7
+  bm_TGtkTextAttributes_invisible* = 0x00000001'i16
+  bp_TGtkTextAttributes_invisible* = 0'i16
+  bm_TGtkTextAttributes_bg_full_height* = 0x00000002'i16
+  bp_TGtkTextAttributes_bg_full_height* = 1'i16
+  bm_TGtkTextAttributes_editable* = 0x00000004'i16
+  bp_TGtkTextAttributes_editable* = 2'i16
+  bm_TGtkTextAttributes_realized* = 0x00000008'i16
+  bp_TGtkTextAttributes_realized* = 3'i16
+  bm_TGtkTextAttributes_pad1* = 0x00000010'i16
+  bp_TGtkTextAttributes_pad1* = 4'i16
+  bm_TGtkTextAttributes_pad2* = 0x00000020'i16
+  bp_TGtkTextAttributes_pad2* = 5'i16
+  bm_TGtkTextAttributes_pad3* = 0x00000040'i16
+  bp_TGtkTextAttributes_pad3* = 6'i16
+  bm_TGtkTextAttributes_pad4* = 0x00000080'i16
+  bp_TGtkTextAttributes_pad4* = 7'i16
 
 proc invisible*(a: var TGtkTextAttributes): guint
 proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint)
@@ -9418,10 +9418,10 @@ proc gtk_text_mark_get_buffer*(mark: PGtkTextMark): PGtkTextBuffer{.cdecl,
 proc gtk_text_mark_get_left_gravity*(mark: PGtkTextMark): gboolean{.cdecl,
     dynlib: gtklib, importc: "gtk_text_mark_get_left_gravity".}
 const
-  bm_TGtkTextMarkBody_visible* = 0x00000001
-  bp_TGtkTextMarkBody_visible* = 0
-  bm_TGtkTextMarkBody_not_deleteable* = 0x00000002
-  bp_TGtkTextMarkBody_not_deleteable* = 1
+  bm_TGtkTextMarkBody_visible* = 0x00000001'i16
+  bp_TGtkTextMarkBody_visible* = 0'i16
+  bm_TGtkTextMarkBody_not_deleteable* = 0x00000002'i16
+  bp_TGtkTextMarkBody_not_deleteable* = 1'i16
 
 proc visible*(a: var TGtkTextMarkBody): guint
 proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint)
@@ -9607,10 +9607,10 @@ proc gtk_text_btree_first_could_contain_tag*(tree: PGtkTextBTree,
 proc gtk_text_btree_last_could_contain_tag*(tree: PGtkTextBTree,
     tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_last_could_contain_tag".}
 const
-  bm_TGtkTextLineData_width* = 0x00FFFFFF
-  bp_TGtkTextLineData_width* = 0
-  bm_TGtkTextLineData_valid* = 0xFF000000
-  bp_TGtkTextLineData_valid* = 24
+  bm_TGtkTextLineData_width* = 0x00FFFFFF'i32
+  bp_TGtkTextLineData_width* = 0'i32
+  bm_TGtkTextLineData_valid* = 0xFF000000'i32
+  bp_TGtkTextLineData_valid* = 24'i32
 
 proc width*(a: PGtkTextLineData): gint
 proc set_width*(a: PGtkTextLineData, NewWidth: gint)
@@ -9694,8 +9694,8 @@ proc gtk_text_btree_notify_will_remove_tag*(tree: PGtkTextBTree,
     tag: PGtkTextTag){.cdecl, dynlib: gtklib,
                        importc: "_gtk_text_btree_notify_will_remove_tag".}
 const
-  bm_TGtkTextBuffer_modified* = 0x00000001
-  bp_TGtkTextBuffer_modified* = 0
+  bm_TGtkTextBuffer_modified* = 0x00000001'i16
+  bp_TGtkTextBuffer_modified* = 0'i16
 
 proc GTK_TYPE_TEXT_BUFFER*(): GType
 proc GTK_TEXT_BUFFER*(obj: pointer): PGtkTextBuffer
@@ -9869,20 +9869,20 @@ proc GTK_IS_TEXT_LAYOUT*(obj: pointer): bool
 proc GTK_IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool
 proc GTK_TEXT_LAYOUT_GET_CLASS*(obj: pointer): PGtkTextLayoutClass
 const
-  bm_TGtkTextLayout_cursor_visible* = 0x00000001
-  bp_TGtkTextLayout_cursor_visible* = 0
-  bm_TGtkTextLayout_cursor_direction* = 0x00000006
-  bp_TGtkTextLayout_cursor_direction* = 1
+  bm_TGtkTextLayout_cursor_visible* = 0x00000001'i16
+  bp_TGtkTextLayout_cursor_visible* = 0'i16
+  bm_TGtkTextLayout_cursor_direction* = 0x00000006'i16
+  bp_TGtkTextLayout_cursor_direction* = 1'i16
 
 proc cursor_visible*(a: var TGtkTextLayout): guint
 proc set_cursor_visible*(a: var TGtkTextLayout, `cursor_visible`: guint)
 proc cursor_direction*(a: var TGtkTextLayout): gint
 proc set_cursor_direction*(a: var TGtkTextLayout, `cursor_direction`: gint)
 const
-  bm_TGtkTextCursorDisplay_is_strong* = 0x00000001
-  bp_TGtkTextCursorDisplay_is_strong* = 0
-  bm_TGtkTextCursorDisplay_is_weak* = 0x00000002
-  bp_TGtkTextCursorDisplay_is_weak* = 1
+  bm_TGtkTextCursorDisplay_is_strong* = 0x00000001'i16
+  bp_TGtkTextCursorDisplay_is_strong* = 0'i16
+  bm_TGtkTextCursorDisplay_is_weak* = 0x00000002'i16
+  bp_TGtkTextCursorDisplay_is_weak* = 1'i16
 
 proc is_strong*(a: var TGtkTextCursorDisplay): guint
 proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint)
@@ -10012,22 +10012,22 @@ proc gtk_text_anchored_child_set_layout*(child: PGtkWidget,
 proc gtk_text_layout_spew*(layout: PGtkTextLayout){.cdecl, dynlib: gtklib,
     importc: "gtk_text_layout_spew".}
 const # GTK_TEXT_VIEW_PRIORITY_VALIDATE* = GDK_PRIORITY_REDRAW + 5
-  bm_TGtkTextView_editable* = 0x00000001
-  bp_TGtkTextView_editable* = 0
-  bm_TGtkTextView_overwrite_mode* = 0x00000002
-  bp_TGtkTextView_overwrite_mode* = 1
-  bm_TGtkTextView_cursor_visible* = 0x00000004
-  bp_TGtkTextView_cursor_visible* = 2
-  bm_TGtkTextView_need_im_reset* = 0x00000008
-  bp_TGtkTextView_need_im_reset* = 3
-  bm_TGtkTextView_just_selected_element* = 0x00000010
-  bp_TGtkTextView_just_selected_element* = 4
-  bm_TGtkTextView_disable_scroll_on_focus* = 0x00000020
-  bp_TGtkTextView_disable_scroll_on_focus* = 5
-  bm_TGtkTextView_onscreen_validated* = 0x00000040
-  bp_TGtkTextView_onscreen_validated* = 6
-  bm_TGtkTextView_mouse_cursor_obscured* = 0x00000080
-  bp_TGtkTextView_mouse_cursor_obscured* = 7
+  bm_TGtkTextView_editable* = 0x00000001'i16
+  bp_TGtkTextView_editable* = 0'i16
+  bm_TGtkTextView_overwrite_mode* = 0x00000002'i16
+  bp_TGtkTextView_overwrite_mode* = 1'i16
+  bm_TGtkTextView_cursor_visible* = 0x00000004'i16
+  bp_TGtkTextView_cursor_visible* = 2'i16
+  bm_TGtkTextView_need_im_reset* = 0x00000008'i16
+  bp_TGtkTextView_need_im_reset* = 3'i16
+  bm_TGtkTextView_just_selected_element* = 0x00000010'i16
+  bp_TGtkTextView_just_selected_element* = 4'i16
+  bm_TGtkTextView_disable_scroll_on_focus* = 0x00000020'i16
+  bp_TGtkTextView_disable_scroll_on_focus* = 5'i16
+  bm_TGtkTextView_onscreen_validated* = 0x00000040'i16
+  bp_TGtkTextView_onscreen_validated* = 6'i16
+  bm_TGtkTextView_mouse_cursor_obscured* = 0x00000080'i16
+  bp_TGtkTextView_mouse_cursor_obscured* = 7'i16
 
 proc GTK_TYPE_TEXT_VIEW*(): GType
 proc GTK_TEXT_VIEW*(obj: pointer): PGtkTextView
@@ -10193,10 +10193,10 @@ proc gtk_text_view_get_tabs*(text_view: PGtkTextView): PPangoTabArray{.cdecl,
 proc gtk_text_view_get_default_attributes*(text_view: PGtkTextView): PGtkTextAttributes{.
     cdecl, dynlib: gtklib, importc: "gtk_text_view_get_default_attributes".}
 const
-  bm_TGtkTipsQuery_emit_always* = 0x00000001
-  bp_TGtkTipsQuery_emit_always* = 0
-  bm_TGtkTipsQuery_in_query* = 0x00000002
-  bp_TGtkTipsQuery_in_query* = 1
+  bm_TGtkTipsQuery_emit_always* = 0x00000001'i16
+  bp_TGtkTipsQuery_emit_always* = 0'i16
+  bm_TGtkTipsQuery_in_query* = 0x00000002'i16
+  bp_TGtkTipsQuery_in_query* = 1'i16
 
 proc GTK_TYPE_TIPS_QUERY*(): GType
 proc GTK_TIPS_QUERY*(obj: pointer): PGtkTipsQuery
@@ -10222,14 +10222,14 @@ proc gtk_tips_query_set_labels*(tips_query: PGtkTipsQuery,
                                 label_inactive: cstring, label_no_tip: cstring){.
     cdecl, dynlib: gtklib, importc: "gtk_tips_query_set_labels".}
 const
-  bm_TGtkTooltips_delay* = 0x3FFFFFFF
-  bp_TGtkTooltips_delay* = 0
-  bm_TGtkTooltips_enabled* = 0x40000000
-  bp_TGtkTooltips_enabled* = 30
-  bm_TGtkTooltips_have_grab* = 0x80000000
-  bp_TGtkTooltips_have_grab* = 31
-  bm_TGtkTooltips_use_sticky_delay* = 0x00000001
-  bp_TGtkTooltips_use_sticky_delay* = 0
+  bm_TGtkTooltips_delay* = 0x3FFFFFFF'i32
+  bp_TGtkTooltips_delay* = 0'i32
+  bm_TGtkTooltips_enabled* = 0x40000000'i32
+  bp_TGtkTooltips_enabled* = 30'i32
+  bm_TGtkTooltips_have_grab* = 0x80000000'i32
+  bp_TGtkTooltips_have_grab* = 31'i32
+  bm_TGtkTooltips_use_sticky_delay* = 0x00000001'i32
+  bp_TGtkTooltips_use_sticky_delay* = 0'i32
 
 proc GTK_TYPE_TOOLTIPS*(): GType
 proc GTK_TOOLTIPS*(obj: pointer): PGtkTooltips
@@ -10263,10 +10263,10 @@ proc gtk_tooltips_force_window*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib,
 proc gtk_tooltips_toggle_keyboard_mode*(widget: PGtkWidget){.cdecl,
     dynlib: gtklib, importc: "_gtk_tooltips_toggle_keyboard_mode".}
 const
-  bm_TGtkToolbar_style_set* = 0x00000001
-  bp_TGtkToolbar_style_set* = 0
-  bm_TGtkToolbar_icon_size_set* = 0x00000002
-  bp_TGtkToolbar_icon_size_set* = 1
+  bm_TGtkToolbar_style_set* = 0x00000001'i16
+  bp_TGtkToolbar_style_set* = 0'i16
+  bm_TGtkToolbar_icon_size_set* = 0x00000002'i16
+  bp_TGtkToolbar_icon_size_set* = 1'i16
 
 proc GTK_TYPE_TOOLBAR*(): GType
 proc GTK_TOOLBAR*(obj: pointer): PGtkToolbar
@@ -10370,12 +10370,12 @@ proc gtk_toolbar_get_icon_size*(toolbar: PGtkToolbar): TGtkIconSize{.cdecl,
 proc gtk_toolbar_get_tooltips*(toolbar: PGtkToolbar): gboolean{.cdecl,
     dynlib: gtklib, importc: "gtk_toolbar_get_tooltips".}
 const
-  bm_TGtkTree_selection_mode* = 0x00000003
-  bp_TGtkTree_selection_mode* = 0
-  bm_TGtkTree_view_mode* = 0x00000004
-  bp_TGtkTree_view_mode* = 2
-  bm_TGtkTree_view_line* = 0x00000008
-  bp_TGtkTree_view_line* = 3
+  bm_TGtkTree_selection_mode* = 0x00000003'i16
+  bp_TGtkTree_selection_mode* = 0'i16
+  bm_TGtkTree_view_mode* = 0x00000004'i16
+  bp_TGtkTree_view_mode* = 2'i16
+  bm_TGtkTree_view_line* = 0x00000008'i16
+  bp_TGtkTree_view_line* = 3'i16
 
 proc GTK_TYPE_TREE*(): GType
 proc GTK_TREE*(obj: pointer): PGtkTree
@@ -10452,8 +10452,8 @@ proc gtk_tree_set_row_drag_data*(selection_data: PGtkSelectionData,
                                  tree_model: PGtkTreeModel, path: PGtkTreePath): gboolean{.
     cdecl, dynlib: gtklib, importc: "gtk_tree_set_row_drag_data".}
 const
-  bm_TGtkTreeItem_expanded* = 0x00000001
-  bp_TGtkTreeItem_expanded* = 0
+  bm_TGtkTreeItem_expanded* = 0x00000001'i16
+  bp_TGtkTreeItem_expanded* = 0'i16
 
 proc GTK_TYPE_TREE_ITEM*(): GType
 proc GTK_TREE_ITEM*(obj: pointer): PGtkTreeItem
@@ -10535,8 +10535,8 @@ proc gtk_tree_selection_select_range*(selection: PGtkTreeSelection,
                                       end_path: PGtkTreePath){.cdecl,
     dynlib: gtklib, importc: "gtk_tree_selection_select_range".}
 const
-  bm_TGtkTreeStore_columns_dirty* = 0x00000001
-  bp_TGtkTreeStore_columns_dirty* = 0
+  bm_TGtkTreeStore_columns_dirty* = 0x00000001'i16
+  bp_TGtkTreeStore_columns_dirty* = 0'i16
 
 proc GTK_TYPE_TREE_STORE*(): GType
 proc GTK_TREE_STORE*(obj: pointer): PGtkTreeStore
@@ -10582,22 +10582,22 @@ proc gtk_tree_store_iter_depth*(tree_store: PGtkTreeStore, iter: PGtkTreeIter):
 proc gtk_tree_store_clear*(tree_store: PGtkTreeStore){.cdecl, dynlib: gtklib,
     importc: "gtk_tree_store_clear".}
 const
-  bm_TGtkTreeViewColumn_visible* = 0x00000001
-  bp_TGtkTreeViewColumn_visible* = 0
-  bm_TGtkTreeViewColumn_resizable* = 0x00000002
-  bp_TGtkTreeViewColumn_resizable* = 1
-  bm_TGtkTreeViewColumn_clickable* = 0x00000004
-  bp_TGtkTreeViewColumn_clickable* = 2
-  bm_TGtkTreeViewColumn_dirty* = 0x00000008
-  bp_TGtkTreeViewColumn_dirty* = 3
-  bm_TGtkTreeViewColumn_show_sort_indicator* = 0x00000010
-  bp_TGtkTreeViewColumn_show_sort_indicator* = 4
-  bm_TGtkTreeViewColumn_maybe_reordered* = 0x00000020
-  bp_TGtkTreeViewColumn_maybe_reordered* = 5
-  bm_TGtkTreeViewColumn_reorderable* = 0x00000040
-  bp_TGtkTreeViewColumn_reorderable* = 6
-  bm_TGtkTreeViewColumn_use_resized_width* = 0x00000080
-  bp_TGtkTreeViewColumn_use_resized_width* = 7
+  bm_TGtkTreeViewColumn_visible* = 0x00000001'i16
+  bp_TGtkTreeViewColumn_visible* = 0'i16
+  bm_TGtkTreeViewColumn_resizable* = 0x00000002'i16
+  bp_TGtkTreeViewColumn_resizable* = 1'i16
+  bm_TGtkTreeViewColumn_clickable* = 0x00000004'i16
+  bp_TGtkTreeViewColumn_clickable* = 2'i16
+  bm_TGtkTreeViewColumn_dirty* = 0x00000008'i16
+  bp_TGtkTreeViewColumn_dirty* = 3'i16
+  bm_TGtkTreeViewColumn_show_sort_indicator* = 0x00000010'i16
+  bp_TGtkTreeViewColumn_show_sort_indicator* = 4'i16
+  bm_TGtkTreeViewColumn_maybe_reordered* = 0x00000020'i16
+  bp_TGtkTreeViewColumn_maybe_reordered* = 5'i16
+  bm_TGtkTreeViewColumn_reorderable* = 0x00000040'i16
+  bp_TGtkTreeViewColumn_reorderable* = 6'i16
+  bm_TGtkTreeViewColumn_use_resized_width* = 0x00000080'i16
+  bp_TGtkTreeViewColumn_use_resized_width* = 7'i16
 
 proc GTK_TYPE_TREE_VIEW_COLUMN*(): GType
 proc GTK_TREE_VIEW_COLUMN*(obj: pointer): PGtkTreeViewColumn
@@ -10760,10 +10760,10 @@ const
       GTK_RBNODE_COLUMN_INVALID or GTK_RBNODE_DESCENDANTS_INVALID
 
 const
-  bm_TGtkRBNode_flags* = 0x00003FFF
-  bp_TGtkRBNode_flags* = 0
-  bm_TGtkRBNode_parity* = 0x00004000
-  bp_TGtkRBNode_parity* = 14
+  bm_TGtkRBNode_flags* = 0x00003FFF'i16
+  bp_TGtkRBNode_flags* = 0'i16
+  bm_TGtkRBNode_parity* = 0x00004000'i16
+  bp_TGtkRBNode_parity* = 14'i16
 
 proc flags*(a: PGtkRBNode): guint
 proc set_flags*(a: PGtkRBNode, `flags`: guint)
@@ -10850,24 +10850,24 @@ proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32
 proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PGtkTreeView): bool
 proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PGtkTreeView): int32
 const
-  bm_TGtkTreeViewPrivate_scroll_to_use_align* = 0x00000001
-  bp_TGtkTreeViewPrivate_scroll_to_use_align* = 0
-  bm_TGtkTreeViewPrivate_fixed_height_check* = 0x00000002
-  bp_TGtkTreeViewPrivate_fixed_height_check* = 1
-  bm_TGtkTreeViewPrivate_reorderable* = 0x00000004
-  bp_TGtkTreeViewPrivate_reorderable* = 2
-  bm_TGtkTreeViewPrivate_header_has_focus* = 0x00000008
-  bp_TGtkTreeViewPrivate_header_has_focus* = 3
-  bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x00000070
-  bp_TGtkTreeViewPrivate_drag_column_window_state* = 4
-  bm_TGtkTreeViewPrivate_has_rules* = 0x00000080
-  bp_TGtkTreeViewPrivate_has_rules* = 7
-  bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x00000100
-  bp_TGtkTreeViewPrivate_mark_rows_col_dirty* = 8
-  bm_TGtkTreeViewPrivate_enable_search* = 0x00000200
-  bp_TGtkTreeViewPrivate_enable_search* = 9
-  bm_TGtkTreeViewPrivate_disable_popdown* = 0x00000400
-  bp_TGtkTreeViewPrivate_disable_popdown* = 10
+  bm_TGtkTreeViewPrivate_scroll_to_use_align* = 0x00000001'i16
+  bp_TGtkTreeViewPrivate_scroll_to_use_align* = 0'i16
+  bm_TGtkTreeViewPrivate_fixed_height_check* = 0x00000002'i16
+  bp_TGtkTreeViewPrivate_fixed_height_check* = 1'i16
+  bm_TGtkTreeViewPrivate_reorderable* = 0x00000004'i16
+  bp_TGtkTreeViewPrivate_reorderable* = 2'i16
+  bm_TGtkTreeViewPrivate_header_has_focus* = 0x00000008'i16
+  bp_TGtkTreeViewPrivate_header_has_focus* = 3'i16
+  bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x00000070'i16
+  bp_TGtkTreeViewPrivate_drag_column_window_state* = 4'i16
+  bm_TGtkTreeViewPrivate_has_rules* = 0x00000080'i16
+  bp_TGtkTreeViewPrivate_has_rules* = 7'i16
+  bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x00000100'i16
+  bp_TGtkTreeViewPrivate_mark_rows_col_dirty* = 8'i16
+  bm_TGtkTreeViewPrivate_enable_search* = 0x00000200'i16
+  bp_TGtkTreeViewPrivate_enable_search* = 9'i16
+  bm_TGtkTreeViewPrivate_disable_popdown* = 0x00000400'i16
+  bp_TGtkTreeViewPrivate_disable_popdown* = 10'i16
 
 proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint
 proc set_scroll_to_use_align*(a: var TGtkTreeViewPrivate,
@@ -11259,13 +11259,13 @@ proc GTK_OBJECT_FLAGS*(obj: pointer): guint32 =
   result = (GTK_OBJECT(obj)).flags
 
 proc GTK_OBJECT_FLOATING*(obj: pointer): gboolean =
-  result = ((GTK_OBJECT_FLAGS(obj)) and GTK_FLOATING) != 0
+  result = ((GTK_OBJECT_FLAGS(obj)) and cint(GTK_FLOATING)) != 0'i32
 
 proc GTK_OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) =
-  GTK_OBJECT(obj).flags = GTK_OBJECT(obj).flags or int(flag)
+  GTK_OBJECT(obj).flags = GTK_OBJECT(obj).flags or flag
 
 proc GTK_OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) =
-  GTK_OBJECT(obj) . flags = GTK_OBJECT(obj). flags and not int(flag)
+  GTK_OBJECT(obj) . flags = GTK_OBJECT(obj). flags and not (flag)
 
 proc gtk_object_data_try_key*(`string`: cstring): TGQuark =
   result = g_quark_try_string(`string`)
@@ -11458,61 +11458,61 @@ proc GTK_WIDGET_FLAGS*(wid: pointer): guint32 =
   result = GTK_OBJECT_FLAGS(wid)
 
 proc GTK_WIDGET_TOPLEVEL*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_TOPLEVEL) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_TOPLEVEL)) != 0'i32
 
 proc GTK_WIDGET_NO_WINDOW*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_NO_WINDOW) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_NO_WINDOW)) != 0'i32
 
 proc GTK_WIDGET_REALIZED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_REALIZED) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_REALIZED)) != 0'i32
 
 proc GTK_WIDGET_MAPPED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_MAPPED) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_MAPPED)) != 0'i32
 
 proc GTK_WIDGET_VISIBLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_VISIBLE) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_VISIBLE)) != 0'i32
 
 proc GTK_WIDGET_DRAWABLE*(wid: pointer): gboolean =
   result = (GTK_WIDGET_VISIBLE(wid)) and (GTK_WIDGET_MAPPED(wid))
 
 proc GTK_WIDGET_SENSITIVE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_SENSITIVE) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_SENSITIVE)) != 0'i32
 
 proc GTK_WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_PARENT_SENSITIVE) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_PARENT_SENSITIVE)) != 0'i32
 
 proc GTK_WIDGET_IS_SENSITIVE*(wid: pointer): gboolean =
   result = (GTK_WIDGET_SENSITIVE(wid)) and (GTK_WIDGET_PARENT_SENSITIVE(wid))
 
 proc GTK_WIDGET_CAN_FOCUS*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_CAN_FOCUS) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_FOCUS)) != 0'i32
 
 proc GTK_WIDGET_HAS_FOCUS*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_HAS_FOCUS) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_FOCUS)) != 0'i32
 
 proc GTK_WIDGET_CAN_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_CAN_DEFAULT) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_DEFAULT)) != 0'i32
 
 proc GTK_WIDGET_HAS_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_HAS_DEFAULT) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_DEFAULT)) != 0'i32
 
 proc GTK_WIDGET_HAS_GRAB*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_HAS_GRAB) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_GRAB)) != 0'i32
 
 proc GTK_WIDGET_RC_STYLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_RC_STYLE) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_RC_STYLE)) != 0'i32
 
 proc GTK_WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_COMPOSITE_CHILD) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_COMPOSITE_CHILD)) != 0'i32
 
 proc GTK_WIDGET_APP_PAINTABLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_APP_PAINTABLE) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_APP_PAINTABLE)) != 0'i32
 
 proc GTK_WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_RECEIVES_DEFAULT) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_RECEIVES_DEFAULT)) != 0'i32
 
 proc GTK_WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and GTK_DOUBLE_BUFFERED) != 0
+  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_DOUBLE_BUFFERED)) != 0'i32
 
 proc GTK_TYPE_REQUISITION*(): GType =
   result = gtk_requisition_get_type()
@@ -11523,7 +11523,7 @@ proc x_set*(a: var TGtkWidgetAuxInfo): guint =
 
 proc set_x_set*(a: var TGtkWidgetAuxInfo, `x_set`: guint) =
   a.flag0 = a.flag0 or
-      ((`x_set` shl bp_TGtkWidgetAuxInfo_x_set) and
+      (int16(`x_set` shl bp_TGtkWidgetAuxInfo_x_set) and
       bm_TGtkWidgetAuxInfo_x_set)
 
 proc y_set*(a: var TGtkWidgetAuxInfo): guint =
@@ -11532,7 +11532,7 @@ proc y_set*(a: var TGtkWidgetAuxInfo): guint =
 
 proc set_y_set*(a: var TGtkWidgetAuxInfo, `y_set`: guint) =
   a.flag0 = a.flag0 or
-      ((`y_set` shl bp_TGtkWidgetAuxInfo_y_set) and
+      (int16(`y_set` shl bp_TGtkWidgetAuxInfo_y_set) and
       bm_TGtkWidgetAuxInfo_y_set)
 
 proc gtk_widget_set_visual*(widget, visual: pointer) =
@@ -11554,11 +11554,11 @@ proc gtk_widget_restore_default_style*(widget: pointer) =
   gtk_widget_set_style(cast[PGtkWidget](widget), nil)
 
 proc GTK_WIDGET_SET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags =
-  cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags or int(flags)
+  cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags or (flags)
   result = cast[pGtkObject](wid).flags
 
 proc GTK_WIDGET_UNSET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags =
-  cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags and (not int(flags))
+  cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags and (not (flags))
   result = cast[pGtkObject](wid).flags
 
 proc GTK_TYPE_MISC*(): GType =
@@ -11606,7 +11606,7 @@ proc accel_flags*(a: var TGtkAccelKey): guint =
 
 proc set_accel_flags*(a: var TGtkAccelKey, `accel_flags`: guint) =
   a.flag0 = a.flag0 or
-      ((`accel_flags` shl bp_TGtkAccelKey_accel_flags) and
+      (int16(`accel_flags` shl bp_TGtkAccelKey_accel_flags) and
       bm_TGtkAccelKey_accel_flags)
 
 proc gtk_accel_group_ref*(AccelGroup: PGtkAccelGroup) =
@@ -11635,7 +11635,7 @@ proc GTK_CONTAINER_GET_CLASS*(obj: pointer): PGtkContainerClass =
 
 proc GTK_IS_RESIZE_CONTAINER*(widget: pointer): bool =
   result = (GTK_IS_CONTAINER(widget)) and
-      ((resize_mode(cast[PGtkContainer](widget))) != ord(GTK_RESIZE_PARENT))
+      ((resize_mode(cast[PGtkContainer](widget))) != cint(GTK_RESIZE_PARENT))
 
 proc border_width*(a: var TGtkContainer): guint =
   result = (a.GtkContainer_flag0 and bm_TGtkContainer_border_width) shr
@@ -11918,13 +11918,13 @@ proc jtype*(a: var TGtkLabel): guint =
 
 proc set_jtype*(a: var TGtkLabel, `jtype`: guint) =
   a.GtkLabelflag0 = a.GtkLabelflag0 or
-      ((`jtype` shl bp_TGtkLabel_jtype) and bm_TGtkLabel_jtype)
+      (int16(`jtype` shl bp_TGtkLabel_jtype) and bm_TGtkLabel_jtype)
 
 proc wrap*(a: var TGtkLabel): guint =
   result = (a.GtkLabelflag0 and bm_TGtkLabel_wrap) shr bp_TGtkLabel_wrap
 
 proc set_wrap*(a: var TGtkLabel, `wrap`: guint) =
-  a.GtkLabelflag0 = a.GtkLabelflag0 or ((`wrap` shl bp_TGtkLabel_wrap) and bm_TGtkLabel_wrap)
+  a.GtkLabelflag0 = a.GtkLabelflag0 or (int16(`wrap` shl bp_TGtkLabel_wrap) and bm_TGtkLabel_wrap)
 
 proc use_underline*(a: var TGtkLabel): guint =
   result = (a.GtkLabelflag0 and bm_TGtkLabel_use_underline) shr
@@ -11932,7 +11932,7 @@ proc use_underline*(a: var TGtkLabel): guint =
 
 proc set_use_underline*(a: var TGtkLabel, `use_underline`: guint) =
   a.GtkLabelflag0 = a.GtkLabelflag0 or
-      ((`use_underline` shl bp_TGtkLabel_use_underline) and
+      (int16(`use_underline` shl bp_TGtkLabel_use_underline) and
       bm_TGtkLabel_use_underline)
 
 proc use_markup*(a: var TGtkLabel): guint =
@@ -11940,7 +11940,7 @@ proc use_markup*(a: var TGtkLabel): guint =
 
 proc set_use_markup*(a: var TGtkLabel, `use_markup`: guint) =
   a.GtkLabelflag0 = a.GtkLabelflag0 or
-      ((`use_markup` shl bp_TGtkLabel_use_markup) and bm_TGtkLabel_use_markup)
+      (int16(`use_markup` shl bp_TGtkLabel_use_markup) and bm_TGtkLabel_use_markup)
 
 proc GTK_TYPE_ACCEL_LABEL*(): GType =
   result = gtk_accel_label_get_type()
@@ -11966,7 +11966,7 @@ proc latin1_to_char*(a: var TGtkAccelLabelClass): guint =
 
 proc set_latin1_to_char*(a: var TGtkAccelLabelClass, `latin1_to_char`: guint) =
   a.GtkAccelLabelClassflag0 = a.GtkAccelLabelClassflag0 or
-      ((`latin1_to_char` shl bp_TGtkAccelLabelClass_latin1_to_char) and
+      (int16(`latin1_to_char` shl bp_TGtkAccelLabelClass_latin1_to_char) and
       bm_TGtkAccelLabelClass_latin1_to_char)
 
 proc gtk_accel_label_accelerator_width*(accel_label: PGtkAccelLabel): guint =
@@ -12087,7 +12087,7 @@ proc parsed*(a: var TGtkBindingSet): guint =
 
 proc set_parsed*(a: var TGtkBindingSet, `parsed`: guint) =
   a.flag0 = a.flag0 or
-      ((`parsed` shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed)
+      (int16(`parsed` shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed)
 
 proc destroyed*(a: var TGtkBindingEntry): guint =
   result = (a.flag0 and bm_TGtkBindingEntry_destroyed) shr
@@ -12095,7 +12095,7 @@ proc destroyed*(a: var TGtkBindingEntry): guint =
 
 proc set_destroyed*(a: var TGtkBindingEntry, `destroyed`: guint) =
   a.flag0 = a.flag0 or
-      ((`destroyed` shl bp_TGtkBindingEntry_destroyed) and
+      (int16(`destroyed` shl bp_TGtkBindingEntry_destroyed) and
       bm_TGtkBindingEntry_destroyed)
 
 proc in_emission*(a: var TGtkBindingEntry): guint =
@@ -12104,7 +12104,7 @@ proc in_emission*(a: var TGtkBindingEntry): guint =
 
 proc set_in_emission*(a: var TGtkBindingEntry, `in_emission`: guint) =
   a.flag0 = a.flag0 or
-      ((`in_emission` shl bp_TGtkBindingEntry_in_emission) and
+      (int16(`in_emission` shl bp_TGtkBindingEntry_in_emission) and
       bm_TGtkBindingEntry_in_emission)
 
 proc gtk_binding_entry_add*(binding_set: PGtkBindingSet, keyval: guint,
@@ -12134,28 +12134,28 @@ proc homogeneous*(a: var TGtkBox): guint =
 
 proc set_homogeneous*(a: var TGtkBox, `homogeneous`: guint) =
   a.GtkBoxflag0 = a.GtkBoxflag0 or
-      ((`homogeneous` shl bp_TGtkBox_homogeneous) and bm_TGtkBox_homogeneous)
+      (int16(`homogeneous` shl bp_TGtkBox_homogeneous) and bm_TGtkBox_homogeneous)
 
 proc expand*(a: var TGtkBoxChild): guint =
   result = (a.flag0 and bm_TGtkBoxChild_expand) shr bp_TGtkBoxChild_expand
 
 proc set_expand*(a: var TGtkBoxChild, `expand`: guint) =
   a.flag0 = a.flag0 or
-      ((`expand` shl bp_TGtkBoxChild_expand) and bm_TGtkBoxChild_expand)
+      (int16(`expand` shl bp_TGtkBoxChild_expand) and bm_TGtkBoxChild_expand)
 
 proc fill*(a: var TGtkBoxChild): guint =
   result = (a.flag0 and bm_TGtkBoxChild_fill) shr bp_TGtkBoxChild_fill
 
 proc set_fill*(a: var TGtkBoxChild, `fill`: guint) =
   a.flag0 = a.flag0 or
-      ((`fill` shl bp_TGtkBoxChild_fill) and bm_TGtkBoxChild_fill)
+      (int16(`fill` shl bp_TGtkBoxChild_fill) and bm_TGtkBoxChild_fill)
 
 proc pack*(a: var TGtkBoxChild): guint =
   result = (a.flag0 and bm_TGtkBoxChild_pack) shr bp_TGtkBoxChild_pack
 
 proc set_pack*(a: var TGtkBoxChild, `pack`: guint) =
   a.flag0 = a.flag0 or
-      ((`pack` shl bp_TGtkBoxChild_pack) and bm_TGtkBoxChild_pack)
+      (int16(`pack` shl bp_TGtkBoxChild_pack) and bm_TGtkBoxChild_pack)
 
 proc is_secondary*(a: var TGtkBoxChild): guint =
   result = (a.flag0 and bm_TGtkBoxChild_is_secondary) shr
@@ -12163,7 +12163,7 @@ proc is_secondary*(a: var TGtkBoxChild): guint =
 
 proc set_is_secondary*(a: var TGtkBoxChild, `is_secondary`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_secondary` shl bp_TGtkBoxChild_is_secondary) and
+      (int16(`is_secondary` shl bp_TGtkBoxChild_is_secondary) and
       bm_TGtkBoxChild_is_secondary)
 
 proc GTK_TYPE_BUTTON_BOX*(): GType =
@@ -12214,7 +12214,7 @@ proc constructed*(a: var TGtkButton): guint =
 
 proc set_constructed*(a: var TGtkButton, `constructed`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`constructed` shl bp_TGtkButton_constructed) and
+      (int16(`constructed` shl bp_TGtkButton_constructed) and
       bm_TGtkButton_constructed)
 
 proc in_button*(a: var TGtkButton): guint =
@@ -12222,7 +12222,7 @@ proc in_button*(a: var TGtkButton): guint =
 
 proc set_in_button*(a: var TGtkButton, `in_button`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`in_button` shl bp_TGtkButton_in_button) and bm_TGtkButton_in_button)
+      (int16(`in_button` shl bp_TGtkButton_in_button) and bm_TGtkButton_in_button)
 
 proc button_down*(a: var TGtkButton): guint =
   result = (a.GtkButtonflag0 and bm_TGtkButton_button_down) shr
@@ -12230,7 +12230,7 @@ proc button_down*(a: var TGtkButton): guint =
 
 proc set_button_down*(a: var TGtkButton, `button_down`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`button_down` shl bp_TGtkButton_button_down) and
+      (int16(`button_down` shl bp_TGtkButton_button_down) and
       bm_TGtkButton_button_down)
 
 proc relief*(a: var TGtkButton): guint =
@@ -12238,7 +12238,7 @@ proc relief*(a: var TGtkButton): guint =
 
 proc set_relief*(a: var TGtkButton, `relief`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`relief` shl bp_TGtkButton_relief) and bm_TGtkButton_relief)
+      (int16(`relief` shl bp_TGtkButton_relief) and bm_TGtkButton_relief)
 
 proc use_underline*(a: var TGtkButton): guint =
   result = (a.GtkButtonflag0 and bm_TGtkButton_use_underline) shr
@@ -12246,7 +12246,7 @@ proc use_underline*(a: var TGtkButton): guint =
 
 proc set_use_underline*(a: var TGtkButton, `use_underline`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`use_underline` shl bp_TGtkButton_use_underline) and
+      (int16(`use_underline` shl bp_TGtkButton_use_underline) and
       bm_TGtkButton_use_underline)
 
 proc use_stock*(a: var TGtkButton): guint =
@@ -12254,14 +12254,14 @@ proc use_stock*(a: var TGtkButton): guint =
 
 proc set_use_stock*(a: var TGtkButton, `use_stock`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`use_stock` shl bp_TGtkButton_use_stock) and bm_TGtkButton_use_stock)
+      (int16(`use_stock` shl bp_TGtkButton_use_stock) and bm_TGtkButton_use_stock)
 
 proc depressed*(a: var TGtkButton): guint =
   result = (a.GtkButtonflag0 and bm_TGtkButton_depressed) shr bp_TGtkButton_depressed
 
 proc set_depressed*(a: var TGtkButton, `depressed`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`depressed` shl bp_TGtkButton_depressed) and bm_TGtkButton_depressed)
+      (int16(`depressed` shl bp_TGtkButton_depressed) and bm_TGtkButton_depressed)
 
 proc depress_on_activate*(a: var TGtkButton): guint =
   result = (a.GtkButtonflag0 and bm_TGtkButton_depress_on_activate) shr
@@ -12269,7 +12269,7 @@ proc depress_on_activate*(a: var TGtkButton): guint =
 
 proc set_depress_on_activate*(a: var TGtkButton, `depress_on_activate`: guint) =
   a.GtkButtonflag0 = a.GtkButtonflag0 or
-      ((`depress_on_activate` shl bp_TGtkButton_depress_on_activate) and
+      (int16(`depress_on_activate` shl bp_TGtkButton_depress_on_activate) and
       bm_TGtkButton_depress_on_activate)
 
 proc GTK_TYPE_CALENDAR*(): GType =
@@ -12333,7 +12333,7 @@ proc mode*(a: var TGtkCellRenderer): guint =
 
 proc set_mode*(a: var TGtkCellRenderer, `mode`: guint) =
   a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      ((`mode` shl bp_TGtkCellRenderer_mode) and bm_TGtkCellRenderer_mode)
+      (int16(`mode` shl bp_TGtkCellRenderer_mode) and bm_TGtkCellRenderer_mode)
 
 proc visible*(a: var TGtkCellRenderer): guint =
   result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_visible) shr
@@ -12341,7 +12341,7 @@ proc visible*(a: var TGtkCellRenderer): guint =
 
 proc set_visible*(a: var TGtkCellRenderer, `visible`: guint) =
   a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      ((`visible` shl bp_TGtkCellRenderer_visible) and
+      (int16(`visible` shl bp_TGtkCellRenderer_visible) and
       bm_TGtkCellRenderer_visible)
 
 proc is_expander*(a: var TGtkCellRenderer): guint =
@@ -12350,7 +12350,7 @@ proc is_expander*(a: var TGtkCellRenderer): guint =
 
 proc set_is_expander*(a: var TGtkCellRenderer, `is_expander`: guint) =
   a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      ((`is_expander` shl bp_TGtkCellRenderer_is_expander) and
+      (int16(`is_expander` shl bp_TGtkCellRenderer_is_expander) and
       bm_TGtkCellRenderer_is_expander)
 
 proc is_expanded*(a: var TGtkCellRenderer): guint =
@@ -12359,7 +12359,7 @@ proc is_expanded*(a: var TGtkCellRenderer): guint =
 
 proc set_is_expanded*(a: var TGtkCellRenderer, `is_expanded`: guint) =
   a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      ((`is_expanded` shl bp_TGtkCellRenderer_is_expanded) and
+      (int16(`is_expanded` shl bp_TGtkCellRenderer_is_expanded) and
       bm_TGtkCellRenderer_is_expanded)
 
 proc cell_background_set*(a: var TGtkCellRenderer): guint =
@@ -12369,7 +12369,7 @@ proc cell_background_set*(a: var TGtkCellRenderer): guint =
 proc set_cell_background_set*(a: var TGtkCellRenderer,
                               `cell_background_set`: guint) =
   a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      ((`cell_background_set` shl bp_TGtkCellRenderer_cell_background_set) and
+      (int16(`cell_background_set` shl bp_TGtkCellRenderer_cell_background_set) and
       bm_TGtkCellRenderer_cell_background_set)
 
 proc GTK_TYPE_CELL_RENDERER_TEXT*(): GType =
@@ -12398,7 +12398,7 @@ proc strikethrough*(a: var TGtkCellRendererText): guint =
 
 proc set_strikethrough*(a: var TGtkCellRendererText, `strikethrough`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`strikethrough` shl bp_TGtkCellRendererText_strikethrough) and
+      (int16(`strikethrough` shl bp_TGtkCellRendererText_strikethrough) and
       bm_TGtkCellRendererText_strikethrough)
 
 proc editable*(a: var TGtkCellRendererText): guint =
@@ -12407,7 +12407,7 @@ proc editable*(a: var TGtkCellRendererText): guint =
 
 proc set_editable*(a: var TGtkCellRendererText, `editable`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`editable` shl bp_TGtkCellRendererText_editable) and
+      (int16(`editable` shl bp_TGtkCellRendererText_editable) and
       bm_TGtkCellRendererText_editable)
 
 proc scale_set*(a: var TGtkCellRendererText): guint =
@@ -12416,7 +12416,7 @@ proc scale_set*(a: var TGtkCellRendererText): guint =
 
 proc set_scale_set*(a: var TGtkCellRendererText, `scale_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`scale_set` shl bp_TGtkCellRendererText_scale_set) and
+      (int16(`scale_set` shl bp_TGtkCellRendererText_scale_set) and
       bm_TGtkCellRendererText_scale_set)
 
 proc foreground_set*(a: var TGtkCellRendererText): guint =
@@ -12425,7 +12425,7 @@ proc foreground_set*(a: var TGtkCellRendererText): guint =
 
 proc set_foreground_set*(a: var TGtkCellRendererText, `foreground_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`foreground_set` shl bp_TGtkCellRendererText_foreground_set) and
+      (int16(`foreground_set` shl bp_TGtkCellRendererText_foreground_set) and
       bm_TGtkCellRendererText_foreground_set)
 
 proc background_set*(a: var TGtkCellRendererText): guint =
@@ -12434,7 +12434,7 @@ proc background_set*(a: var TGtkCellRendererText): guint =
 
 proc set_background_set*(a: var TGtkCellRendererText, `background_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`background_set` shl bp_TGtkCellRendererText_background_set) and
+      (int16(`background_set` shl bp_TGtkCellRendererText_background_set) and
       bm_TGtkCellRendererText_background_set)
 
 proc underline_set*(a: var TGtkCellRendererText): guint =
@@ -12443,7 +12443,7 @@ proc underline_set*(a: var TGtkCellRendererText): guint =
 
 proc set_underline_set*(a: var TGtkCellRendererText, `underline_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`underline_set` shl bp_TGtkCellRendererText_underline_set) and
+      (int16(`underline_set` shl bp_TGtkCellRendererText_underline_set) and
       bm_TGtkCellRendererText_underline_set)
 
 proc rise_set*(a: var TGtkCellRendererText): guint =
@@ -12452,7 +12452,7 @@ proc rise_set*(a: var TGtkCellRendererText): guint =
 
 proc set_rise_set*(a: var TGtkCellRendererText, `rise_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`rise_set` shl bp_TGtkCellRendererText_rise_set) and
+      (int16(`rise_set` shl bp_TGtkCellRendererText_rise_set) and
       bm_TGtkCellRendererText_rise_set)
 
 proc strikethrough_set*(a: var TGtkCellRendererText): guint =
@@ -12462,7 +12462,7 @@ proc strikethrough_set*(a: var TGtkCellRendererText): guint =
 proc set_strikethrough_set*(a: var TGtkCellRendererText,
                             `strikethrough_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`strikethrough_set` shl bp_TGtkCellRendererText_strikethrough_set) and
+      (int16(`strikethrough_set` shl bp_TGtkCellRendererText_strikethrough_set) and
       bm_TGtkCellRendererText_strikethrough_set)
 
 proc editable_set*(a: var TGtkCellRendererText): guint =
@@ -12471,7 +12471,7 @@ proc editable_set*(a: var TGtkCellRendererText): guint =
 
 proc set_editable_set*(a: var TGtkCellRendererText, `editable_set`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`editable_set` shl bp_TGtkCellRendererText_editable_set) and
+      (int16(`editable_set` shl bp_TGtkCellRendererText_editable_set) and
       bm_TGtkCellRendererText_editable_set)
 
 proc calc_fixed_height*(a: var TGtkCellRendererText): guint =
@@ -12481,7 +12481,7 @@ proc calc_fixed_height*(a: var TGtkCellRendererText): guint =
 proc set_calc_fixed_height*(a: var TGtkCellRendererText,
                             `calc_fixed_height`: guint) =
   a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      ((`calc_fixed_height` shl bp_TGtkCellRendererText_calc_fixed_height) and
+      (int16(`calc_fixed_height` shl bp_TGtkCellRendererText_calc_fixed_height) and
       bm_TGtkCellRendererText_calc_fixed_height)
 
 proc GTK_TYPE_CELL_RENDERER_TOGGLE*(): GType =
@@ -12511,7 +12511,7 @@ proc active*(a: var TGtkCellRendererToggle): guint =
 
 proc set_active*(a: var TGtkCellRendererToggle, `active`: guint) =
   a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
-      ((`active` shl bp_TGtkCellRendererToggle_active) and
+      (int16(`active` shl bp_TGtkCellRendererToggle_active) and
       bm_TGtkCellRendererToggle_active)
 
 proc activatable*(a: var TGtkCellRendererToggle): guint =
@@ -12520,7 +12520,7 @@ proc activatable*(a: var TGtkCellRendererToggle): guint =
 
 proc set_activatable*(a: var TGtkCellRendererToggle, `activatable`: guint) =
   a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
-      ((`activatable` shl bp_TGtkCellRendererToggle_activatable) and
+      (int16(`activatable` shl bp_TGtkCellRendererToggle_activatable) and
       bm_TGtkCellRendererToggle_activatable)
 
 proc radio*(a: var TGtkCellRendererToggle): guint =
@@ -12529,7 +12529,7 @@ proc radio*(a: var TGtkCellRendererToggle): guint =
 
 proc set_radio*(a: var TGtkCellRendererToggle, `radio`: guint) =
   a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
-      ((`radio` shl bp_TGtkCellRendererToggle_radio) and
+      (int16(`radio` shl bp_TGtkCellRendererToggle_radio) and
       bm_TGtkCellRendererToggle_radio)
 
 proc GTK_TYPE_CELL_RENDERER_PIXBUF*(): GType =
@@ -12596,7 +12596,7 @@ proc show_submenu_indicator*(a: var TGtkMenuItem): guint =
 proc set_show_submenu_indicator*(a: var TGtkMenuItem,
                                  `show_submenu_indicator`: guint) =
   a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      ((`show_submenu_indicator` shl bp_TGtkMenuItem_show_submenu_indicator) and
+      (int16(`show_submenu_indicator` shl bp_TGtkMenuItem_show_submenu_indicator) and
       bm_TGtkMenuItem_show_submenu_indicator)
 
 proc submenu_placement*(a: var TGtkMenuItem): guint =
@@ -12605,7 +12605,7 @@ proc submenu_placement*(a: var TGtkMenuItem): guint =
 
 proc set_submenu_placement*(a: var TGtkMenuItem, `submenu_placement`: guint) =
   a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      ((`submenu_placement` shl bp_TGtkMenuItem_submenu_placement) and
+      (int16(`submenu_placement` shl bp_TGtkMenuItem_submenu_placement) and
       bm_TGtkMenuItem_submenu_placement)
 
 proc submenu_direction*(a: var TGtkMenuItem): guint =
@@ -12614,7 +12614,7 @@ proc submenu_direction*(a: var TGtkMenuItem): guint =
 
 proc set_submenu_direction*(a: var TGtkMenuItem, `submenu_direction`: guint) =
   a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      ((`submenu_direction` shl bp_TGtkMenuItem_submenu_direction) and
+      (int16(`submenu_direction` shl bp_TGtkMenuItem_submenu_direction) and
       bm_TGtkMenuItem_submenu_direction)
 
 proc right_justify*(a: var TGtkMenuItem): guint =
@@ -12623,7 +12623,7 @@ proc right_justify*(a: var TGtkMenuItem): guint =
 
 proc set_right_justify*(a: var TGtkMenuItem, `right_justify`: guint) =
   a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      ((`right_justify` shl bp_TGtkMenuItem_right_justify) and
+      (int16(`right_justify` shl bp_TGtkMenuItem_right_justify) and
       bm_TGtkMenuItem_right_justify)
 
 proc timer_from_keypress*(a: var TGtkMenuItem): guint =
@@ -12632,7 +12632,7 @@ proc timer_from_keypress*(a: var TGtkMenuItem): guint =
 
 proc set_timer_from_keypress*(a: var TGtkMenuItem, `timer_from_keypress`: guint) =
   a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      ((`timer_from_keypress` shl bp_TGtkMenuItem_timer_from_keypress) and
+      (int16(`timer_from_keypress` shl bp_TGtkMenuItem_timer_from_keypress) and
       bm_TGtkMenuItem_timer_from_keypress)
 
 proc hide_on_activate*(a: var TGtkMenuItemClass): guint =
@@ -12641,7 +12641,7 @@ proc hide_on_activate*(a: var TGtkMenuItemClass): guint =
 
 proc set_hide_on_activate*(a: var TGtkMenuItemClass, `hide_on_activate`: guint) =
   a.GtkMenuItemClassflag0 = a.GtkMenuItemClassflag0 or
-      ((`hide_on_activate` shl bp_TGtkMenuItemClass_hide_on_activate) and
+      (int16(`hide_on_activate` shl bp_TGtkMenuItemClass_hide_on_activate) and
       bm_TGtkMenuItemClass_hide_on_activate)
 
 proc gtk_menu_item_right_justify*(menu_item: PGtkMenuItem) =
@@ -12672,7 +12672,7 @@ proc active*(a: var TGtkToggleButton): guint =
 
 proc set_active*(a: var TGtkToggleButton, `active`: guint) =
   a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
-      ((`active` shl bp_TGtkToggleButton_active) and
+      (int16(`active` shl bp_TGtkToggleButton_active) and
       bm_TGtkToggleButton_active)
 
 proc draw_indicator*(a: var TGtkToggleButton): guint =
@@ -12681,7 +12681,7 @@ proc draw_indicator*(a: var TGtkToggleButton): guint =
 
 proc set_draw_indicator*(a: var TGtkToggleButton, `draw_indicator`: guint) =
   a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
-      ((`draw_indicator` shl bp_TGtkToggleButton_draw_indicator) and
+      (int16(`draw_indicator` shl bp_TGtkToggleButton_draw_indicator) and
       bm_TGtkToggleButton_draw_indicator)
 
 proc inconsistent*(a: var TGtkToggleButton): guint =
@@ -12690,7 +12690,7 @@ proc inconsistent*(a: var TGtkToggleButton): guint =
 
 proc set_inconsistent*(a: var TGtkToggleButton, `inconsistent`: guint) =
   a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
-      ((`inconsistent` shl bp_TGtkToggleButton_inconsistent) and
+      (int16(`inconsistent` shl bp_TGtkToggleButton_inconsistent) and
       bm_TGtkToggleButton_inconsistent)
 
 proc GTK_TYPE_CHECK_BUTTON*(): GType =
@@ -12738,7 +12738,7 @@ proc active*(a: var TGtkCheckMenuItem): guint =
 
 proc set_active*(a: var TGtkCheckMenuItem, `active`: guint) =
   a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
-      ((`active` shl bp_TGtkCheckMenuItem_active) and
+      (int16(`active` shl bp_TGtkCheckMenuItem_active) and
       bm_TGtkCheckMenuItem_active)
 
 proc always_show_toggle*(a: var TGtkCheckMenuItem): guint =
@@ -12748,7 +12748,7 @@ proc always_show_toggle*(a: var TGtkCheckMenuItem): guint =
 proc set_always_show_toggle*(a: var TGtkCheckMenuItem,
                              `always_show_toggle`: guint) =
   a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
-      ((`always_show_toggle` shl bp_TGtkCheckMenuItem_always_show_toggle) and
+      (int16(`always_show_toggle` shl bp_TGtkCheckMenuItem_always_show_toggle) and
       bm_TGtkCheckMenuItem_always_show_toggle)
 
 proc inconsistent*(a: var TGtkCheckMenuItem): guint =
@@ -12757,7 +12757,7 @@ proc inconsistent*(a: var TGtkCheckMenuItem): guint =
 
 proc set_inconsistent*(a: var TGtkCheckMenuItem, `inconsistent`: guint) =
   a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
-      ((`inconsistent` shl bp_TGtkCheckMenuItem_inconsistent) and
+      (int16(`inconsistent` shl bp_TGtkCheckMenuItem_inconsistent) and
       bm_TGtkCheckMenuItem_inconsistent)
 
 proc GTK_TYPE_CLIST*(): GType =
@@ -12779,43 +12779,43 @@ proc GTK_CLIST_GET_CLASS*(obj: pointer): PGtkCListClass =
   result = cast[PGtkCListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CLIST()))
 
 proc GTK_CLIST_FLAGS*(clist: pointer): guint16 =
-  result = GTK_CLIST(clist).flags
+  result = toU16(GTK_CLIST(clist).flags)
 
 proc GTK_CLIST_SET_FLAG*(clist: PGtkCList, flag: guint16) =
-  clist . flags = GTK_CLIST(clist) . flags or int(flag)
+  clist.flags = GTK_CLIST(clist).flags or (flag)
 
 proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16) =
-  clist . flags = GTK_CLIST(clist) . flags and not int(flag)
+  clist.flags = GTK_CLIST(clist).flags and not (flag)
 
 proc GTK_CLIST_IN_DRAG_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_IN_DRAG) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_IN_DRAG)) != 0'i32
 
 proc GTK_CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_ROW_HEIGHT_SET) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_ROW_HEIGHT_SET)) != 0'i32
 
 proc GTK_CLIST_SHOW_TITLES_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_SHOW_TITLES) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_SHOW_TITLES)) != 0'i32
 
 proc GTK_CLIST_ADD_MODE_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_ADD_MODE) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_ADD_MODE)) != 0'i32
 
 proc GTK_CLIST_AUTO_SORT_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_AUTO_SORT) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_AUTO_SORT)) != 0'i32
 
 proc GTK_CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_AUTO_RESIZE_BLOCKED) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_AUTO_RESIZE_BLOCKED)) != 0'i32
 
 proc GTK_CLIST_REORDERABLE_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_REORDERABLE) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_REORDERABLE)) != 0'i32
 
 proc GTK_CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_USE_DRAG_ICONS) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_USE_DRAG_ICONS)) != 0'i32
 
 proc GTK_CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_DRAW_DRAG_LINE) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_DRAW_DRAG_LINE)) != 0'i32
 
 proc GTK_CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and GTK_CLIST_DRAW_DRAG_RECT) != 0
+  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_DRAW_DRAG_RECT)) != 0'i32
 
 proc GTK_CLIST_ROW_get*(`glist_`: PGList): PGtkCListRow =
   result = cast[PGtkCListRow](`glist_` . data)
@@ -12839,7 +12839,7 @@ proc visible*(a: var TGtkCListColumn): guint =
 
 proc set_visible*(a: var TGtkCListColumn, `visible`: guint) =
   a.flag0 = a.flag0 or
-      ((`visible` shl bp_TGtkCListColumn_visible) and
+      (int16(`visible` shl bp_TGtkCListColumn_visible) and
       bm_TGtkCListColumn_visible)
 
 proc width_set*(a: var TGtkCListColumn): guint =
@@ -12848,7 +12848,7 @@ proc width_set*(a: var TGtkCListColumn): guint =
 
 proc set_width_set*(a: var TGtkCListColumn, `width_set`: guint) =
   a.flag0 = a.flag0 or
-      ((`width_set` shl bp_TGtkCListColumn_width_set) and
+      (int16(`width_set` shl bp_TGtkCListColumn_width_set) and
       bm_TGtkCListColumn_width_set)
 
 proc resizeable*(a: var TGtkCListColumn): guint =
@@ -12857,7 +12857,7 @@ proc resizeable*(a: var TGtkCListColumn): guint =
 
 proc set_resizeable*(a: var TGtkCListColumn, `resizeable`: guint) =
   a.flag0 = a.flag0 or
-      ((`resizeable` shl bp_TGtkCListColumn_resizeable) and
+      (int16(`resizeable` shl bp_TGtkCListColumn_resizeable) and
       bm_TGtkCListColumn_resizeable)
 
 proc auto_resize*(a: var TGtkCListColumn): guint =
@@ -12866,7 +12866,7 @@ proc auto_resize*(a: var TGtkCListColumn): guint =
 
 proc set_auto_resize*(a: var TGtkCListColumn, `auto_resize`: guint) =
   a.flag0 = a.flag0 or
-      ((`auto_resize` shl bp_TGtkCListColumn_auto_resize) and
+      (int16(`auto_resize` shl bp_TGtkCListColumn_auto_resize) and
       bm_TGtkCListColumn_auto_resize)
 
 proc button_passive*(a: var TGtkCListColumn): guint =
@@ -12875,7 +12875,7 @@ proc button_passive*(a: var TGtkCListColumn): guint =
 
 proc set_button_passive*(a: var TGtkCListColumn, `button_passive`: guint) =
   a.flag0 = a.flag0 or
-      ((`button_passive` shl bp_TGtkCListColumn_button_passive) and
+      (int16(`button_passive` shl bp_TGtkCListColumn_button_passive) and
       bm_TGtkCListColumn_button_passive)
 
 proc fg_set*(a: var TGtkCListRow): guint =
@@ -12883,14 +12883,14 @@ proc fg_set*(a: var TGtkCListRow): guint =
 
 proc set_fg_set*(a: var TGtkCListRow, `fg_set`: guint) =
   a.flag0 = a.flag0 or
-      ((`fg_set` shl bp_TGtkCListRow_fg_set) and bm_TGtkCListRow_fg_set)
+      (int16(`fg_set` shl bp_TGtkCListRow_fg_set) and bm_TGtkCListRow_fg_set)
 
 proc bg_set*(a: var TGtkCListRow): guint =
   result = (a.flag0 and bm_TGtkCListRow_bg_set) shr bp_TGtkCListRow_bg_set
 
 proc set_bg_set*(a: var TGtkCListRow, `bg_set`: guint) =
   a.flag0 = a.flag0 or
-      ((`bg_set` shl bp_TGtkCListRow_bg_set) and bm_TGtkCListRow_bg_set)
+      (int16(`bg_set` shl bp_TGtkCListRow_bg_set) and bm_TGtkCListRow_bg_set)
 
 proc selectable*(a: var TGtkCListRow): guint =
   result = (a.flag0 and bm_TGtkCListRow_selectable) shr
@@ -12898,7 +12898,7 @@ proc selectable*(a: var TGtkCListRow): guint =
 
 proc set_selectable*(a: var TGtkCListRow, `selectable`: guint) =
   a.flag0 = a.flag0 or
-      ((`selectable` shl bp_TGtkCListRow_selectable) and
+      (int16(`selectable` shl bp_TGtkCListRow_selectable) and
       bm_TGtkCListRow_selectable)
 
 proc GTK_TYPE_DIALOG*(): GType =
@@ -13020,7 +13020,7 @@ proc value_in_list*(a: var TGtkCombo): guint =
 
 proc set_value_in_list*(a: var TGtkCombo, `value_in_list`: guint) =
   a.GtkComboflag0 = a.GtkComboflag0 or
-      ((`value_in_list` shl bp_TGtkCombo_value_in_list) and
+      (int16(`value_in_list` shl bp_TGtkCombo_value_in_list) and
       bm_TGtkCombo_value_in_list)
 
 proc ok_if_empty*(a: var TGtkCombo): guint =
@@ -13029,7 +13029,7 @@ proc ok_if_empty*(a: var TGtkCombo): guint =
 
 proc set_ok_if_empty*(a: var TGtkCombo, `ok_if_empty`: guint) =
   a.GtkComboflag0 = a.GtkComboflag0 or
-      ((`ok_if_empty` shl bp_TGtkCombo_ok_if_empty) and
+      (int16(`ok_if_empty` shl bp_TGtkCombo_ok_if_empty) and
       bm_TGtkCombo_ok_if_empty)
 
 proc case_sensitive*(a: var TGtkCombo): guint =
@@ -13038,7 +13038,7 @@ proc case_sensitive*(a: var TGtkCombo): guint =
 
 proc set_case_sensitive*(a: var TGtkCombo, `case_sensitive`: guint) =
   a.GtkComboflag0 = a.GtkComboflag0 or
-      ((`case_sensitive` shl bp_TGtkCombo_case_sensitive) and
+      (int16(`case_sensitive` shl bp_TGtkCombo_case_sensitive) and
       bm_TGtkCombo_case_sensitive)
 
 proc use_arrows*(a: var TGtkCombo): guint =
@@ -13046,7 +13046,7 @@ proc use_arrows*(a: var TGtkCombo): guint =
 
 proc set_use_arrows*(a: var TGtkCombo, `use_arrows`: guint) =
   a.GtkComboflag0 = a.GtkComboflag0 or
-      ((`use_arrows` shl bp_TGtkCombo_use_arrows) and bm_TGtkCombo_use_arrows)
+      (int16(`use_arrows` shl bp_TGtkCombo_use_arrows) and bm_TGtkCombo_use_arrows)
 
 proc use_arrows_always*(a: var TGtkCombo): guint =
   result = (a.GtkComboflag0 and bm_TGtkCombo_use_arrows_always) shr
@@ -13054,7 +13054,7 @@ proc use_arrows_always*(a: var TGtkCombo): guint =
 
 proc set_use_arrows_always*(a: var TGtkCombo, `use_arrows_always`: guint) =
   a.GtkComboflag0 = a.GtkComboflag0 or
-      ((`use_arrows_always` shl bp_TGtkCombo_use_arrows_always) and
+      (int16(`use_arrows_always` shl bp_TGtkCombo_use_arrows_always) and
       bm_TGtkCombo_use_arrows_always)
 
 proc GTK_TYPE_CTREE*(): GType =
@@ -13098,7 +13098,7 @@ proc line_style*(a: var TGtkCTree): guint =
 
 proc set_line_style*(a: var TGtkCTree, `line_style`: guint) =
   a.GtkCTreeflag0 = a.GtkCTreeflag0 or
-      ((`line_style` shl bp_TGtkCTree_line_style) and bm_TGtkCTree_line_style)
+      (int16(`line_style` shl bp_TGtkCTree_line_style) and bm_TGtkCTree_line_style)
 
 proc expander_style*(a: var TGtkCTree): guint =
   result = (a.GtkCTreeflag0 and bm_TGtkCTree_expander_style) shr
@@ -13106,7 +13106,7 @@ proc expander_style*(a: var TGtkCTree): guint =
 
 proc set_expander_style*(a: var TGtkCTree, `expander_style`: guint) =
   a.GtkCTreeflag0 = a.GtkCTreeflag0 or
-      ((`expander_style` shl bp_TGtkCTree_expander_style) and
+      (int16(`expander_style` shl bp_TGtkCTree_expander_style) and
       bm_TGtkCTree_expander_style)
 
 proc show_stub*(a: var TGtkCTree): guint =
@@ -13114,14 +13114,14 @@ proc show_stub*(a: var TGtkCTree): guint =
 
 proc set_show_stub*(a: var TGtkCTree, `show_stub`: guint) =
   a.GtkCTreeflag0 = a.GtkCTreeflag0 or
-      ((`show_stub` shl bp_TGtkCTree_show_stub) and bm_TGtkCTree_show_stub)
+      (int16(`show_stub` shl bp_TGtkCTree_show_stub) and bm_TGtkCTree_show_stub)
 
 proc is_leaf*(a: var TGtkCTreeRow): guint =
   result = (a.GtkCTreeRow_flag0 and bm_TGtkCTreeRow_is_leaf) shr bp_TGtkCTreeRow_is_leaf
 
 proc set_is_leaf*(a: var TGtkCTreeRow, `is_leaf`: guint) =
   a.GtkCTreeRow_flag0 = a.GtkCTreeRow_flag0 or
-      ((`is_leaf` shl bp_TGtkCTreeRow_is_leaf) and bm_TGtkCTreeRow_is_leaf)
+      (int16(`is_leaf` shl bp_TGtkCTreeRow_is_leaf) and bm_TGtkCTreeRow_is_leaf)
 
 proc expanded*(a: var TGtkCTreeRow): guint =
   result = (a.GtkCTreeRow_flag0 and bm_TGtkCTreeRow_expanded) shr
@@ -13129,7 +13129,7 @@ proc expanded*(a: var TGtkCTreeRow): guint =
 
 proc set_expanded*(a: var TGtkCTreeRow, `expanded`: guint) =
   a.GtkCTreeRow_flag0 = a.GtkCTreeRowflag0 or
-      ((`expanded` shl bp_TGtkCTreeRow_expanded) and bm_TGtkCTreeRow_expanded)
+      (int16(`expanded` shl bp_TGtkCTreeRow_expanded) and bm_TGtkCTreeRow_expanded)
 
 proc gtk_ctree_set_reorderable*(t: pointer, r: bool) =
   gtk_clist_set_reorderable(cast[PGtkCList](t), r)
@@ -13231,7 +13231,7 @@ proc active*(a: var TGtkMenuShell): guint =
 
 proc set_active*(a: var TGtkMenuShell, `active`: guint) =
   a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      ((`active` shl bp_TGtkMenuShell_active) and bm_TGtkMenuShell_active)
+      (int16(`active` shl bp_TGtkMenuShell_active) and bm_TGtkMenuShell_active)
 
 proc have_grab*(a: var TGtkMenuShell): guint =
   result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_have_grab) shr
@@ -13239,7 +13239,7 @@ proc have_grab*(a: var TGtkMenuShell): guint =
 
 proc set_have_grab*(a: var TGtkMenuShell, `have_grab`: guint) =
   a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      ((`have_grab` shl bp_TGtkMenuShell_have_grab) and
+      (int16(`have_grab` shl bp_TGtkMenuShell_have_grab) and
       bm_TGtkMenuShell_have_grab)
 
 proc have_xgrab*(a: var TGtkMenuShell): guint =
@@ -13248,7 +13248,7 @@ proc have_xgrab*(a: var TGtkMenuShell): guint =
 
 proc set_have_xgrab*(a: var TGtkMenuShell, `have_xgrab`: guint) =
   a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      ((`have_xgrab` shl bp_TGtkMenuShell_have_xgrab) and
+      (int16(`have_xgrab` shl bp_TGtkMenuShell_have_xgrab) and
       bm_TGtkMenuShell_have_xgrab)
 
 proc ignore_leave*(a: var TGtkMenuShell): guint =
@@ -13257,7 +13257,7 @@ proc ignore_leave*(a: var TGtkMenuShell): guint =
 
 proc set_ignore_leave*(a: var TGtkMenuShell, `ignore_leave`: guint) =
   a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      ((`ignore_leave` shl bp_TGtkMenuShell_ignore_leave) and
+      (int16(`ignore_leave` shl bp_TGtkMenuShell_ignore_leave) and
       bm_TGtkMenuShell_ignore_leave)
 
 proc menu_flag*(a: var TGtkMenuShell): guint =
@@ -13266,7 +13266,7 @@ proc menu_flag*(a: var TGtkMenuShell): guint =
 
 proc set_menu_flag*(a: var TGtkMenuShell, `menu_flag`: guint) =
   a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      ((`menu_flag` shl bp_TGtkMenuShell_menu_flag) and
+      (int16(`menu_flag` shl bp_TGtkMenuShell_menu_flag) and
       bm_TGtkMenuShell_menu_flag)
 
 proc ignore_enter*(a: var TGtkMenuShell): guint =
@@ -13275,7 +13275,7 @@ proc ignore_enter*(a: var TGtkMenuShell): guint =
 
 proc set_ignore_enter*(a: var TGtkMenuShell, `ignore_enter`: guint) =
   a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      ((`ignore_enter` shl bp_TGtkMenuShell_ignore_enter) and
+      (int16(`ignore_enter` shl bp_TGtkMenuShell_ignore_enter) and
       bm_TGtkMenuShell_ignore_enter)
 
 proc submenu_placement*(a: var TGtkMenuShellClass): guint =
@@ -13285,7 +13285,7 @@ proc submenu_placement*(a: var TGtkMenuShellClass): guint =
 proc set_submenu_placement*(a: var TGtkMenuShellClass,
                             `submenu_placement`: guint) =
   a.GtkMenuShellClassflag0 = a.GtkMenuShellClassflag0 or
-      ((`submenu_placement` shl bp_TGtkMenuShellClass_submenu_placement) and
+      (int16(`submenu_placement` shl bp_TGtkMenuShellClass_submenu_placement) and
       bm_TGtkMenuShellClass_submenu_placement)
 
 proc GTK_TYPE_MENU*(): GType =
@@ -13313,7 +13313,7 @@ proc needs_destruction_ref_count*(a: var TGtkMenu): guint =
 proc set_needs_destruction_ref_count*(a: var TGtkMenu,
                                       `needs_destruction_ref_count`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`needs_destruction_ref_count` shl
+      (int16(`needs_destruction_ref_count` shl
       bp_TGtkMenu_needs_destruction_ref_count) and
       bm_TGtkMenu_needs_destruction_ref_count)
 
@@ -13322,7 +13322,7 @@ proc torn_off*(a: var TGtkMenu): guint =
 
 proc set_torn_off*(a: var TGtkMenu, `torn_off`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`torn_off` shl bp_TGtkMenu_torn_off) and bm_TGtkMenu_torn_off)
+      (int16(`torn_off` shl bp_TGtkMenu_torn_off) and bm_TGtkMenu_torn_off)
 
 proc tearoff_active*(a: var TGtkMenu): guint =
   result = (a.GtkMenuflag0 and bm_TGtkMenu_tearoff_active) shr
@@ -13330,7 +13330,7 @@ proc tearoff_active*(a: var TGtkMenu): guint =
 
 proc set_tearoff_active*(a: var TGtkMenu, `tearoff_active`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`tearoff_active` shl bp_TGtkMenu_tearoff_active) and
+      (int16(`tearoff_active` shl bp_TGtkMenu_tearoff_active) and
       bm_TGtkMenu_tearoff_active)
 
 proc scroll_fast*(a: var TGtkMenu): guint =
@@ -13338,7 +13338,7 @@ proc scroll_fast*(a: var TGtkMenu): guint =
 
 proc set_scroll_fast*(a: var TGtkMenu, `scroll_fast`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`scroll_fast` shl bp_TGtkMenu_scroll_fast) and
+      (int16(`scroll_fast` shl bp_TGtkMenu_scroll_fast) and
       bm_TGtkMenu_scroll_fast)
 
 proc upper_arrow_visible*(a: var TGtkMenu): guint =
@@ -13347,7 +13347,7 @@ proc upper_arrow_visible*(a: var TGtkMenu): guint =
 
 proc set_upper_arrow_visible*(a: var TGtkMenu, `upper_arrow_visible`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`upper_arrow_visible` shl bp_TGtkMenu_upper_arrow_visible) and
+      (int16(`upper_arrow_visible` shl bp_TGtkMenu_upper_arrow_visible) and
       bm_TGtkMenu_upper_arrow_visible)
 
 proc lower_arrow_visible*(a: var TGtkMenu): guint =
@@ -13356,7 +13356,7 @@ proc lower_arrow_visible*(a: var TGtkMenu): guint =
 
 proc set_lower_arrow_visible*(a: var TGtkMenu, `lower_arrow_visible`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`lower_arrow_visible` shl bp_TGtkMenu_lower_arrow_visible) and
+      (int16(`lower_arrow_visible` shl bp_TGtkMenu_lower_arrow_visible) and
       bm_TGtkMenu_lower_arrow_visible)
 
 proc upper_arrow_prelight*(a: var TGtkMenu): guint =
@@ -13365,7 +13365,7 @@ proc upper_arrow_prelight*(a: var TGtkMenu): guint =
 
 proc set_upper_arrow_prelight*(a: var TGtkMenu, `upper_arrow_prelight`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`upper_arrow_prelight` shl bp_TGtkMenu_upper_arrow_prelight) and
+      (int16(`upper_arrow_prelight` shl bp_TGtkMenu_upper_arrow_prelight) and
       bm_TGtkMenu_upper_arrow_prelight)
 
 proc lower_arrow_prelight*(a: var TGtkMenu): guint =
@@ -13374,7 +13374,7 @@ proc lower_arrow_prelight*(a: var TGtkMenu): guint =
 
 proc set_lower_arrow_prelight*(a: var TGtkMenu, `lower_arrow_prelight`: guint) =
   a.GtkMenuflag0 = a.GtkMenuflag0 or
-      ((`lower_arrow_prelight` shl bp_TGtkMenu_lower_arrow_prelight) and
+      (int16(`lower_arrow_prelight` shl bp_TGtkMenu_lower_arrow_prelight) and
       bm_TGtkMenu_lower_arrow_prelight)
 
 proc gtk_menu_append*(menu, child: PGtkWidget) =
@@ -13409,14 +13409,14 @@ proc editable*(a: var TGtkEntry): guint =
 
 proc set_editable*(a: var TGtkEntry, `editable`: guint) =
   a.GtkEntryflag0 = a.GtkEntryflag0 or
-      ((`editable` shl bp_TGtkEntry_editable) and bm_TGtkEntry_editable)
+      (int16(`editable` shl bp_TGtkEntry_editable) and bm_TGtkEntry_editable)
 
 proc visible*(a: var TGtkEntry): guint =
   result = (a.GtkEntryflag0 and bm_TGtkEntry_visible) shr bp_TGtkEntry_visible
 
 proc set_visible*(a: var TGtkEntry, `visible`: guint) =
   a.GtkEntryflag0 = a.GtkEntryflag0 or
-      ((`visible` shl bp_TGtkEntry_visible) and bm_TGtkEntry_visible)
+      (int16(`visible` shl bp_TGtkEntry_visible) and bm_TGtkEntry_visible)
 
 proc overwrite_mode*(a: var TGtkEntry): guint =
   result = (a.GtkEntryflag0 and bm_TGtkEntry_overwrite_mode) shr
@@ -13424,7 +13424,7 @@ proc overwrite_mode*(a: var TGtkEntry): guint =
 
 proc set_overwrite_mode*(a: var TGtkEntry, `overwrite_mode`: guint) =
   a.GtkEntryflag0 = a.GtkEntryflag0 or
-      ((`overwrite_mode` shl bp_TGtkEntry_overwrite_mode) and
+      (int16(`overwrite_mode` shl bp_TGtkEntry_overwrite_mode) and
       bm_TGtkEntry_overwrite_mode)
 
 proc in_drag*(a: var TGtkEntry): guint =
@@ -13432,7 +13432,7 @@ proc in_drag*(a: var TGtkEntry): guint =
 
 proc set_in_drag*(a: var TGtkEntry, `in_drag`: guint) =
   a.GtkEntryflag0 = a.GtkEntryflag0 or
-      ((`in_drag` shl bp_TGtkEntry_in_drag) and bm_TGtkEntry_in_drag)
+      (int16(`in_drag` shl bp_TGtkEntry_in_drag) and bm_TGtkEntry_in_drag)
 
 proc cache_includes_preedit*(a: var TGtkEntry): guint =
   result = (a.flag1 and bm_TGtkEntry_cache_includes_preedit) shr
@@ -13441,7 +13441,7 @@ proc cache_includes_preedit*(a: var TGtkEntry): guint =
 proc set_cache_includes_preedit*(a: var TGtkEntry,
                                  `cache_includes_preedit`: guint) =
   a.flag1 = a.flag1 or
-      ((`cache_includes_preedit` shl bp_TGtkEntry_cache_includes_preedit) and
+      (int16(`cache_includes_preedit` shl bp_TGtkEntry_cache_includes_preedit) and
       bm_TGtkEntry_cache_includes_preedit)
 
 proc need_im_reset*(a: var TGtkEntry): guint =
@@ -13450,7 +13450,7 @@ proc need_im_reset*(a: var TGtkEntry): guint =
 
 proc set_need_im_reset*(a: var TGtkEntry, `need_im_reset`: guint) =
   a.flag1 = a.flag1 or
-      ((`need_im_reset` shl bp_TGtkEntry_need_im_reset) and
+      (int16(`need_im_reset` shl bp_TGtkEntry_need_im_reset) and
       bm_TGtkEntry_need_im_reset)
 
 proc has_frame*(a: var TGtkEntry): guint =
@@ -13458,7 +13458,7 @@ proc has_frame*(a: var TGtkEntry): guint =
 
 proc set_has_frame*(a: var TGtkEntry, `has_frame`: guint) =
   a.flag1 = a.flag1 or
-      ((`has_frame` shl bp_TGtkEntry_has_frame) and bm_TGtkEntry_has_frame)
+      (int16(`has_frame` shl bp_TGtkEntry_has_frame) and bm_TGtkEntry_has_frame)
 
 proc activates_default*(a: var TGtkEntry): guint =
   result = (a.flag1 and bm_TGtkEntry_activates_default) shr
@@ -13466,7 +13466,7 @@ proc activates_default*(a: var TGtkEntry): guint =
 
 proc set_activates_default*(a: var TGtkEntry, `activates_default`: guint) =
   a.flag1 = a.flag1 or
-      ((`activates_default` shl bp_TGtkEntry_activates_default) and
+      (int16(`activates_default` shl bp_TGtkEntry_activates_default) and
       bm_TGtkEntry_activates_default)
 
 proc cursor_visible*(a: var TGtkEntry): guint =
@@ -13475,7 +13475,7 @@ proc cursor_visible*(a: var TGtkEntry): guint =
 
 proc set_cursor_visible*(a: var TGtkEntry, `cursor_visible`: guint) =
   a.flag1 = a.flag1 or
-      ((`cursor_visible` shl bp_TGtkEntry_cursor_visible) and
+      (int16(`cursor_visible` shl bp_TGtkEntry_cursor_visible) and
       bm_TGtkEntry_cursor_visible)
 
 proc in_click*(a: var TGtkEntry): guint =
@@ -13483,7 +13483,7 @@ proc in_click*(a: var TGtkEntry): guint =
 
 proc set_in_click*(a: var TGtkEntry, `in_click`: guint) =
   a.flag1 = a.flag1 or
-      ((`in_click` shl bp_TGtkEntry_in_click) and bm_TGtkEntry_in_click)
+      (int16(`in_click` shl bp_TGtkEntry_in_click) and bm_TGtkEntry_in_click)
 
 proc is_cell_renderer*(a: var TGtkEntry): guint =
   result = (a.flag1 and bm_TGtkEntry_is_cell_renderer) shr
@@ -13491,7 +13491,7 @@ proc is_cell_renderer*(a: var TGtkEntry): guint =
 
 proc set_is_cell_renderer*(a: var TGtkEntry, `is_cell_renderer`: guint) =
   a.flag1 = a.flag1 or
-      ((`is_cell_renderer` shl bp_TGtkEntry_is_cell_renderer) and
+      (int16(`is_cell_renderer` shl bp_TGtkEntry_is_cell_renderer) and
       bm_TGtkEntry_is_cell_renderer)
 
 proc editing_canceled*(a: var TGtkEntry): guint =
@@ -13500,7 +13500,7 @@ proc editing_canceled*(a: var TGtkEntry): guint =
 
 proc set_editing_canceled*(a: var TGtkEntry, `editing_canceled`: guint) =
   a.flag1 = a.flag1 or
-      ((`editing_canceled` shl bp_TGtkEntry_editing_canceled) and
+      (int16(`editing_canceled` shl bp_TGtkEntry_editing_canceled) and
       bm_TGtkEntry_editing_canceled)
 
 proc mouse_cursor_obscured*(a: var TGtkEntry): guint =
@@ -13509,7 +13509,7 @@ proc mouse_cursor_obscured*(a: var TGtkEntry): guint =
 
 proc set_mouse_cursor_obscured*(a: var TGtkEntry, `mouse_cursor_obscured`: guint) =
   a.flag1 = a.flag1 or
-      ((`mouse_cursor_obscured` shl bp_TGtkEntry_mouse_cursor_obscured) and
+      (int16(`mouse_cursor_obscured` shl bp_TGtkEntry_mouse_cursor_obscured) and
       bm_TGtkEntry_mouse_cursor_obscured)
 
 proc GTK_TYPE_EVENT_BOX*(): GType =
@@ -13651,7 +13651,7 @@ proc handle_position*(a: var TGtkHandleBox): guint =
 
 proc set_handle_position*(a: var TGtkHandleBox, `handle_position`: guint) =
   a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      ((`handle_position` shl bp_TGtkHandleBox_handle_position) and
+      (int16(`handle_position` shl bp_TGtkHandleBox_handle_position) and
       bm_TGtkHandleBox_handle_position)
 
 proc float_window_mapped*(a: var TGtkHandleBox): guint =
@@ -13660,7 +13660,7 @@ proc float_window_mapped*(a: var TGtkHandleBox): guint =
 
 proc set_float_window_mapped*(a: var TGtkHandleBox, `float_window_mapped`: guint) =
   a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      ((`float_window_mapped` shl bp_TGtkHandleBox_float_window_mapped) and
+      (int16(`float_window_mapped` shl bp_TGtkHandleBox_float_window_mapped) and
       bm_TGtkHandleBox_float_window_mapped)
 
 proc child_detached*(a: var TGtkHandleBox): guint =
@@ -13669,7 +13669,7 @@ proc child_detached*(a: var TGtkHandleBox): guint =
 
 proc set_child_detached*(a: var TGtkHandleBox, `child_detached`: guint) =
   a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      ((`child_detached` shl bp_TGtkHandleBox_child_detached) and
+      (int16(`child_detached` shl bp_TGtkHandleBox_child_detached) and
       bm_TGtkHandleBox_child_detached)
 
 proc in_drag*(a: var TGtkHandleBox): guint =
@@ -13678,7 +13678,7 @@ proc in_drag*(a: var TGtkHandleBox): guint =
 
 proc set_in_drag*(a: var TGtkHandleBox, `in_drag`: guint) =
   a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      ((`in_drag` shl bp_TGtkHandleBox_in_drag) and bm_TGtkHandleBox_in_drag)
+      (int16(`in_drag` shl bp_TGtkHandleBox_in_drag) and bm_TGtkHandleBox_in_drag)
 
 proc shrink_on_detach*(a: var TGtkHandleBox): guint =
   result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_shrink_on_detach) shr
@@ -13686,7 +13686,7 @@ proc shrink_on_detach*(a: var TGtkHandleBox): guint =
 
 proc set_shrink_on_detach*(a: var TGtkHandleBox, `shrink_on_detach`: guint) =
   a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      ((`shrink_on_detach` shl bp_TGtkHandleBox_shrink_on_detach) and
+      (int16(`shrink_on_detach` shl bp_TGtkHandleBox_shrink_on_detach) and
       bm_TGtkHandleBox_shrink_on_detach)
 
 proc snap_edge*(a: var TGtkHandleBox): gint =
@@ -13695,7 +13695,7 @@ proc snap_edge*(a: var TGtkHandleBox): gint =
 
 proc set_snap_edge*(a: var TGtkHandleBox, `snap_edge`: gint) =
   a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      ((`snap_edge` shl bp_TGtkHandleBox_snap_edge) and
+      (int16(`snap_edge` shl bp_TGtkHandleBox_snap_edge) and
       bm_TGtkHandleBox_snap_edge)
 
 proc GTK_TYPE_PANED*(): GType =
@@ -13722,7 +13722,7 @@ proc position_set*(a: var TGtkPaned): guint =
 
 proc set_position_set*(a: var TGtkPaned, `position_set`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`position_set` shl bp_TGtkPaned_position_set) and
+      (int16(`position_set` shl bp_TGtkPaned_position_set) and
       bm_TGtkPaned_position_set)
 
 proc in_drag*(a: var TGtkPaned): guint =
@@ -13730,7 +13730,7 @@ proc in_drag*(a: var TGtkPaned): guint =
 
 proc set_in_drag*(a: var TGtkPaned, `in_drag`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`in_drag` shl bp_TGtkPaned_in_drag) and bm_TGtkPaned_in_drag)
+      (int16(`in_drag` shl bp_TGtkPaned_in_drag) and bm_TGtkPaned_in_drag)
 
 proc child1_shrink*(a: var TGtkPaned): guint =
   result = (a.GtkPanedflag0 and bm_TGtkPaned_child1_shrink) shr
@@ -13738,7 +13738,7 @@ proc child1_shrink*(a: var TGtkPaned): guint =
 
 proc set_child1_shrink*(a: var TGtkPaned, `child1_shrink`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`child1_shrink` shl bp_TGtkPaned_child1_shrink) and
+      (int16(`child1_shrink` shl bp_TGtkPaned_child1_shrink) and
       bm_TGtkPaned_child1_shrink)
 
 proc child1_resize*(a: var TGtkPaned): guint =
@@ -13747,7 +13747,7 @@ proc child1_resize*(a: var TGtkPaned): guint =
 
 proc set_child1_resize*(a: var TGtkPaned, `child1_resize`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`child1_resize` shl bp_TGtkPaned_child1_resize) and
+      (int16(`child1_resize` shl bp_TGtkPaned_child1_resize) and
       bm_TGtkPaned_child1_resize)
 
 proc child2_shrink*(a: var TGtkPaned): guint =
@@ -13756,7 +13756,7 @@ proc child2_shrink*(a: var TGtkPaned): guint =
 
 proc set_child2_shrink*(a: var TGtkPaned, `child2_shrink`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`child2_shrink` shl bp_TGtkPaned_child2_shrink) and
+      (int16(`child2_shrink` shl bp_TGtkPaned_child2_shrink) and
       bm_TGtkPaned_child2_shrink)
 
 proc child2_resize*(a: var TGtkPaned): guint =
@@ -13765,7 +13765,7 @@ proc child2_resize*(a: var TGtkPaned): guint =
 
 proc set_child2_resize*(a: var TGtkPaned, `child2_resize`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`child2_resize` shl bp_TGtkPaned_child2_resize) and
+      (int16(`child2_resize` shl bp_TGtkPaned_child2_resize) and
       bm_TGtkPaned_child2_resize)
 
 proc orientation*(a: var TGtkPaned): guint =
@@ -13774,7 +13774,7 @@ proc orientation*(a: var TGtkPaned): guint =
 
 proc set_orientation*(a: var TGtkPaned, `orientation`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`orientation` shl bp_TGtkPaned_orientation) and
+      (int16(`orientation` shl bp_TGtkPaned_orientation) and
       bm_TGtkPaned_orientation)
 
 proc in_recursion*(a: var TGtkPaned): guint =
@@ -13783,7 +13783,7 @@ proc in_recursion*(a: var TGtkPaned): guint =
 
 proc set_in_recursion*(a: var TGtkPaned, `in_recursion`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`in_recursion` shl bp_TGtkPaned_in_recursion) and
+      (int16(`in_recursion` shl bp_TGtkPaned_in_recursion) and
       bm_TGtkPaned_in_recursion)
 
 proc handle_prelit*(a: var TGtkPaned): guint =
@@ -13792,14 +13792,14 @@ proc handle_prelit*(a: var TGtkPaned): guint =
 
 proc set_handle_prelit*(a: var TGtkPaned, `handle_prelit`: guint) =
   a.GtkPanedflag0 = a.GtkPanedflag0 or
-      ((`handle_prelit` shl bp_TGtkPaned_handle_prelit) and
+      (int16(`handle_prelit` shl bp_TGtkPaned_handle_prelit) and
       bm_TGtkPaned_handle_prelit)
 
 proc gtk_paned_gutter_size*(p: pointer, s: gint) =
-  if (p != nil) and (s != 0): nil
+  if (p != nil) and (s != 0'i32): nil
 
 proc gtk_paned_set_gutter_size*(p: pointer, s: gint) =
-  if (p != nil) and (s != 0): nil
+  if (p != nil) and (s != 0'i32): nil
 
 proc GTK_TYPE_HBUTTON_BOX*(): GType =
   result = gtk_hbutton_box_get_type()
@@ -13915,7 +13915,7 @@ proc engine_specified*(a: var TGtkRcStyle): guint =
 
 proc set_engine_specified*(a: var TGtkRcStyle, `engine_specified`: guint) =
   a.GtkRcStyleflag0 = a.GtkRcStyleflag0 or
-      ((`engine_specified` shl bp_TGtkRcStyle_engine_specified) and
+      (int16(`engine_specified` shl bp_TGtkRcStyle_engine_specified) and
       bm_TGtkRcStyle_engine_specified)
 
 proc GTK_TYPE_STYLE*(): GType =
@@ -13940,7 +13940,7 @@ proc GTK_TYPE_BORDER*(): GType =
   result = gtk_border_get_type()
 
 proc GTK_STYLE_ATTACHED*(style: pointer): bool =
-  result = ((GTK_STYLE(style)).attach_count) > 0
+  result = ((GTK_STYLE(style)).attach_count) > 0'i32
 
 proc gtk_style_apply_default_pixmap*(style: PGtkStyle, window: PGdkWindow,
                                      state_type: TGtkStateType,
@@ -13972,14 +13972,14 @@ proc inverted*(a: var TGtkRange): guint =
 
 proc set_inverted*(a: var TGtkRange, `inverted`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`inverted` shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted)
+      (int16(`inverted` shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted)
 
 proc flippable*(a: var TGtkRange): guint =
   result = (a.GtkRangeflag0 and bm_TGtkRange_flippable) shr bp_TGtkRange_flippable
 
 proc set_flippable*(a: var TGtkRange, `flippable`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`flippable` shl bp_TGtkRange_flippable) and bm_TGtkRange_flippable)
+      (int16(`flippable` shl bp_TGtkRange_flippable) and bm_TGtkRange_flippable)
 
 proc has_stepper_a*(a: var TGtkRange): guint =
   result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_a) shr
@@ -13987,7 +13987,7 @@ proc has_stepper_a*(a: var TGtkRange): guint =
 
 proc set_has_stepper_a*(a: var TGtkRange, `has_stepper_a`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`has_stepper_a` shl bp_TGtkRange_has_stepper_a) and
+      (int16(`has_stepper_a` shl bp_TGtkRange_has_stepper_a) and
       bm_TGtkRange_has_stepper_a)
 
 proc has_stepper_b*(a: var TGtkRange): guint =
@@ -13996,7 +13996,7 @@ proc has_stepper_b*(a: var TGtkRange): guint =
 
 proc set_has_stepper_b*(a: var TGtkRange, `has_stepper_b`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`has_stepper_b` shl bp_TGtkRange_has_stepper_b) and
+      (int16(`has_stepper_b` shl bp_TGtkRange_has_stepper_b) and
       bm_TGtkRange_has_stepper_b)
 
 proc has_stepper_c*(a: var TGtkRange): guint =
@@ -14005,7 +14005,7 @@ proc has_stepper_c*(a: var TGtkRange): guint =
 
 proc set_has_stepper_c*(a: var TGtkRange, `has_stepper_c`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`has_stepper_c` shl bp_TGtkRange_has_stepper_c) and
+      (int16(`has_stepper_c` shl bp_TGtkRange_has_stepper_c) and
       bm_TGtkRange_has_stepper_c)
 
 proc has_stepper_d*(a: var TGtkRange): guint =
@@ -14014,7 +14014,7 @@ proc has_stepper_d*(a: var TGtkRange): guint =
 
 proc set_has_stepper_d*(a: var TGtkRange, `has_stepper_d`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`has_stepper_d` shl bp_TGtkRange_has_stepper_d) and
+      (int16(`has_stepper_d` shl bp_TGtkRange_has_stepper_d) and
       bm_TGtkRange_has_stepper_d)
 
 proc need_recalc*(a: var TGtkRange): guint =
@@ -14023,7 +14023,7 @@ proc need_recalc*(a: var TGtkRange): guint =
 
 proc set_need_recalc*(a: var TGtkRange, `need_recalc`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`need_recalc` shl bp_TGtkRange_need_recalc) and
+      (int16(`need_recalc` shl bp_TGtkRange_need_recalc) and
       bm_TGtkRange_need_recalc)
 
 proc slider_size_fixed*(a: var TGtkRange): guint =
@@ -14032,7 +14032,7 @@ proc slider_size_fixed*(a: var TGtkRange): guint =
 
 proc set_slider_size_fixed*(a: var TGtkRange, `slider_size_fixed`: guint) =
   a.GtkRangeflag0 = a.GtkRangeflag0 or
-      ((`slider_size_fixed` shl bp_TGtkRange_slider_size_fixed) and
+      (int16(`slider_size_fixed` shl bp_TGtkRange_slider_size_fixed) and
       bm_TGtkRange_slider_size_fixed)
 
 proc trough_click_forward*(a: var TGtkRange): guint =
@@ -14041,7 +14041,7 @@ proc trough_click_forward*(a: var TGtkRange): guint =
 
 proc set_trough_click_forward*(a: var TGtkRange, `trough_click_forward`: guint) =
   a.flag1 = a.flag1 or
-      ((`trough_click_forward` shl bp_TGtkRange_trough_click_forward) and
+      (int16(`trough_click_forward` shl bp_TGtkRange_trough_click_forward) and
       bm_TGtkRange_trough_click_forward)
 
 proc update_pending*(a: var TGtkRange): guint =
@@ -14050,7 +14050,7 @@ proc update_pending*(a: var TGtkRange): guint =
 
 proc set_update_pending*(a: var TGtkRange, `update_pending`: guint) =
   a.flag1 = a.flag1 or
-      ((`update_pending` shl bp_TGtkRange_update_pending) and
+      (int16(`update_pending` shl bp_TGtkRange_update_pending) and
       bm_TGtkRange_update_pending)
 
 proc GTK_TYPE_SCALE*(): GType =
@@ -14076,14 +14076,14 @@ proc draw_value*(a: var TGtkScale): guint =
 
 proc set_draw_value*(a: var TGtkScale, `draw_value`: guint) =
   a.GtkScaleflag0 = a.GtkScaleflag0 or
-      ((`draw_value` shl bp_TGtkScale_draw_value) and bm_TGtkScale_draw_value)
+      (int16(`draw_value` shl bp_TGtkScale_draw_value) and bm_TGtkScale_draw_value)
 
 proc value_pos*(a: var TGtkScale): guint =
   result = (a.GtkScaleflag0 and bm_TGtkScale_value_pos) shr bp_TGtkScale_value_pos
 
 proc set_value_pos*(a: var TGtkScale, `value_pos`: guint) =
   a.GtkScaleflag0 = a.GtkScaleflag0 or
-      ((`value_pos` shl bp_TGtkScale_value_pos) and bm_TGtkScale_value_pos)
+      (int16(`value_pos` shl bp_TGtkScale_value_pos) and bm_TGtkScale_value_pos)
 
 proc GTK_TYPE_HSCALE*(): GType =
   result = gtk_hscale_get_type()
@@ -14265,7 +14265,7 @@ proc in_hex_sequence*(a: var TGtkIMContextSimple): guint =
 
 proc set_in_hex_sequence*(a: var TGtkIMContextSimple, `in_hex_sequence`: guint) =
   a.GtkIMContextSimpleflag0 = a.GtkIMContextSimpleflag0 or
-      ((`in_hex_sequence` shl bp_TGtkIMContextSimple_in_hex_sequence) and
+      (int16(`in_hex_sequence` shl bp_TGtkIMContextSimple_in_hex_sequence) and
       bm_TGtkIMContextSimple_in_hex_sequence)
 
 proc GTK_TYPE_IM_MULTICONTEXT*(): GType =
@@ -14386,7 +14386,7 @@ proc selection_mode*(a: var TGtkList): guint =
 
 proc set_selection_mode*(a: var TGtkList, `selection_mode`: guint) =
   a.GtkListflag0 = a.GtkListflag0 or
-      ((`selection_mode` shl bp_TGtkList_selection_mode) and
+      (int16(`selection_mode` shl bp_TGtkList_selection_mode) and
       bm_TGtkList_selection_mode)
 
 proc drag_selection*(a: var TGtkList): guint =
@@ -14395,7 +14395,7 @@ proc drag_selection*(a: var TGtkList): guint =
 
 proc set_drag_selection*(a: var TGtkList, `drag_selection`: guint) =
   a.GtkListflag0 = a.GtkListflag0 or
-      ((`drag_selection` shl bp_TGtkList_drag_selection) and
+      (int16(`drag_selection` shl bp_TGtkList_drag_selection) and
       bm_TGtkList_drag_selection)
 
 proc add_mode*(a: var TGtkList): guint =
@@ -14403,7 +14403,7 @@ proc add_mode*(a: var TGtkList): guint =
 
 proc set_add_mode*(a: var TGtkList, `add_mode`: guint) =
   a.GtkListflag0 = a.GtkListflag0 or
-      ((`add_mode` shl bp_TGtkList_add_mode) and bm_TGtkList_add_mode)
+      (int16(`add_mode` shl bp_TGtkList_add_mode) and bm_TGtkList_add_mode)
 
 proc gtk_list_item_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
 
@@ -14520,7 +14520,7 @@ proc columns_dirty*(a: var TGtkListStore): guint =
 
 proc set_columns_dirty*(a: var TGtkListStore, `columns_dirty`: guint) =
   a.GtkListStoreflag0 = a.GtkListStoreflag0 or
-      ((`columns_dirty` shl bp_TGtkListStore_columns_dirty) and
+      (int16(`columns_dirty` shl bp_TGtkListStore_columns_dirty) and
       bm_TGtkListStore_columns_dirty)
 
 proc GTK_TYPE_MENU_BAR*(): GType =
@@ -14594,7 +14594,7 @@ proc show_tabs*(a: var TGtkNotebook): guint =
 
 proc set_show_tabs*(a: var TGtkNotebook, `show_tabs`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`show_tabs` shl bp_TGtkNotebook_show_tabs) and
+      (int16(`show_tabs` shl bp_TGtkNotebook_show_tabs) and
       bm_TGtkNotebook_show_tabs)
 
 proc homogeneous*(a: var TGtkNotebook): guint =
@@ -14603,7 +14603,7 @@ proc homogeneous*(a: var TGtkNotebook): guint =
 
 proc set_homogeneous*(a: var TGtkNotebook, `homogeneous`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`homogeneous` shl bp_TGtkNotebook_homogeneous) and
+      (int16(`homogeneous` shl bp_TGtkNotebook_homogeneous) and
       bm_TGtkNotebook_homogeneous)
 
 proc show_border*(a: var TGtkNotebook): guint =
@@ -14612,7 +14612,7 @@ proc show_border*(a: var TGtkNotebook): guint =
 
 proc set_show_border*(a: var TGtkNotebook, `show_border`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`show_border` shl bp_TGtkNotebook_show_border) and
+      (int16(`show_border` shl bp_TGtkNotebook_show_border) and
       bm_TGtkNotebook_show_border)
 
 proc tab_pos*(a: var TGtkNotebook): guint =
@@ -14620,7 +14620,7 @@ proc tab_pos*(a: var TGtkNotebook): guint =
 
 proc set_tab_pos*(a: var TGtkNotebook, `tab_pos`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`tab_pos` shl bp_TGtkNotebook_tab_pos) and bm_TGtkNotebook_tab_pos)
+      (int16(`tab_pos` shl bp_TGtkNotebook_tab_pos) and bm_TGtkNotebook_tab_pos)
 
 proc scrollable*(a: var TGtkNotebook): guint =
   result = (a.GtkNotebookflag0 and bm_TGtkNotebook_scrollable) shr
@@ -14628,7 +14628,7 @@ proc scrollable*(a: var TGtkNotebook): guint =
 
 proc set_scrollable*(a: var TGtkNotebook, `scrollable`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`scrollable` shl bp_TGtkNotebook_scrollable) and
+      (int16(`scrollable` shl bp_TGtkNotebook_scrollable) and
       bm_TGtkNotebook_scrollable)
 
 proc in_child*(a: var TGtkNotebook): guint =
@@ -14637,7 +14637,7 @@ proc in_child*(a: var TGtkNotebook): guint =
 
 proc set_in_child*(a: var TGtkNotebook, `in_child`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`in_child` shl bp_TGtkNotebook_in_child) and bm_TGtkNotebook_in_child)
+      (int16(`in_child` shl bp_TGtkNotebook_in_child) and bm_TGtkNotebook_in_child)
 
 proc click_child*(a: var TGtkNotebook): guint =
   result = (a.GtkNotebookflag0 and bm_TGtkNotebook_click_child) shr
@@ -14645,7 +14645,7 @@ proc click_child*(a: var TGtkNotebook): guint =
 
 proc set_click_child*(a: var TGtkNotebook, `click_child`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`click_child` shl bp_TGtkNotebook_click_child) and
+      (int16(`click_child` shl bp_TGtkNotebook_click_child) and
       bm_TGtkNotebook_click_child)
 
 proc button*(a: var TGtkNotebook): guint =
@@ -14653,7 +14653,7 @@ proc button*(a: var TGtkNotebook): guint =
 
 proc set_button*(a: var TGtkNotebook, `button`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`button` shl bp_TGtkNotebook_button) and bm_TGtkNotebook_button)
+      (int16(`button` shl bp_TGtkNotebook_button) and bm_TGtkNotebook_button)
 
 proc need_timer*(a: var TGtkNotebook): guint =
   result = (a.GtkNotebookflag0 and bm_TGtkNotebook_need_timer) shr
@@ -14661,7 +14661,7 @@ proc need_timer*(a: var TGtkNotebook): guint =
 
 proc set_need_timer*(a: var TGtkNotebook, `need_timer`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`need_timer` shl bp_TGtkNotebook_need_timer) and
+      (int16(`need_timer` shl bp_TGtkNotebook_need_timer) and
       bm_TGtkNotebook_need_timer)
 
 proc child_has_focus*(a: var TGtkNotebook): guint =
@@ -14670,7 +14670,7 @@ proc child_has_focus*(a: var TGtkNotebook): guint =
 
 proc set_child_has_focus*(a: var TGtkNotebook, `child_has_focus`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`child_has_focus` shl bp_TGtkNotebook_child_has_focus) and
+      (int16(`child_has_focus` shl bp_TGtkNotebook_child_has_focus) and
       bm_TGtkNotebook_child_has_focus)
 
 proc have_visible_child*(a: var TGtkNotebook): guint =
@@ -14679,7 +14679,7 @@ proc have_visible_child*(a: var TGtkNotebook): guint =
 
 proc set_have_visible_child*(a: var TGtkNotebook, `have_visible_child`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`have_visible_child` shl bp_TGtkNotebook_have_visible_child) and
+      (int16(`have_visible_child` shl bp_TGtkNotebook_have_visible_child) and
       bm_TGtkNotebook_have_visible_child)
 
 proc focus_out*(a: var TGtkNotebook): guint =
@@ -14688,7 +14688,7 @@ proc focus_out*(a: var TGtkNotebook): guint =
 
 proc set_focus_out*(a: var TGtkNotebook, `focus_out`: guint) =
   a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      ((`focus_out` shl bp_TGtkNotebook_focus_out) and
+      (int16(`focus_out` shl bp_TGtkNotebook_focus_out) and
       bm_TGtkNotebook_focus_out)
 
 proc GTK_TYPE_OLD_EDITABLE*(): GType =
@@ -14716,7 +14716,7 @@ proc has_selection*(a: var TGtkOldEditable): guint =
 
 proc set_has_selection*(a: var TGtkOldEditable, `has_selection`: guint) =
   a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
-      ((`has_selection` shl bp_TGtkOldEditable_has_selection) and
+      (int16(`has_selection` shl bp_TGtkOldEditable_has_selection) and
       bm_TGtkOldEditable_has_selection)
 
 proc editable*(a: var TGtkOldEditable): guint =
@@ -14725,7 +14725,7 @@ proc editable*(a: var TGtkOldEditable): guint =
 
 proc set_editable*(a: var TGtkOldEditable, `editable`: guint) =
   a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
-      ((`editable` shl bp_TGtkOldEditable_editable) and
+      (int16(`editable` shl bp_TGtkOldEditable_editable) and
       bm_TGtkOldEditable_editable)
 
 proc visible*(a: var TGtkOldEditable): guint =
@@ -14734,7 +14734,7 @@ proc visible*(a: var TGtkOldEditable): guint =
 
 proc set_visible*(a: var TGtkOldEditable, `visible`: guint) =
   a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
-      ((`visible` shl bp_TGtkOldEditable_visible) and
+      (int16(`visible` shl bp_TGtkOldEditable_visible) and
       bm_TGtkOldEditable_visible)
 
 proc GTK_TYPE_OPTION_MENU*(): GType =
@@ -14779,7 +14779,7 @@ proc build_insensitive*(a: var TGtkPixmap): guint =
 
 proc set_build_insensitive*(a: var TGtkPixmap, `build_insensitive`: guint) =
   a.GtkPixmapflag0 = a.GtkPixmapflag0 or
-      ((`build_insensitive` shl bp_TGtkPixmap_build_insensitive) and
+      (int16(`build_insensitive` shl bp_TGtkPixmap_build_insensitive) and
       bm_TGtkPixmap_build_insensitive)
 
 proc GTK_TYPE_PLUG*(): GType =
@@ -14805,7 +14805,7 @@ proc same_app*(a: var TGtkPlug): guint =
 
 proc set_same_app*(a: var TGtkPlug, `same_app`: guint) =
   a.GtkPlugflag0 = a.GtkPlugflag0 or
-      ((`same_app` shl bp_TGtkPlug_same_app) and bm_TGtkPlug_same_app)
+      (int16(`same_app` shl bp_TGtkPlug_same_app) and bm_TGtkPlug_same_app)
 
 proc GTK_TYPE_PREVIEW*(): GType =
   result = gtk_preview_get_type()
@@ -14830,14 +14830,14 @@ proc get_type*(a: var TGtkPreview): guint =
 
 proc set_type*(a: var TGtkPreview, `type`: guint) =
   a.GtkPreviewflag0 = a.GtkPreviewflag0 or
-      ((`type` shl bp_TGtkPreview_type) and bm_TGtkPreview_type)
+      (int16(`type` shl bp_TGtkPreview_type) and bm_TGtkPreview_type)
 
 proc get_expand*(a: var TGtkPreview): guint =
   result = (a.GtkPreviewflag0 and bm_TGtkPreview_expand) shr bp_TGtkPreview_expand
 
 proc set_expand*(a: var TGtkPreview, `expand`: guint) =
   a.GtkPreviewflag0 = a.GtkPreviewflag0 or
-      ((`expand` shl bp_TGtkPreview_expand) and bm_TGtkPreview_expand)
+      (int16(`expand` shl bp_TGtkPreview_expand) and bm_TGtkPreview_expand)
 
 proc gtk_progress_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
 
@@ -14865,7 +14865,7 @@ proc show_text*(a: var TGtkProgress): guint =
 
 proc set_show_text*(a: var TGtkProgress, `show_text`: guint) =
   a.GtkProgressflag0 = a.GtkProgressflag0 or
-      ((`show_text` shl bp_TGtkProgress_show_text) and
+      (int16(`show_text` shl bp_TGtkProgress_show_text) and
       bm_TGtkProgress_show_text)
 
 proc activity_mode*(a: var TGtkProgress): guint =
@@ -14874,7 +14874,7 @@ proc activity_mode*(a: var TGtkProgress): guint =
 
 proc set_activity_mode*(a: var TGtkProgress, `activity_mode`: guint) =
   a.GtkProgressflag0 = a.GtkProgressflag0 or
-      ((`activity_mode` shl bp_TGtkProgress_activity_mode) and
+      (int16(`activity_mode` shl bp_TGtkProgress_activity_mode) and
       bm_TGtkProgress_activity_mode)
 
 proc use_text_format*(a: var TGtkProgress): guint =
@@ -14883,7 +14883,7 @@ proc use_text_format*(a: var TGtkProgress): guint =
 
 proc set_use_text_format*(a: var TGtkProgress, `use_text_format`: guint) =
   a.GtkProgressflag0 = a.GtkProgressflag0 or
-      ((`use_text_format` shl bp_TGtkProgress_use_text_format) and
+      (int16(`use_text_format` shl bp_TGtkProgress_use_text_format) and
       bm_TGtkProgress_use_text_format)
 
 proc GTK_TYPE_PROGRESS_BAR*(): GType =
@@ -14911,7 +14911,7 @@ proc activity_dir*(a: var TGtkProgressBar): guint =
 
 proc set_activity_dir*(a: var TGtkProgressBar, `activity_dir`: guint) =
   a.GtkProgressBarflag0 = a.GtkProgressBarflag0 or
-      ((`activity_dir` shl bp_TGtkProgressBar_activity_dir) and
+      (int16(`activity_dir` shl bp_TGtkProgressBar_activity_dir) and
       bm_TGtkProgressBar_activity_dir)
 
 proc GTK_TYPE_RADIO_BUTTON*(): GType =
@@ -14980,7 +14980,7 @@ proc hscrollbar_policy*(a: var TGtkScrolledWindow): guint =
 proc set_hscrollbar_policy*(a: var TGtkScrolledWindow,
                             `hscrollbar_policy`: guint) =
   a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      ((`hscrollbar_policy` shl bp_TGtkScrolledWindow_hscrollbar_policy) and
+      (int16(`hscrollbar_policy` shl bp_TGtkScrolledWindow_hscrollbar_policy) and
       bm_TGtkScrolledWindow_hscrollbar_policy)
 
 proc vscrollbar_policy*(a: var TGtkScrolledWindow): guint =
@@ -14990,7 +14990,7 @@ proc vscrollbar_policy*(a: var TGtkScrolledWindow): guint =
 proc set_vscrollbar_policy*(a: var TGtkScrolledWindow,
                             `vscrollbar_policy`: guint) =
   a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      ((`vscrollbar_policy` shl bp_TGtkScrolledWindow_vscrollbar_policy) and
+      (int16(`vscrollbar_policy` shl bp_TGtkScrolledWindow_vscrollbar_policy) and
       bm_TGtkScrolledWindow_vscrollbar_policy)
 
 proc hscrollbar_visible*(a: var TGtkScrolledWindow): guint =
@@ -15000,7 +15000,7 @@ proc hscrollbar_visible*(a: var TGtkScrolledWindow): guint =
 proc set_hscrollbar_visible*(a: var TGtkScrolledWindow,
                              `hscrollbar_visible`: guint) =
   a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      ((`hscrollbar_visible` shl bp_TGtkScrolledWindow_hscrollbar_visible) and
+      (int16(`hscrollbar_visible` shl bp_TGtkScrolledWindow_hscrollbar_visible) and
       bm_TGtkScrolledWindow_hscrollbar_visible)
 
 proc vscrollbar_visible*(a: var TGtkScrolledWindow): guint =
@@ -15010,7 +15010,7 @@ proc vscrollbar_visible*(a: var TGtkScrolledWindow): guint =
 proc set_vscrollbar_visible*(a: var TGtkScrolledWindow,
                              `vscrollbar_visible`: guint) =
   a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      ((`vscrollbar_visible` shl bp_TGtkScrolledWindow_vscrollbar_visible) and
+      int16((`vscrollbar_visible` shl bp_TGtkScrolledWindow_vscrollbar_visible) and
       bm_TGtkScrolledWindow_vscrollbar_visible)
 
 proc window_placement*(a: var TGtkScrolledWindow): guint =
@@ -15019,7 +15019,7 @@ proc window_placement*(a: var TGtkScrolledWindow): guint =
 
 proc set_window_placement*(a: var TGtkScrolledWindow, `window_placement`: guint) =
   a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      ((`window_placement` shl bp_TGtkScrolledWindow_window_placement) and
+      (int16(`window_placement` shl bp_TGtkScrolledWindow_window_placement) and
       bm_TGtkScrolledWindow_window_placement)
 
 proc focus_out*(a: var TGtkScrolledWindow): guint =
@@ -15028,7 +15028,7 @@ proc focus_out*(a: var TGtkScrolledWindow): guint =
 
 proc set_focus_out*(a: var TGtkScrolledWindow, `focus_out`: guint) =
   a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      ((`focus_out` shl bp_TGtkScrolledWindow_focus_out) and
+      (int16(`focus_out` shl bp_TGtkScrolledWindow_focus_out) and
       bm_TGtkScrolledWindow_focus_out)
 
 proc GTK_TYPE_SELECTION_DATA*(): GType =
@@ -15062,7 +15062,7 @@ proc gtk_signal_name*(signal_id: guint): cstring =
   result = g_signal_name(signal_id)
 
 proc gtk_signal_emit_stop*(instance: gpointer, signal_id: guint, detail: TGQuark) =
-  if detail != 0: g_signal_stop_emission(instance, signal_id, 0)
+  if detail != 0'i32: g_signal_stop_emission(instance, signal_id, 0)
 
 proc gtk_signal_connect_full*(anObject: PGtkObject, name: cstring,
                          func_: TGtkSignalFunc, unknown1: pointer,
@@ -15138,7 +15138,7 @@ proc gtk_signal_handler_pending_by_func*(anObject: PGtkObject, signal_id: guint,
   t = cast[TGSignalMatchType](G_SIGNAL_MATCH_ID or G_SIGNAL_MATCH_FUNC or
       G_SIGNAL_MATCH_DATA)
   if not may_be_blocked:
-    t = t or cast[int](G_SIGNAL_MATCH_UNBLOCKED)
+    t = t or cast[TGSignalMatchType](G_SIGNAL_MATCH_UNBLOCKED)
   Result = g_signal_handler_find(anObject, t, signal_id, 0, nil, func_,
                                  data) != 0
 
@@ -15166,7 +15166,7 @@ proc have_width*(a: var TGtkSizeGroup): guint =
 
 proc set_have_width*(a: var TGtkSizeGroup, `have_width`: guint) =
   a.GtkSizeGroupflag0 = a.GtkSizeGroupflag0 or
-      ((`have_width` shl bp_TGtkSizeGroup_have_width) and
+      (int16(`have_width` shl bp_TGtkSizeGroup_have_width) and
       bm_TGtkSizeGroup_have_width)
 
 proc have_height*(a: var TGtkSizeGroup): guint =
@@ -15175,7 +15175,7 @@ proc have_height*(a: var TGtkSizeGroup): guint =
 
 proc set_have_height*(a: var TGtkSizeGroup, `have_height`: guint) =
   a.GtkSizeGroupflag0 = a.GtkSizeGroupflag0 or
-      ((`have_height` shl bp_TGtkSizeGroup_have_height) and
+      (int16(`have_height` shl bp_TGtkSizeGroup_have_height) and
       bm_TGtkSizeGroup_have_height)
 
 proc GTK_TYPE_SOCKET*(): GType =
@@ -15201,35 +15201,35 @@ proc same_app*(a: var TGtkSocket): guint =
 
 proc set_same_app*(a: var TGtkSocket, `same_app`: guint) =
   a.GtkSocketflag0 = a.GtkSocketflag0 or
-      ((`same_app` shl bp_TGtkSocket_same_app) and bm_TGtkSocket_same_app)
+      (int16(`same_app` shl bp_TGtkSocket_same_app) and bm_TGtkSocket_same_app)
 
 proc focus_in*(a: var TGtkSocket): guint =
   result = (a.GtkSocketflag0 and bm_TGtkSocket_focus_in) shr bp_TGtkSocket_focus_in
 
 proc set_focus_in*(a: var TGtkSocket, `focus_in`: guint) =
   a.GtkSocketflag0 = a.GtkSocketflag0 or
-      ((`focus_in` shl bp_TGtkSocket_focus_in) and bm_TGtkSocket_focus_in)
+      (int16(`focus_in` shl bp_TGtkSocket_focus_in) and bm_TGtkSocket_focus_in)
 
 proc have_size*(a: var TGtkSocket): guint =
   result = (a.GtkSocketflag0 and bm_TGtkSocket_have_size) shr bp_TGtkSocket_have_size
 
 proc set_have_size*(a: var TGtkSocket, `have_size`: guint) =
   a.GtkSocketflag0 = a.GtkSocketflag0 or
-      ((`have_size` shl bp_TGtkSocket_have_size) and bm_TGtkSocket_have_size)
+      (int16(`have_size` shl bp_TGtkSocket_have_size) and bm_TGtkSocket_have_size)
 
 proc need_map*(a: var TGtkSocket): guint =
   result = (a.GtkSocketflag0 and bm_TGtkSocket_need_map) shr bp_TGtkSocket_need_map
 
 proc set_need_map*(a: var TGtkSocket, `need_map`: guint) =
   a.GtkSocketflag0 = a.GtkSocketflag0 or
-      ((`need_map` shl bp_TGtkSocket_need_map) and bm_TGtkSocket_need_map)
+      (int16(`need_map` shl bp_TGtkSocket_need_map) and bm_TGtkSocket_need_map)
 
 proc is_mapped*(a: var TGtkSocket): guint =
   result = (a.GtkSocketflag0 and bm_TGtkSocket_is_mapped) shr bp_TGtkSocket_is_mapped
 
 proc set_is_mapped*(a: var TGtkSocket, `is_mapped`: guint) =
   a.GtkSocketflag0 = a.GtkSocketflag0 or
-      ((`is_mapped` shl bp_TGtkSocket_is_mapped) and bm_TGtkSocket_is_mapped)
+      (int16(`is_mapped` shl bp_TGtkSocket_is_mapped) and bm_TGtkSocket_is_mapped)
 
 proc GTK_TYPE_SPIN_BUTTON*(): GType =
   result = gtk_spin_button_get_type()
@@ -15350,7 +15350,7 @@ proc has_resize_grip*(a: var TGtkStatusbar): guint =
 
 proc set_has_resize_grip*(a: var TGtkStatusbar, `has_resize_grip`: guint) =
   a.GtkStatusbarflag0 = a.GtkStatusbarflag0 or
-      ((`has_resize_grip` shl bp_TGtkStatusbar_has_resize_grip) and
+      (int16(`has_resize_grip` shl bp_TGtkStatusbar_has_resize_grip) and
       bm_TGtkStatusbar_has_resize_grip)
 
 proc GTK_TYPE_TABLE*(): GType =
@@ -15377,7 +15377,7 @@ proc homogeneous*(a: var TGtkTable): guint =
 
 proc set_homogeneous*(a: var TGtkTable, `homogeneous`: guint) =
   a.GtkTableflag0 = a.GtkTableflag0 or
-      ((`homogeneous` shl bp_TGtkTable_homogeneous) and
+      (int16(`homogeneous` shl bp_TGtkTable_homogeneous) and
       bm_TGtkTable_homogeneous)
 
 proc xexpand*(a: var TGtkTableChild): guint =
@@ -15386,7 +15386,7 @@ proc xexpand*(a: var TGtkTableChild): guint =
 
 proc set_xexpand*(a: var TGtkTableChild, `xexpand`: guint) =
   a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      ((`xexpand` shl bp_TGtkTableChild_xexpand) and
+      (int16(`xexpand` shl bp_TGtkTableChild_xexpand) and
       bm_TGtkTableChild_xexpand)
 
 proc yexpand*(a: var TGtkTableChild): guint =
@@ -15395,7 +15395,7 @@ proc yexpand*(a: var TGtkTableChild): guint =
 
 proc set_yexpand*(a: var TGtkTableChild, `yexpand`: guint) =
   a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      ((`yexpand` shl bp_TGtkTableChild_yexpand) and
+      (int16(`yexpand` shl bp_TGtkTableChild_yexpand) and
       bm_TGtkTableChild_yexpand)
 
 proc xshrink*(a: var TGtkTableChild): guint =
@@ -15404,7 +15404,7 @@ proc xshrink*(a: var TGtkTableChild): guint =
 
 proc set_xshrink*(a: var TGtkTableChild, `xshrink`: guint) =
   a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      ((`xshrink` shl bp_TGtkTableChild_xshrink) and
+      (int16(`xshrink` shl bp_TGtkTableChild_xshrink) and
       bm_TGtkTableChild_xshrink)
 
 proc yshrink*(a: var TGtkTableChild): guint =
@@ -15413,7 +15413,7 @@ proc yshrink*(a: var TGtkTableChild): guint =
 
 proc set_yshrink*(a: var TGtkTableChild, `yshrink`: guint) =
   a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      ((`yshrink` shl bp_TGtkTableChild_yshrink) and
+      (int16(`yshrink` shl bp_TGtkTableChild_yshrink) and
       bm_TGtkTableChild_yshrink)
 
 proc xfill*(a: var TGtkTableChild): guint =
@@ -15421,14 +15421,14 @@ proc xfill*(a: var TGtkTableChild): guint =
 
 proc set_xfill*(a: var TGtkTableChild, `xfill`: guint) =
   a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      ((`xfill` shl bp_TGtkTableChild_xfill) and bm_TGtkTableChild_xfill)
+      (int16(`xfill` shl bp_TGtkTableChild_xfill) and bm_TGtkTableChild_xfill)
 
 proc yfill*(a: var TGtkTableChild): guint =
   result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yfill) shr bp_TGtkTableChild_yfill
 
 proc set_yfill*(a: var TGtkTableChild, `yfill`: guint) =
   a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      ((`yfill` shl bp_TGtkTableChild_yfill) and bm_TGtkTableChild_yfill)
+      (int16(`yfill` shl bp_TGtkTableChild_yfill) and bm_TGtkTableChild_yfill)
 
 proc need_expand*(a: var TGtkTableRowCol): guint =
   result = (a.flag0 and bm_TGtkTableRowCol_need_expand) shr
@@ -15436,7 +15436,7 @@ proc need_expand*(a: var TGtkTableRowCol): guint =
 
 proc set_need_expand*(a: var TGtkTableRowCol, `need_expand`: guint) =
   a.flag0 = a.flag0 or
-      ((`need_expand` shl bp_TGtkTableRowCol_need_expand) and
+      (int16(`need_expand` shl bp_TGtkTableRowCol_need_expand) and
       bm_TGtkTableRowCol_need_expand)
 
 proc need_shrink*(a: var TGtkTableRowCol): guint =
@@ -15445,7 +15445,7 @@ proc need_shrink*(a: var TGtkTableRowCol): guint =
 
 proc set_need_shrink*(a: var TGtkTableRowCol, `need_shrink`: guint) =
   a.flag0 = a.flag0 or
-      ((`need_shrink` shl bp_TGtkTableRowCol_need_shrink) and
+      (int16(`need_shrink` shl bp_TGtkTableRowCol_need_shrink) and
       bm_TGtkTableRowCol_need_shrink)
 
 proc expand*(a: var TGtkTableRowCol): guint =
@@ -15454,7 +15454,7 @@ proc expand*(a: var TGtkTableRowCol): guint =
 
 proc set_expand*(a: var TGtkTableRowCol, `expand`: guint) =
   a.flag0 = a.flag0 or
-      ((`expand` shl bp_TGtkTableRowCol_expand) and bm_TGtkTableRowCol_expand)
+      (int16(`expand` shl bp_TGtkTableRowCol_expand) and bm_TGtkTableRowCol_expand)
 
 proc shrink*(a: var TGtkTableRowCol): guint =
   result = (a.flag0 and bm_TGtkTableRowCol_shrink) shr
@@ -15462,7 +15462,7 @@ proc shrink*(a: var TGtkTableRowCol): guint =
 
 proc set_shrink*(a: var TGtkTableRowCol, `shrink`: guint) =
   a.flag0 = a.flag0 or
-      ((`shrink` shl bp_TGtkTableRowCol_shrink) and bm_TGtkTableRowCol_shrink)
+      (int16(`shrink` shl bp_TGtkTableRowCol_shrink) and bm_TGtkTableRowCol_shrink)
 
 proc empty*(a: var TGtkTableRowCol): guint =
   result = (a.flag0 and bm_TGtkTableRowCol_empty) shr
@@ -15470,7 +15470,7 @@ proc empty*(a: var TGtkTableRowCol): guint =
 
 proc set_empty*(a: var TGtkTableRowCol, `empty`: guint) =
   a.flag0 = a.flag0 or
-      ((`empty` shl bp_TGtkTableRowCol_empty) and bm_TGtkTableRowCol_empty)
+      (int16(`empty` shl bp_TGtkTableRowCol_empty) and bm_TGtkTableRowCol_empty)
 
 proc GTK_TYPE_TEAROFF_MENU_ITEM*(): GType =
   result = gtk_tearoff_menu_item_get_type()
@@ -15497,7 +15497,7 @@ proc torn_off*(a: var TGtkTearoffMenuItem): guint =
 
 proc set_torn_off*(a: var TGtkTearoffMenuItem, `torn_off`: guint) =
   a.GtkTearoffMenuItemflag0 = a.GtkTearoffMenuItemflag0 or
-      ((`torn_off` shl bp_TGtkTearoffMenuItem_torn_off) and
+      (int16(`torn_off` shl bp_TGtkTearoffMenuItem_torn_off) and
       bm_TGtkTearoffMenuItem_torn_off)
 
 proc GTK_TYPE_TEXT*(): GType =
@@ -15523,18 +15523,18 @@ proc line_wrap*(a: PGtkText): guint =
 
 proc set_line_wrap*(a: PGtkText, `line_wrap`: guint) =
   a.GtkTextflag0 = a.GtkTextflag0 or
-      ((`line_wrap` shl bp_TGtkText_line_wrap) and bm_TGtkText_line_wrap)
+      (int16(`line_wrap` shl bp_TGtkText_line_wrap) and bm_TGtkText_line_wrap)
 
 proc word_wrap*(a: PGtkText): guint =
   result = (a . GtkTextflag0 and bm_TGtkText_word_wrap) shr bp_TGtkText_word_wrap
 
 proc set_word_wrap*(a: PGtkText, `word_wrap`: guint) =
   a.GtkTextflag0 = a.GtkTextflag0 or
-      ((`word_wrap` shl bp_TGtkText_word_wrap) and bm_TGtkText_word_wrap)
+      (int16(`word_wrap` shl bp_TGtkText_word_wrap) and bm_TGtkText_word_wrap)
 
 proc use_wchar*(a: PGtkText): gboolean =
   result = ((a.GtkTextflag0 and bm_TGtkText_use_wchar) shr bp_TGtkText_use_wchar) >
-      0
+      0'i16
 
 proc set_use_wchar*(a: PGtkText, `use_wchar`: gboolean) =
   if `use_wchar`:
@@ -15787,7 +15787,7 @@ proc underline*(a: var TGtkTextAppearance): guint =
 
 proc set_underline*(a: var TGtkTextAppearance, `underline`: guint) =
   a.flag0 = a.flag0 or
-      ((`underline` shl bp_TGtkTextAppearance_underline) and
+      (int16(`underline` shl bp_TGtkTextAppearance_underline) and
       bm_TGtkTextAppearance_underline)
 
 proc strikethrough*(a: var TGtkTextAppearance): guint =
@@ -15796,7 +15796,7 @@ proc strikethrough*(a: var TGtkTextAppearance): guint =
 
 proc set_strikethrough*(a: var TGtkTextAppearance, `strikethrough`: guint) =
   a.flag0 = a.flag0 or
-      ((`strikethrough` shl bp_TGtkTextAppearance_strikethrough) and
+      (int16(`strikethrough` shl bp_TGtkTextAppearance_strikethrough) and
       bm_TGtkTextAppearance_strikethrough)
 
 proc draw_bg*(a: var TGtkTextAppearance): guint =
@@ -15805,7 +15805,7 @@ proc draw_bg*(a: var TGtkTextAppearance): guint =
 
 proc set_draw_bg*(a: var TGtkTextAppearance, `draw_bg`: guint) =
   a.flag0 = a.flag0 or
-      ((`draw_bg` shl bp_TGtkTextAppearance_draw_bg) and
+      (int16(`draw_bg` shl bp_TGtkTextAppearance_draw_bg) and
       bm_TGtkTextAppearance_draw_bg)
 
 proc inside_selection*(a: var TGtkTextAppearance): guint =
@@ -15814,7 +15814,7 @@ proc inside_selection*(a: var TGtkTextAppearance): guint =
 
 proc set_inside_selection*(a: var TGtkTextAppearance, `inside_selection`: guint) =
   a.flag0 = a.flag0 or
-      ((`inside_selection` shl bp_TGtkTextAppearance_inside_selection) and
+      (int16(`inside_selection` shl bp_TGtkTextAppearance_inside_selection) and
       bm_TGtkTextAppearance_inside_selection)
 
 proc is_text*(a: var TGtkTextAppearance): guint =
@@ -15823,7 +15823,7 @@ proc is_text*(a: var TGtkTextAppearance): guint =
 
 proc set_is_text*(a: var TGtkTextAppearance, `is_text`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_text` shl bp_TGtkTextAppearance_is_text) and
+      (int16(`is_text` shl bp_TGtkTextAppearance_is_text) and
       bm_TGtkTextAppearance_is_text)
 
 proc pad1*(a: var TGtkTextAppearance): guint =
@@ -15832,7 +15832,7 @@ proc pad1*(a: var TGtkTextAppearance): guint =
 
 proc set_pad1*(a: var TGtkTextAppearance, `pad1`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad1` shl bp_TGtkTextAppearance_pad1) and bm_TGtkTextAppearance_pad1)
+      (int16(`pad1` shl bp_TGtkTextAppearance_pad1) and bm_TGtkTextAppearance_pad1)
 
 proc pad2*(a: var TGtkTextAppearance): guint =
   result = (a.flag0 and bm_TGtkTextAppearance_pad2) shr
@@ -15840,7 +15840,7 @@ proc pad2*(a: var TGtkTextAppearance): guint =
 
 proc set_pad2*(a: var TGtkTextAppearance, `pad2`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad2` shl bp_TGtkTextAppearance_pad2) and bm_TGtkTextAppearance_pad2)
+      (int16(`pad2` shl bp_TGtkTextAppearance_pad2) and bm_TGtkTextAppearance_pad2)
 
 proc pad3*(a: var TGtkTextAppearance): guint =
   result = (a.flag0 and bm_TGtkTextAppearance_pad3) shr
@@ -15848,7 +15848,7 @@ proc pad3*(a: var TGtkTextAppearance): guint =
 
 proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad3` shl bp_TGtkTextAppearance_pad3) and bm_TGtkTextAppearance_pad3)
+      (int16(`pad3` shl bp_TGtkTextAppearance_pad3) and bm_TGtkTextAppearance_pad3)
 
 proc pad4*(a: var TGtkTextAppearance): guint =
   result = (a.flag0 and bm_TGtkTextAppearance_pad4) shr
@@ -15856,7 +15856,7 @@ proc pad4*(a: var TGtkTextAppearance): guint =
 
 proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad4` shl bp_TGtkTextAppearance_pad4) and bm_TGtkTextAppearance_pad4)
+      (int16(`pad4` shl bp_TGtkTextAppearance_pad4) and bm_TGtkTextAppearance_pad4)
 
 proc invisible*(a: var TGtkTextAttributes): guint =
   result = (a.flag0 and bm_TGtkTextAttributes_invisible) shr
@@ -15864,7 +15864,7 @@ proc invisible*(a: var TGtkTextAttributes): guint =
 
 proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint) =
   a.flag0 = a.flag0 or
-      ((`invisible` shl bp_TGtkTextAttributes_invisible) and
+      (int16(`invisible` shl bp_TGtkTextAttributes_invisible) and
       bm_TGtkTextAttributes_invisible)
 
 proc bg_full_height*(a: var TGtkTextAttributes): guint =
@@ -15873,7 +15873,7 @@ proc bg_full_height*(a: var TGtkTextAttributes): guint =
 
 proc set_bg_full_height*(a: var TGtkTextAttributes, `bg_full_height`: guint) =
   a.flag0 = a.flag0 or
-      ((`bg_full_height` shl bp_TGtkTextAttributes_bg_full_height) and
+      (int16(`bg_full_height` shl bp_TGtkTextAttributes_bg_full_height) and
       bm_TGtkTextAttributes_bg_full_height)
 
 proc editable*(a: var TGtkTextAttributes): guint =
@@ -15882,7 +15882,7 @@ proc editable*(a: var TGtkTextAttributes): guint =
 
 proc set_editable*(a: var TGtkTextAttributes, `editable`: guint) =
   a.flag0 = a.flag0 or
-      ((`editable` shl bp_TGtkTextAttributes_editable) and
+      (int16(`editable` shl bp_TGtkTextAttributes_editable) and
       bm_TGtkTextAttributes_editable)
 
 proc realized*(a: var TGtkTextAttributes): guint =
@@ -15891,7 +15891,7 @@ proc realized*(a: var TGtkTextAttributes): guint =
 
 proc set_realized*(a: var TGtkTextAttributes, `realized`: guint) =
   a.flag0 = a.flag0 or
-      ((`realized` shl bp_TGtkTextAttributes_realized) and
+      (int16(`realized` shl bp_TGtkTextAttributes_realized) and
       bm_TGtkTextAttributes_realized)
 
 proc pad1*(a: var TGtkTextAttributes): guint =
@@ -15900,7 +15900,7 @@ proc pad1*(a: var TGtkTextAttributes): guint =
 
 proc set_pad1*(a: var TGtkTextAttributes, `pad1`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad1` shl bp_TGtkTextAttributes_pad1) and bm_TGtkTextAttributes_pad1)
+      (int16(`pad1` shl bp_TGtkTextAttributes_pad1) and bm_TGtkTextAttributes_pad1)
 
 proc pad2*(a: var TGtkTextAttributes): guint =
   result = (a.flag0 and bm_TGtkTextAttributes_pad2) shr
@@ -15908,7 +15908,7 @@ proc pad2*(a: var TGtkTextAttributes): guint =
 
 proc set_pad2*(a: var TGtkTextAttributes, `pad2`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad2` shl bp_TGtkTextAttributes_pad2) and bm_TGtkTextAttributes_pad2)
+      (int16(`pad2` shl bp_TGtkTextAttributes_pad2) and bm_TGtkTextAttributes_pad2)
 
 proc pad3*(a: var TGtkTextAttributes): guint =
   result = (a.flag0 and bm_TGtkTextAttributes_pad3) shr
@@ -15916,7 +15916,7 @@ proc pad3*(a: var TGtkTextAttributes): guint =
 
 proc set_pad3*(a: var TGtkTextAttributes, `pad3`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad3` shl bp_TGtkTextAttributes_pad3) and bm_TGtkTextAttributes_pad3)
+      (int16(`pad3` shl bp_TGtkTextAttributes_pad3) and bm_TGtkTextAttributes_pad3)
 
 proc pad4*(a: var TGtkTextAttributes): guint =
   result = (a.flag0 and bm_TGtkTextAttributes_pad4) shr
@@ -15924,7 +15924,7 @@ proc pad4*(a: var TGtkTextAttributes): guint =
 
 proc set_pad4*(a: var TGtkTextAttributes, `pad4`: guint) =
   a.flag0 = a.flag0 or
-      ((`pad4` shl bp_TGtkTextAttributes_pad4) and bm_TGtkTextAttributes_pad4)
+      (int16(`pad4` shl bp_TGtkTextAttributes_pad4) and bm_TGtkTextAttributes_pad4)
 
 proc GTK_TYPE_TEXT_TAG_TABLE*(): GType =
   result = gtk_text_tag_table_get_type()
@@ -15970,7 +15970,7 @@ proc visible*(a: var TGtkTextMarkBody): guint =
 
 proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint) =
   a.flag0 = a.flag0 or
-      ((`visible` shl bp_TGtkTextMarkBody_visible) and
+      (int16(`visible` shl bp_TGtkTextMarkBody_visible) and
       bm_TGtkTextMarkBody_visible)
 
 proc not_deleteable*(a: var TGtkTextMarkBody): guint =
@@ -15979,7 +15979,7 @@ proc not_deleteable*(a: var TGtkTextMarkBody): guint =
 
 proc set_not_deleteable*(a: var TGtkTextMarkBody, `not_deleteable`: guint) =
   a.flag0 = a.flag0 or
-      ((`not_deleteable` shl bp_TGtkTextMarkBody_not_deleteable) and
+      (int16(`not_deleteable` shl bp_TGtkTextMarkBody_not_deleteable) and
       bm_TGtkTextMarkBody_not_deleteable)
 
 proc GTK_TYPE_TEXT_CHILD_ANCHOR*(): GType =
@@ -16043,7 +16043,7 @@ proc modified*(a: var TGtkTextBuffer): guint =
 
 proc set_modified*(a: var TGtkTextBuffer, `modified`: guint) =
   a.GtkTextBufferflag0 = a.GtkTextBufferflag0 or
-      ((`modified` shl bp_TGtkTextBuffer_modified) and
+      (int16(`modified` shl bp_TGtkTextBuffer_modified) and
       bm_TGtkTextBuffer_modified)
 
 proc GTK_TYPE_TEXT_LAYOUT*(): GType =
@@ -16072,7 +16072,7 @@ proc cursor_visible*(a: var TGtkTextLayout): guint =
 
 proc set_cursor_visible*(a: var TGtkTextLayout, `cursor_visible`: guint) =
   a.GtkTextLayoutflag0 = a.GtkTextLayoutflag0 or
-      ((`cursor_visible` shl bp_TGtkTextLayout_cursor_visible) and
+      (int16(`cursor_visible` shl bp_TGtkTextLayout_cursor_visible) and
       bm_TGtkTextLayout_cursor_visible)
 
 proc cursor_direction*(a: var TGtkTextLayout): gint =
@@ -16081,7 +16081,7 @@ proc cursor_direction*(a: var TGtkTextLayout): gint =
 
 proc set_cursor_direction*(a: var TGtkTextLayout, `cursor_direction`: gint) =
   a.GtkTextLayoutflag0 = a.GtkTextLayoutflag0 or
-      ((`cursor_direction` shl bp_TGtkTextLayout_cursor_direction) and
+      (int16(`cursor_direction` shl bp_TGtkTextLayout_cursor_direction) and
       bm_TGtkTextLayout_cursor_direction)
 
 proc is_strong*(a: var TGtkTextCursorDisplay): guint =
@@ -16090,7 +16090,7 @@ proc is_strong*(a: var TGtkTextCursorDisplay): guint =
 
 proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_strong` shl bp_TGtkTextCursorDisplay_is_strong) and
+      (int16(`is_strong` shl bp_TGtkTextCursorDisplay_is_strong) and
       bm_TGtkTextCursorDisplay_is_strong)
 
 proc is_weak*(a: var TGtkTextCursorDisplay): guint =
@@ -16099,7 +16099,7 @@ proc is_weak*(a: var TGtkTextCursorDisplay): guint =
 
 proc set_is_weak*(a: var TGtkTextCursorDisplay, `is_weak`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_weak` shl bp_TGtkTextCursorDisplay_is_weak) and
+      (int16(`is_weak` shl bp_TGtkTextCursorDisplay_is_weak) and
       bm_TGtkTextCursorDisplay_is_weak)
 
 proc GTK_TYPE_TEXT_VIEW*(): GType =
@@ -16126,7 +16126,7 @@ proc editable*(a: var TGtkTextView): guint =
 
 proc set_editable*(a: var TGtkTextView, `editable`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`editable` shl bp_TGtkTextView_editable) and bm_TGtkTextView_editable)
+      (int16(`editable` shl bp_TGtkTextView_editable) and bm_TGtkTextView_editable)
 
 proc overwrite_mode*(a: var TGtkTextView): guint =
   result = (a.GtkTextViewflag0 and bm_TGtkTextView_overwrite_mode) shr
@@ -16134,7 +16134,7 @@ proc overwrite_mode*(a: var TGtkTextView): guint =
 
 proc set_overwrite_mode*(a: var TGtkTextView, `overwrite_mode`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`overwrite_mode` shl bp_TGtkTextView_overwrite_mode) and
+      (int16(`overwrite_mode` shl bp_TGtkTextView_overwrite_mode) and
       bm_TGtkTextView_overwrite_mode)
 
 proc cursor_visible*(a: var TGtkTextView): guint =
@@ -16143,7 +16143,7 @@ proc cursor_visible*(a: var TGtkTextView): guint =
 
 proc set_cursor_visible*(a: var TGtkTextView, `cursor_visible`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`cursor_visible` shl bp_TGtkTextView_cursor_visible) and
+      (int16(`cursor_visible` shl bp_TGtkTextView_cursor_visible) and
       bm_TGtkTextView_cursor_visible)
 
 proc need_im_reset*(a: var TGtkTextView): guint =
@@ -16152,7 +16152,7 @@ proc need_im_reset*(a: var TGtkTextView): guint =
 
 proc set_need_im_reset*(a: var TGtkTextView, `need_im_reset`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`need_im_reset` shl bp_TGtkTextView_need_im_reset) and
+      (int16(`need_im_reset` shl bp_TGtkTextView_need_im_reset) and
       bm_TGtkTextView_need_im_reset)
 
 proc just_selected_element*(a: var TGtkTextView): guint =
@@ -16162,7 +16162,7 @@ proc just_selected_element*(a: var TGtkTextView): guint =
 proc set_just_selected_element*(a: var TGtkTextView,
                                 `just_selected_element`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`just_selected_element` shl bp_TGtkTextView_just_selected_element) and
+      (int16(`just_selected_element` shl bp_TGtkTextView_just_selected_element) and
       bm_TGtkTextView_just_selected_element)
 
 proc disable_scroll_on_focus*(a: var TGtkTextView): guint =
@@ -16172,7 +16172,7 @@ proc disable_scroll_on_focus*(a: var TGtkTextView): guint =
 proc set_disable_scroll_on_focus*(a: var TGtkTextView,
                                   `disable_scroll_on_focus`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`disable_scroll_on_focus` shl bp_TGtkTextView_disable_scroll_on_focus) and
+      (int16(`disable_scroll_on_focus` shl bp_TGtkTextView_disable_scroll_on_focus) and
       bm_TGtkTextView_disable_scroll_on_focus)
 
 proc onscreen_validated*(a: var TGtkTextView): guint =
@@ -16181,7 +16181,7 @@ proc onscreen_validated*(a: var TGtkTextView): guint =
 
 proc set_onscreen_validated*(a: var TGtkTextView, `onscreen_validated`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`onscreen_validated` shl bp_TGtkTextView_onscreen_validated) and
+      (int16(`onscreen_validated` shl bp_TGtkTextView_onscreen_validated) and
       bm_TGtkTextView_onscreen_validated)
 
 proc mouse_cursor_obscured*(a: var TGtkTextView): guint =
@@ -16191,7 +16191,7 @@ proc mouse_cursor_obscured*(a: var TGtkTextView): guint =
 proc set_mouse_cursor_obscured*(a: var TGtkTextView,
                                 `mouse_cursor_obscured`: guint) =
   a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      ((`mouse_cursor_obscured` shl bp_TGtkTextView_mouse_cursor_obscured) and
+      (int16(`mouse_cursor_obscured` shl bp_TGtkTextView_mouse_cursor_obscured) and
       bm_TGtkTextView_mouse_cursor_obscured)
 
 proc GTK_TYPE_TIPS_QUERY*(): GType =
@@ -16218,7 +16218,7 @@ proc emit_always*(a: var TGtkTipsQuery): guint =
 
 proc set_emit_always*(a: var TGtkTipsQuery, `emit_always`: guint) =
   a.GtkTipsQueryflag0 = a.GtkTipsQueryflag0 or
-      ((`emit_always` shl bp_TGtkTipsQuery_emit_always) and
+      (int16(`emit_always` shl bp_TGtkTipsQuery_emit_always) and
       bm_TGtkTipsQuery_emit_always)
 
 proc in_query*(a: var TGtkTipsQuery): guint =
@@ -16227,7 +16227,7 @@ proc in_query*(a: var TGtkTipsQuery): guint =
 
 proc set_in_query*(a: var TGtkTipsQuery, `in_query`: guint) =
   a.GtkTipsQueryflag0 = a.GtkTipsQueryflag0 or
-      ((`in_query` shl bp_TGtkTipsQuery_in_query) and
+      (int16(`in_query` shl bp_TGtkTipsQuery_in_query) and
       bm_TGtkTipsQuery_in_query)
 
 proc GTK_TYPE_TOOLTIPS*(): GType =
@@ -16304,7 +16304,7 @@ proc style_set*(a: var TGtkToolbar): guint =
 
 proc set_style_set*(a: var TGtkToolbar, `style_set`: guint) =
   a.GtkToolbarflag0 = a.GtkToolbarflag0 or
-      ((`style_set` shl bp_TGtkToolbar_style_set) and
+      (int16(`style_set` shl bp_TGtkToolbar_style_set) and
       bm_TGtkToolbar_style_set)
 
 proc icon_size_set*(a: var TGtkToolbar): guint =
@@ -16313,7 +16313,7 @@ proc icon_size_set*(a: var TGtkToolbar): guint =
 
 proc set_icon_size_set*(a: var TGtkToolbar, `icon_size_set`: guint) =
   a.GtkToolbarflag0 = a.GtkToolbarflag0 or
-      ((`icon_size_set` shl bp_TGtkToolbar_icon_size_set) and
+      (int16(`icon_size_set` shl bp_TGtkToolbar_icon_size_set) and
       bm_TGtkToolbar_icon_size_set)
 
 proc GTK_TYPE_TREE*(): GType =
@@ -16350,7 +16350,7 @@ proc selection_mode*(a: var TGtkTree): guint =
 
 proc set_selection_mode*(a: var TGtkTree, `selection_mode`: guint) =
   a.GtkTreeflag0 = a.GtkTreeflag0 or
-      ((`selection_mode` shl bp_TGtkTree_selection_mode) and
+      (int16(`selection_mode` shl bp_TGtkTree_selection_mode) and
       bm_TGtkTree_selection_mode)
 
 proc view_mode*(a: var TGtkTree): guint =
@@ -16358,14 +16358,14 @@ proc view_mode*(a: var TGtkTree): guint =
 
 proc set_view_mode*(a: var TGtkTree, `view_mode`: guint) =
   a.GtkTreeflag0 = a.GtkTreeflag0 or
-      ((`view_mode` shl bp_TGtkTree_view_mode) and bm_TGtkTree_view_mode)
+      (int16(`view_mode` shl bp_TGtkTree_view_mode) and bm_TGtkTree_view_mode)
 
 proc view_line*(a: var TGtkTree): guint =
   result = (a.GtkTreeflag0 and bm_TGtkTree_view_line) shr bp_TGtkTree_view_line
 
 proc set_view_line*(a: var TGtkTree, `view_line`: guint) =
   a.GtkTreeflag0 = a.GtkTreeflag0 or
-      ((`view_line` shl bp_TGtkTree_view_line) and bm_TGtkTree_view_line)
+      (int16(`view_line` shl bp_TGtkTree_view_line) and bm_TGtkTree_view_line)
 
 proc GTK_TYPE_TREE_DRAG_SOURCE*(): GType =
   result = gtk_tree_drag_source_get_type()
@@ -16422,7 +16422,7 @@ proc expanded*(a: var TGtkTreeItem): guint =
 
 proc set_expanded*(a: var TGtkTreeItem, `expanded`: guint) =
   a.GtkTreeItemflag0 = a.GtkTreeItemflag0 or
-      ((`expanded` shl bp_TGtkTreeItem_expanded) and bm_TGtkTreeItem_expanded)
+      (int16(`expanded` shl bp_TGtkTreeItem_expanded) and bm_TGtkTreeItem_expanded)
 
 proc GTK_TYPE_TREE_SELECTION*(): GType =
   result = gtk_tree_selection_get_type()
@@ -16468,7 +16468,7 @@ proc columns_dirty*(a: var TGtkTreeStore): guint =
 
 proc set_columns_dirty*(a: var TGtkTreeStore, `columns_dirty`: guint) =
   a.GtkTreeStoreflag0 = a.GtkTreeStoreflag0 or
-      ((`columns_dirty` shl bp_TGtkTreeStore_columns_dirty) and
+      (int16(`columns_dirty` shl bp_TGtkTreeStore_columns_dirty) and
       bm_TGtkTreeStore_columns_dirty)
 
 proc GTK_TYPE_TREE_VIEW_COLUMN*(): GType =
@@ -16497,7 +16497,7 @@ proc visible*(a: var TGtkTreeViewColumn): guint =
 
 proc set_visible*(a: var TGtkTreeViewColumn, `visible`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`visible` shl bp_TGtkTreeViewColumn_visible) and
+      (int16(`visible` shl bp_TGtkTreeViewColumn_visible) and
       bm_TGtkTreeViewColumn_visible)
 
 proc resizable*(a: var TGtkTreeViewColumn): guint =
@@ -16506,7 +16506,7 @@ proc resizable*(a: var TGtkTreeViewColumn): guint =
 
 proc set_resizable*(a: var TGtkTreeViewColumn, `resizable`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`resizable` shl bp_TGtkTreeViewColumn_resizable) and
+      (int16(`resizable` shl bp_TGtkTreeViewColumn_resizable) and
       bm_TGtkTreeViewColumn_resizable)
 
 proc clickable*(a: var TGtkTreeViewColumn): guint =
@@ -16515,7 +16515,7 @@ proc clickable*(a: var TGtkTreeViewColumn): guint =
 
 proc set_clickable*(a: var TGtkTreeViewColumn, `clickable`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`clickable` shl bp_TGtkTreeViewColumn_clickable) and
+      (int16(`clickable` shl bp_TGtkTreeViewColumn_clickable) and
       bm_TGtkTreeViewColumn_clickable)
 
 proc dirty*(a: var TGtkTreeViewColumn): guint =
@@ -16524,7 +16524,7 @@ proc dirty*(a: var TGtkTreeViewColumn): guint =
 
 proc set_dirty*(a: var TGtkTreeViewColumn, `dirty`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`dirty` shl bp_TGtkTreeViewColumn_dirty) and
+      (int16(`dirty` shl bp_TGtkTreeViewColumn_dirty) and
       bm_TGtkTreeViewColumn_dirty)
 
 proc show_sort_indicator*(a: var TGtkTreeViewColumn): guint =
@@ -16534,7 +16534,7 @@ proc show_sort_indicator*(a: var TGtkTreeViewColumn): guint =
 proc set_show_sort_indicator*(a: var TGtkTreeViewColumn,
                               `show_sort_indicator`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`show_sort_indicator` shl bp_TGtkTreeViewColumn_show_sort_indicator) and
+      (int16(`show_sort_indicator` shl bp_TGtkTreeViewColumn_show_sort_indicator) and
       bm_TGtkTreeViewColumn_show_sort_indicator)
 
 proc maybe_reordered*(a: var TGtkTreeViewColumn): guint =
@@ -16543,7 +16543,7 @@ proc maybe_reordered*(a: var TGtkTreeViewColumn): guint =
 
 proc set_maybe_reordered*(a: var TGtkTreeViewColumn, `maybe_reordered`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`maybe_reordered` shl bp_TGtkTreeViewColumn_maybe_reordered) and
+      (int16(`maybe_reordered` shl bp_TGtkTreeViewColumn_maybe_reordered) and
       bm_TGtkTreeViewColumn_maybe_reordered)
 
 proc reorderable*(a: var TGtkTreeViewColumn): guint =
@@ -16552,7 +16552,7 @@ proc reorderable*(a: var TGtkTreeViewColumn): guint =
 
 proc set_reorderable*(a: var TGtkTreeViewColumn, `reorderable`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`reorderable` shl bp_TGtkTreeViewColumn_reorderable) and
+      (int16(`reorderable` shl bp_TGtkTreeViewColumn_reorderable) and
       bm_TGtkTreeViewColumn_reorderable)
 
 proc use_resized_width*(a: var TGtkTreeViewColumn): guint =
@@ -16562,7 +16562,7 @@ proc use_resized_width*(a: var TGtkTreeViewColumn): guint =
 proc set_use_resized_width*(a: var TGtkTreeViewColumn,
                             `use_resized_width`: guint) =
   a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      ((`use_resized_width` shl bp_TGtkTreeViewColumn_use_resized_width) and
+      (int16(`use_resized_width` shl bp_TGtkTreeViewColumn_use_resized_width) and
       bm_TGtkTreeViewColumn_use_resized_width)
 
 proc flags*(a: PGtkRBNode): guint =
@@ -16570,19 +16570,19 @@ proc flags*(a: PGtkRBNode): guint =
 
 proc set_flags*(a: PGtkRBNode, `flags`: guint) =
   a . flag0 = a .
-      flag0 or ((`flags` shl bp_TGtkRBNode_flags) and bm_TGtkRBNode_flags)
+      flag0 or (int16(`flags` shl bp_TGtkRBNode_flags) and bm_TGtkRBNode_flags)
 
 proc parity*(a: PGtkRBNode): guint =
   result = (a . flag0 and bm_TGtkRBNode_parity) shr bp_TGtkRBNode_parity
 
 proc set_parity*(a: PGtkRBNode, `parity`: guint) =
   a . flag0 = a .
-      flag0 or ((`parity` shl bp_TGtkRBNode_parity) and bm_TGtkRBNode_parity)
+      flag0 or (int16(`parity` shl bp_TGtkRBNode_parity) and bm_TGtkRBNode_parity)
 
 proc GTK_RBNODE_GET_COLOR*(node_: PGtkRBNode): guint =
   if node_ == nil:
     Result = GTK_RBNODE_BLACK
-  elif (flags(node_) and GTK_RBNODE_RED) == GTK_RBNODE_RED:
+  elif (int(flags(node_)) and GTK_RBNODE_RED) == GTK_RBNODE_RED:
     Result = GTK_RBNODE_RED
   else:
     Result = GTK_RBNODE_BLACK
@@ -16590,8 +16590,8 @@ proc GTK_RBNODE_GET_COLOR*(node_: PGtkRBNode): guint =
 proc GTK_RBNODE_SET_COLOR*(node_: PGtkRBNode, color: guint) =
   if node_ == nil:
     return
-  if ((flags(node_) and int(color)) != color):
-    set_flags(node_, flags(node_) xor (GTK_RBNODE_RED or GTK_RBNODE_BLACK))
+  if ((flags(node_) and (color)) != color):
+    set_flags(node_, flags(node_) xor cint(GTK_RBNODE_RED or GTK_RBNODE_BLACK))
 
 proc GTK_RBNODE_GET_HEIGHT*(node_: PGtkRBNode): gint =
   var if_local1: gint
@@ -16599,19 +16599,19 @@ proc GTK_RBNODE_GET_HEIGHT*(node_: PGtkRBNode): gint =
     if_local1 = node_.children.root.offset
   else:
     if_local1 = 0
-  result = node_.offset - (int(node_.left.offset) + node_.right.offset + if_local1)
+  result = node_.offset - ((node_.left.offset) + node_.right.offset + if_local1)
 
 proc GTK_RBNODE_FLAG_SET*(node_: PGtkRBNode, flag: guint): bool =
-  result = (node_ != nil) and ((flags(node_) and int(flag)) == flag)
+  result = (node_ != nil) and ((flags(node_) and (flag)) == flag)
 
 proc GTK_RBNODE_SET_FLAG*(node_: PGtkRBNode, flag: guint16) =
-  set_flags(node_, int(flag) or flags(node_))
+  set_flags(node_, (flag) or flags(node_))
 
 proc GTK_RBNODE_UNSET_FLAG*(node_: PGtkRBNode, flag: guint16) =
-  set_flags(node_, (not int(flag)) and flags(node_))
+  set_flags(node_, (not (flag)) and flags(node_))
 
 proc GTK_TREE_VIEW_FLAG_SET*(tree_view: PGtkTreeView, flag: guint): bool =
-  result = ((tree_view.priv.flags) and int(flag)) == flag
+  result = ((tree_view.priv.flags) and (flag)) == flag
 
 proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32 =
   var if_local1: int32
@@ -16623,23 +16623,22 @@ proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32 =
 
 proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32 =
   var MinWidth, MaxWidth: int
-  if column . min_width != - 1:
-    MinWidth = column . min_width
+  if column.min_width != -1'i32:
+    MinWidth = column.min_width
   else:
-    MinWidth = column . requested_width
-  if column . max_width != - 1:
-    MaxWidth = column . max_width
+    MinWidth = column.requested_width
+  if column.max_width != - 1'i32:
+    MaxWidth = column.max_width
   else:
-    MaxWidth = column . requested_width
-  result = CLAMP(column . requested_width, MinWidth,
-      MaxWidth)
+    MaxWidth = column.requested_width
+  result = CLAMP(column.requested_width, MinWidth, MaxWidth)
 
 proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PGtkTreeView): bool =
   result = (not (GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_IS_LIST))) and
       (GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS))
 
 proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PGtkTreeView): int32 =
-  result = 10 * (TREE_VIEW_HEADER_HEIGHT(tree_view))
+  result = 10'i32 * (TREE_VIEW_HEADER_HEIGHT(tree_view))
 
 proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint =
   result = (a.flag0 and bm_TGtkTreeViewPrivate_scroll_to_use_align) shr
@@ -16648,7 +16647,7 @@ proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint =
 proc set_scroll_to_use_align*(a: var TGtkTreeViewPrivate,
                               `scroll_to_use_align`: guint) =
   a.flag0 = a.flag0 or
-      ((`scroll_to_use_align` shl bp_TGtkTreeViewPrivate_scroll_to_use_align) and
+      (int16(`scroll_to_use_align` shl bp_TGtkTreeViewPrivate_scroll_to_use_align) and
       bm_TGtkTreeViewPrivate_scroll_to_use_align)
 
 proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint =
@@ -16658,7 +16657,7 @@ proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint =
 proc set_fixed_height_check*(a: var TGtkTreeViewPrivate,
                              `fixed_height_check`: guint) =
   a.flag0 = a.flag0 or
-      ((`fixed_height_check` shl bp_TGtkTreeViewPrivate_fixed_height_check) and
+      (int16(`fixed_height_check` shl bp_TGtkTreeViewPrivate_fixed_height_check) and
       bm_TGtkTreeViewPrivate_fixed_height_check)
 
 proc reorderable*(a: var TGtkTreeViewPrivate): guint =
@@ -16667,7 +16666,7 @@ proc reorderable*(a: var TGtkTreeViewPrivate): guint =
 
 proc set_reorderable*(a: var TGtkTreeViewPrivate, `reorderable`: guint) =
   a.flag0 = a.flag0 or
-      ((`reorderable` shl bp_TGtkTreeViewPrivate_reorderable) and
+      (int16(`reorderable` shl bp_TGtkTreeViewPrivate_reorderable) and
       bm_TGtkTreeViewPrivate_reorderable)
 
 proc header_has_focus*(a: var TGtkTreeViewPrivate): guint =
@@ -16676,7 +16675,7 @@ proc header_has_focus*(a: var TGtkTreeViewPrivate): guint =
 
 proc set_header_has_focus*(a: var TGtkTreeViewPrivate, `header_has_focus`: guint) =
   a.flag0 = a.flag0 or
-      ((`header_has_focus` shl bp_TGtkTreeViewPrivate_header_has_focus) and
+      (int16(`header_has_focus` shl bp_TGtkTreeViewPrivate_header_has_focus) and
       bm_TGtkTreeViewPrivate_header_has_focus)
 
 proc drag_column_window_state*(a: var TGtkTreeViewPrivate): guint =
@@ -16686,7 +16685,7 @@ proc drag_column_window_state*(a: var TGtkTreeViewPrivate): guint =
 proc set_drag_column_window_state*(a: var TGtkTreeViewPrivate,
                                    `drag_column_window_state`: guint) =
   a.flag0 = a.flag0 or
-      ((`drag_column_window_state` shl
+      (int16(`drag_column_window_state` shl
       bp_TGtkTreeViewPrivate_drag_column_window_state) and
       bm_TGtkTreeViewPrivate_drag_column_window_state)
 
@@ -16696,7 +16695,7 @@ proc has_rules*(a: var TGtkTreeViewPrivate): guint =
 
 proc set_has_rules*(a: var TGtkTreeViewPrivate, `has_rules`: guint) =
   a.flag0 = a.flag0 or
-      ((`has_rules` shl bp_TGtkTreeViewPrivate_has_rules) and
+      (int16(`has_rules` shl bp_TGtkTreeViewPrivate_has_rules) and
       bm_TGtkTreeViewPrivate_has_rules)
 
 proc mark_rows_col_dirty*(a: var TGtkTreeViewPrivate): guint =
@@ -16706,7 +16705,7 @@ proc mark_rows_col_dirty*(a: var TGtkTreeViewPrivate): guint =
 proc set_mark_rows_col_dirty*(a: var TGtkTreeViewPrivate,
                               `mark_rows_col_dirty`: guint) =
   a.flag0 = a.flag0 or
-      ((`mark_rows_col_dirty` shl bp_TGtkTreeViewPrivate_mark_rows_col_dirty) and
+      (int16(`mark_rows_col_dirty` shl bp_TGtkTreeViewPrivate_mark_rows_col_dirty) and
       bm_TGtkTreeViewPrivate_mark_rows_col_dirty)
 
 proc enable_search*(a: var TGtkTreeViewPrivate): guint =
@@ -16715,7 +16714,7 @@ proc enable_search*(a: var TGtkTreeViewPrivate): guint =
 
 proc set_enable_search*(a: var TGtkTreeViewPrivate, `enable_search`: guint) =
   a.flag0 = a.flag0 or
-      ((`enable_search` shl bp_TGtkTreeViewPrivate_enable_search) and
+      (int16(`enable_search` shl bp_TGtkTreeViewPrivate_enable_search) and
       bm_TGtkTreeViewPrivate_enable_search)
 
 proc disable_popdown*(a: var TGtkTreeViewPrivate): guint =
@@ -16724,14 +16723,14 @@ proc disable_popdown*(a: var TGtkTreeViewPrivate): guint =
 
 proc set_disable_popdown*(a: var TGtkTreeViewPrivate, `disable_popdown`: guint) =
   a.flag0 = a.flag0 or
-      ((`disable_popdown` shl bp_TGtkTreeViewPrivate_disable_popdown) and
+      (int16(`disable_popdown` shl bp_TGtkTreeViewPrivate_disable_popdown) and
       bm_TGtkTreeViewPrivate_disable_popdown)
 
 proc GTK_TREE_VIEW_SET_FLAG*(tree_view: PGtkTreeView, flag: guint) =
-  tree_view . priv . flags = tree_view . priv . flags or int(flag)
+  tree_view . priv . flags = tree_view . priv . flags or (flag)
 
 proc GTK_TREE_VIEW_UNSET_FLAG*(tree_view: PGtkTreeView, flag: guint) =
-  tree_view . priv . flags = tree_view . priv . flags and not int(flag)
+  tree_view . priv . flags = tree_view . priv . flags and not (flag)
 
 proc GTK_TYPE_TREE_VIEW*(): GType =
   result = gtk_tree_view_get_type()
diff --git a/lib/base/gtk/libglade2.nim b/lib/base/gtk/libglade2.nim
index 18e76584b..cc90b0623 100644
--- a/lib/base/gtk/libglade2.nim
+++ b/lib/base/gtk/libglade2.nim
@@ -1,14 +1,13 @@
-import 
+import
   glib2, gtk2
 
-when defined(win32): 
-  {.define: gtkwin.}
-  const 
+when defined(win32):
+  const
     LibGladeLib = "libglade-2.0-0.dll"
-else: 
-  const 
+else:
+  const
     LibGladeLib = "libglade-2.0.so"
-type 
+type
   PLongint* = ptr int32
   PSmallInt* = ptr int16
   PByte* = ptr int8
@@ -17,11 +16,11 @@ type
   PDouble* = ptr float64
 
 proc glade_init*(){.cdecl, dynlib: LibGladeLib, importc: "glade_init".}
-proc glade_require*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, 
+proc glade_require*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib,
     importc: "glade_require".}
-proc glade_provide*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, 
+proc glade_provide*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib,
     importc: "glade_provide".}
-type 
+type
   PGladeXMLPrivate* = pointer
   PGladeXML* = ptr TGladeXML
   TGladeXML* = object of TGObject
@@ -31,9 +30,9 @@ type
   PGladeXMLClass* = ptr TGladeXMLClass
   TGladeXMLClass* = object of TGObjectClass
 
-  TGladeXMLConnectFunc* = proc (handler_name: cstring, anObject: PGObject, 
-                                signal_name: cstring, signal_data: cstring, 
-                                connect_object: PGObject, after: gboolean, 
+  TGladeXMLConnectFunc* = proc (handler_name: cstring, anObject: PGObject,
+                                signal_name: cstring, signal_data: cstring,
+                                connect_object: PGObject, after: gboolean,
                                 user_data: gpointer){.cdecl.}
 
 proc GLADE_TYPE_XML*(): GType
@@ -42,76 +41,76 @@ proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass
 proc GLADE_IS_XML*(obj: pointer): gboolean
 proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean
 proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass
-proc glade_xml_get_type*(): GType{.cdecl, dynlib: LibGladeLib, 
+proc glade_xml_get_type*(): GType{.cdecl, dynlib: LibGladeLib,
                                    importc: "glade_xml_get_type".}
 proc glade_xml_new*(fname: cstring, root: cstring, domain: cstring): PGladeXML{.
     cdecl, dynlib: LibGladeLib, importc: "glade_xml_new".}
-proc glade_xml_new_from_buffer*(buffer: cstring, size: int32, root: cstring, 
-                                domain: cstring): PGladeXML{.cdecl, 
+proc glade_xml_new_from_buffer*(buffer: cstring, size: int32, root: cstring,
+                                domain: cstring): PGladeXML{.cdecl,
     dynlib: LibGladeLib, importc: "glade_xml_new_from_buffer".}
-proc glade_xml_construct*(self: PGladeXML, fname: cstring, root: cstring, 
-                          domain: cstring): gboolean{.cdecl, 
+proc glade_xml_construct*(self: PGladeXML, fname: cstring, root: cstring,
+                          domain: cstring): gboolean{.cdecl,
     dynlib: LibGladeLib, importc: "glade_xml_construct".}
-proc glade_xml_signal_connect*(self: PGladeXML, handlername: cstring, 
-                               func: TGCallback){.cdecl, dynlib: LibGladeLib, 
+proc glade_xml_signal_connect*(self: PGladeXML, handlername: cstring,
+                               func: TGCallback){.cdecl, dynlib: LibGladeLib,
     importc: "glade_xml_signal_connect".}
-proc glade_xml_signal_connect_data*(self: PGladeXML, handlername: cstring, 
+proc glade_xml_signal_connect_data*(self: PGladeXML, handlername: cstring,
                                     func: TGCallback, user_data: gpointer){.
     cdecl, dynlib: LibGladeLib, importc: "glade_xml_signal_connect_data".}
-proc glade_xml_signal_autoconnect*(self: PGladeXML){.cdecl, dynlib: LibGladeLib, 
+proc glade_xml_signal_autoconnect*(self: PGladeXML){.cdecl, dynlib: LibGladeLib,
     importc: "glade_xml_signal_autoconnect".}
-proc glade_xml_signal_connect_full*(self: PGladeXML, handler_name: cstring, 
-                                    func: TGladeXMLConnectFunc, 
-                                    user_data: gpointer){.cdecl, 
+proc glade_xml_signal_connect_full*(self: PGladeXML, handler_name: cstring,
+                                    func: TGladeXMLConnectFunc,
+                                    user_data: gpointer){.cdecl,
     dynlib: LibGladeLib, importc: "glade_xml_signal_connect_full".}
-proc glade_xml_signal_autoconnect_full*(self: PGladeXML, 
-                                        func: TGladeXMLConnectFunc, 
-                                        user_data: gpointer){.cdecl, 
+proc glade_xml_signal_autoconnect_full*(self: PGladeXML,
+                                        func: TGladeXMLConnectFunc,
+                                        user_data: gpointer){.cdecl,
     dynlib: LibGladeLib, importc: "glade_xml_signal_autoconnect_full".}
-proc glade_xml_get_widget*(self: PGladeXML, name: cstring): PGtkWidget{.cdecl, 
+proc glade_xml_get_widget*(self: PGladeXML, name: cstring): PGtkWidget{.cdecl,
     dynlib: LibGladeLib, importc: "glade_xml_get_widget".}
 proc glade_xml_get_widget_prefix*(self: PGladeXML, name: cstring): PGList{.
     cdecl, dynlib: LibGladeLib, importc: "glade_xml_get_widget_prefix".}
-proc glade_xml_relative_file*(self: PGladeXML, filename: cstring): cstring{.cdecl, 
+proc glade_xml_relative_file*(self: PGladeXML, filename: cstring): cstring{.cdecl,
     dynlib: LibGladeLib, importc: "glade_xml_relative_file".}
-proc glade_get_widget_name*(widget: PGtkWidget): cstring{.cdecl, 
+proc glade_get_widget_name*(widget: PGtkWidget): cstring{.cdecl,
     dynlib: LibGladeLib, importc: "glade_get_widget_name".}
-proc glade_get_widget_tree*(widget: PGtkWidget): PGladeXML{.cdecl, 
+proc glade_get_widget_tree*(widget: PGtkWidget): PGladeXML{.cdecl,
     dynlib: LibGladeLib, importc: "glade_get_widget_tree".}
-type 
+type
   PGladeXMLCustomWidgetHandler* = ptr TGladeXMLCustomWidgetHandler
   TGladeXMLCustomWidgetHandler* = TGtkWidget
 
-proc glade_set_custom_handler*(handler: TGladeXMLCustomWidgetHandler, 
-                               user_data: gpointer){.cdecl, dynlib: LibGladeLib, 
+proc glade_set_custom_handler*(handler: TGladeXMLCustomWidgetHandler,
+                               user_data: gpointer){.cdecl, dynlib: LibGladeLib,
     importc: "glade_set_custom_handler".}
-proc glade_gnome_init*() = 
+proc glade_gnome_init*() =
   glade_init()
 
-proc glade_bonobo_init*() = 
+proc glade_bonobo_init*() =
   glade_init()
 
-proc glade_xml_new_with_domain*(fname: cstring, root: cstring, domain: cstring): PGladeXML = 
+proc glade_xml_new_with_domain*(fname: cstring, root: cstring, domain: cstring): PGladeXML =
   result = glade_xml_new(fname, root, domain)
 
-proc glade_xml_new_from_memory*(buffer: cstring, size: int32, root: cstring, 
-                                domain: cstring): PGladeXML = 
+proc glade_xml_new_from_memory*(buffer: cstring, size: int32, root: cstring,
+                                domain: cstring): PGladeXML =
   result = glade_xml_new_from_buffer(buffer, size, root, domain)
 
-proc GLADE_TYPE_XML*(): GType = 
+proc GLADE_TYPE_XML*(): GType =
   result = glade_xml_get_type()
 
-proc GLADE_XML*(obj: pointer): PGladeXML = 
+proc GLADE_XML*(obj: pointer): PGladeXML =
   result = cast[PGladeXML](G_TYPE_CHECK_INSTANCE_CAST(obj, GLADE_TYPE_XML()))
 
-proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass = 
+proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass =
   result = cast[PGladeXMLClass](G_TYPE_CHECK_CLASS_CAST(klass, GLADE_TYPE_XML()))
 
-proc GLADE_IS_XML*(obj: pointer): gboolean = 
+proc GLADE_IS_XML*(obj: pointer): gboolean =
   result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GLADE_TYPE_XML())
 
-proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean = 
+proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, GLADE_TYPE_XML())
 
-proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass = 
+proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass =
   result = cast[PGladeXMLClass](G_TYPE_INSTANCE_GET_CLASS(obj, GLADE_TYPE_XML()))
diff --git a/lib/base/gtk/pango.nim b/lib/base/gtk/pango.nim
index 142ab4aa2..363d02cd6 100644
--- a/lib/base/gtk/pango.nim
+++ b/lib/base/gtk/pango.nim
@@ -1,21 +1,18 @@
-import 
+import
   glib2
 
-{.define: PANGO_ENABLE_ENGINE.}
-{.define: PANGO_ENABLE_BACKEND.}
-when defined(win32): 
-  {.define: pangowin.}
-  const 
+when defined(win32):
+  const
     pangolib* = "libpango-1.0-0.dll"
-else: 
-  const 
+else:
+  const
     pangolib* = "libpango-1.0.so.0"
-type 
+type
   PPangoFont* = pointer
   PPangoFontFamily* = pointer
   PPangoFontset* = pointer
   PPangoFontMetrics* = pointer
-  PPangoFontFace* = pointer 
+  PPangoFontFace* = pointer
   PPangoFontMap* = pointer
   PPangoFontsetClass* = pointer
   PPangoFontFamilyClass* = pointer
@@ -50,18 +47,18 @@ type
   PPangoGlyph* = ptr TPangoGlyph
   TPangoGlyph* = guint32
   PPangoRectangle* = ptr TPangoRectangle
-  TPangoRectangle* {.final.} = object 
+  TPangoRectangle* {.final.} = object
     x*: int32
     y*: int32
     width*: int32
     height*: int32
 
   PPangoDirection* = ptr TPangoDirection
-  TPangoDirection* = enum 
-    PANGO_DIRECTION_LTR, PANGO_DIRECTION_RTL, PANGO_DIRECTION_TTB_LTR, 
+  TPangoDirection* = enum
+    PANGO_DIRECTION_LTR, PANGO_DIRECTION_RTL, PANGO_DIRECTION_TTB_LTR,
     PANGO_DIRECTION_TTB_RTL
   PPangoColor* = ptr TPangoColor
-  TPangoColor* {.final.} = object 
+  TPangoColor* {.final.} = object
     red*: guint16
     green*: guint16
     blue*: guint16
@@ -72,12 +69,12 @@ type
   TPangoUnderline* = int32
   PPangoAttribute* = ptr TPangoAttribute
   PPangoAttrClass* = ptr TPangoAttrClass
-  TPangoAttribute* {.final.} = object 
+  TPangoAttribute* {.final.} = object
     klass*: PPangoAttrClass
     start_index*: int
     end_index*: int
 
-  TPangoAttrClass* {.final.} = object 
+  TPangoAttrClass* {.final.} = object
     `type`*: TPangoAttrType
     copy*: proc (attr: PPangoAttribute): PPangoAttribute{.cdecl.}
     destroy*: proc (attr: PPangoAttribute){.cdecl.}
@@ -85,69 +82,69 @@ type
         cdecl.}
 
   PPangoAttrString* = ptr TPangoAttrString
-  TPangoAttrString* {.final.} = object 
+  TPangoAttrString* {.final.} = object
     attr*: TPangoAttribute
     value*: cstring
 
   PPangoAttrLanguage* = ptr TPangoAttrLanguage
-  TPangoAttrLanguage* {.final.} = object 
+  TPangoAttrLanguage* {.final.} = object
     attr*: TPangoAttribute
     value*: PPangoLanguage
 
   PPangoAttrInt* = ptr TPangoAttrInt
-  TPangoAttrInt* {.final.} = object 
+  TPangoAttrInt* {.final.} = object
     attr*: TPangoAttribute
     value*: int32
 
   PPangoAttrFloat* = ptr TPangoAttrFloat
-  TPangoAttrFloat* {.final.} = object 
+  TPangoAttrFloat* {.final.} = object
     attr*: TPangoAttribute
     value*: gdouble
 
   PPangoAttrColor* = ptr TPangoAttrColor
-  TPangoAttrColor* {.final.} = object 
+  TPangoAttrColor* {.final.} = object
     attr*: TPangoAttribute
     color*: TPangoColor
 
   PPangoAttrShape* = ptr TPangoAttrShape
-  TPangoAttrShape* {.final.} = object 
+  TPangoAttrShape* {.final.} = object
     attr*: TPangoAttribute
     ink_rect*: TPangoRectangle
     logical_rect*: TPangoRectangle
 
   PPangoAttrFontDesc* = ptr TPangoAttrFontDesc
-  TPangoAttrFontDesc* {.final.} = object 
+  TPangoAttrFontDesc* {.final.} = object
     attr*: TPangoAttribute
     desc*: PPangoFontDescription
 
   PPangoLogAttr* = ptr TPangoLogAttr
-  TPangoLogAttr* {.final.} = object 
+  TPangoLogAttr* {.final.} = object
     flag0*: guint16
 
   PPangoCoverageLevel* = ptr TPangoCoverageLevel
-  TPangoCoverageLevel* = enum 
-    PANGO_COVERAGE_NONE, PANGO_COVERAGE_FALLBACK, PANGO_COVERAGE_APPROXIMATE, 
+  TPangoCoverageLevel* = enum
+    PANGO_COVERAGE_NONE, PANGO_COVERAGE_FALLBACK, PANGO_COVERAGE_APPROXIMATE,
     PANGO_COVERAGE_EXACT
   PPangoBlockInfo* = ptr TPangoBlockInfo
-  TPangoBlockInfo* {.final.} = object 
+  TPangoBlockInfo* {.final.} = object
     data*: Pguchar
     level*: TPangoCoverageLevel
 
   PPangoCoverage* = ptr TPangoCoverage
-  TPangoCoverage* {.final.} = object 
+  TPangoCoverage* {.final.} = object
     ref_count*: int
     n_blocks*: int32
     data_size*: int32
     blocks*: PPangoBlockInfo
 
   PPangoEngineRange* = ptr TPangoEngineRange
-  TPangoEngineRange* {.final.} = object 
+  TPangoEngineRange* {.final.} = object
     start*: int32
     theEnd*: int32
     langs*: cstring
 
   PPangoEngineInfo* = ptr TPangoEngineInfo
-  TPangoEngineInfo* {.final.} = object 
+  TPangoEngineInfo* {.final.} = object
     id*: cstring
     engine_type*: cstring
     render_type*: cstring
@@ -155,28 +152,28 @@ type
     n_ranges*: gint
 
   PPangoEngine* = ptr TPangoEngine
-  TPangoEngine* {.final.} = object 
+  TPangoEngine* {.final.} = object
     id*: cstring
     `type`*: cstring
     length*: gint
 
-  TPangoEngineLangScriptBreak* = proc (text: cstring, len: int32, 
-                                       analysis: PPangoAnalysis, 
+  TPangoEngineLangScriptBreak* = proc (text: cstring, len: int32,
+                                       analysis: PPangoAnalysis,
                                        attrs: PPangoLogAttr, attrs_len: int32){.
       cdecl.}
   PPangoEngineLang* = ptr TPangoEngineLang
-  TPangoEngineLang* {.final.} = object 
+  TPangoEngineLang* {.final.} = object
     engine*: TPangoEngine
     script_break*: TPangoEngineLangScriptBreak
 
-  TPangoEngineShapeScript* = proc (font: PPangoFont, text: cstring, 
-                                   length: int32, analysis: PPangoAnalysis, 
+  TPangoEngineShapeScript* = proc (font: PPangoFont, text: cstring,
+                                   length: int32, analysis: PPangoAnalysis,
                                    glyphs: PPangoGlyphString){.cdecl.}
-  TPangoEngineShapeGetCoverage* = proc (font: PPangoFont, 
+  TPangoEngineShapeGetCoverage* = proc (font: PPangoFont,
                                         language: PPangoLanguage): PPangoCoverage{.
       cdecl.}
   PPangoEngineShape* = ptr TPangoEngineShape
-  TPangoEngineShape* {.final.} = object 
+  TPangoEngineShape* {.final.} = object
     engine*: TPangoEngine
     script_shape*: TPangoEngineShapeScript
     get_coverage*: TPangoEngineShapeGetCoverage
@@ -194,28 +191,28 @@ type
   PPangoGlyphUnit* = ptr TPangoGlyphUnit
   TPangoGlyphUnit* = gint32
   PPangoGlyphGeometry* = ptr TPangoGlyphGeometry
-  TPangoGlyphGeometry* {.final.} = object 
+  TPangoGlyphGeometry* {.final.} = object
     width*: TPangoGlyphUnit
     x_offset*: TPangoGlyphUnit
     y_offset*: TPangoGlyphUnit
 
   PPangoGlyphVisAttr* = ptr TPangoGlyphVisAttr
-  TPangoGlyphVisAttr* {.final.} = object 
+  TPangoGlyphVisAttr* {.final.} = object
     flag0*: int16
 
   PPangoGlyphInfo* = ptr TPangoGlyphInfo
-  TPangoGlyphInfo* {.final.} = object 
+  TPangoGlyphInfo* {.final.} = object
     glyph*: TPangoGlyph
     geometry*: TPangoGlyphGeometry
     attr*: TPangoGlyphVisAttr
 
-  TPangoGlyphString* {.final.} = object 
+  TPangoGlyphString* {.final.} = object
     num_glyphs*: gint
     glyphs*: PPangoGlyphInfo
     log_clusters*: Pgint
     space*: gint
 
-  TPangoAnalysis* {.final.} = object 
+  TPangoAnalysis* {.final.} = object
     shape_engine*: PPangoEngineShape
     lang_engine*: PPangoEngineLang
     font*: PPangoFont
@@ -223,35 +220,35 @@ type
     language*: PPangoLanguage
     extra_attrs*: PGSList
 
-  TPangoItem* {.final.} = object 
+  TPangoItem* {.final.} = object
     offset*: gint
     length*: gint
     num_chars*: gint
     analysis*: TPangoAnalysis
 
   PPangoAlignment* = ptr TPangoAlignment
-  TPangoAlignment* = enum 
+  TPangoAlignment* = enum
     PANGO_ALIGN_LEFT, PANGO_ALIGN_CENTER, PANGO_ALIGN_RIGHT
   PPangoWrapMode* = ptr TPangoWrapMode
-  TPangoWrapMode* = enum 
+  TPangoWrapMode* = enum
     PANGO_WRAP_WORD, PANGO_WRAP_CHAR
   PPangoLayoutLine* = ptr TPangoLayoutLine
-  TPangoLayoutLine* {.final.} = object 
+  TPangoLayoutLine* {.final.} = object
     layout*: PPangoLayout
     start_index*: gint
     length*: gint
     runs*: PGSList
 
   PPangoLayoutRun* = ptr TPangoLayoutRun
-  TPangoLayoutRun* {.final.} = object 
+  TPangoLayoutRun* {.final.} = object
     item*: PPangoItem
     glyphs*: PPangoGlyphString
 
   PPangoTabAlign* = ptr TPangoTabAlign
-  TPangoTabAlign* = enum 
+  TPangoTabAlign* = enum
     PANGO_TAB_LEFT
 
-const 
+const
   PANGO_SCALE* = 1024
 
 proc PANGO_PIXELS*(d: int): int
@@ -260,14 +257,14 @@ proc PANGO_DESCENT*(rect: TPangoRectangle): int32
 proc PANGO_LBEARING*(rect: TPangoRectangle): int32
 proc PANGO_RBEARING*(rect: TPangoRectangle): int32
 proc PANGO_TYPE_LANGUAGE*(): GType
-proc pango_language_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_language_get_type*(): GType{.cdecl, dynlib: pangolib,
                                         importc: "pango_language_get_type".}
-proc pango_language_from_string*(language: cstring): PPangoLanguage{.cdecl, 
+proc pango_language_from_string*(language: cstring): PPangoLanguage{.cdecl,
     dynlib: pangolib, importc: "pango_language_from_string".}
 proc pango_language_to_string*(language: PPangoLanguage): cstring
 proc pango_language_matches*(language: PPangoLanguage, range_list: cstring): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_language_matches".}
-const 
+const
   PANGO_ATTR_INVALID* = 0
   PANGO_ATTR_LANGUAGE* = 1
   PANGO_ATTR_FAMILY* = 2
@@ -290,40 +287,40 @@ const
   PANGO_UNDERLINE_LOW* = 3
 
 proc PANGO_TYPE_COLOR*(): GType
-proc pango_color_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_color_get_type*(): GType{.cdecl, dynlib: pangolib,
                                      importc: "pango_color_get_type".}
-proc pango_color_copy*(src: PPangoColor): PPangoColor{.cdecl, dynlib: pangolib, 
+proc pango_color_copy*(src: PPangoColor): PPangoColor{.cdecl, dynlib: pangolib,
     importc: "pango_color_copy".}
-proc pango_color_free*(color: PPangoColor){.cdecl, dynlib: pangolib, 
+proc pango_color_free*(color: PPangoColor){.cdecl, dynlib: pangolib,
     importc: "pango_color_free".}
-proc pango_color_parse*(color: PPangoColor, spec: cstring): gboolean{.cdecl, 
+proc pango_color_parse*(color: PPangoColor, spec: cstring): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_color_parse".}
 proc PANGO_TYPE_ATTR_LIST*(): GType
-proc pango_attr_type_register*(name: cstring): TPangoAttrType{.cdecl, 
+proc pango_attr_type_register*(name: cstring): TPangoAttrType{.cdecl,
     dynlib: pangolib, importc: "pango_attr_type_register".}
-proc pango_attribute_copy*(attr: PPangoAttribute): PPangoAttribute{.cdecl, 
+proc pango_attribute_copy*(attr: PPangoAttribute): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attribute_copy".}
-proc pango_attribute_destroy*(attr: PPangoAttribute){.cdecl, dynlib: pangolib, 
+proc pango_attribute_destroy*(attr: PPangoAttribute){.cdecl, dynlib: pangolib,
     importc: "pango_attribute_destroy".}
 proc pango_attribute_equal*(attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_attribute_equal".}
-proc pango_attr_language_new*(language: PPangoLanguage): PPangoAttribute{.cdecl, 
+proc pango_attr_language_new*(language: PPangoLanguage): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_language_new".}
-proc pango_attr_family_new*(family: cstring): PPangoAttribute{.cdecl, 
+proc pango_attr_family_new*(family: cstring): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_family_new".}
 proc pango_attr_foreground_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{.
     cdecl, dynlib: pangolib, importc: "pango_attr_foreground_new".}
 proc pango_attr_background_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{.
     cdecl, dynlib: pangolib, importc: "pango_attr_background_new".}
-proc pango_attr_size_new*(size: int32): PPangoAttribute{.cdecl, 
+proc pango_attr_size_new*(size: int32): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_size_new".}
-proc pango_attr_style_new*(style: TPangoStyle): PPangoAttribute{.cdecl, 
+proc pango_attr_style_new*(style: TPangoStyle): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_style_new".}
-proc pango_attr_weight_new*(weight: TPangoWeight): PPangoAttribute{.cdecl, 
+proc pango_attr_weight_new*(weight: TPangoWeight): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_weight_new".}
-proc pango_attr_variant_new*(variant: TPangoVariant): PPangoAttribute{.cdecl, 
+proc pango_attr_variant_new*(variant: TPangoVariant): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_variant_new".}
-proc pango_attr_stretch_new*(stretch: TPangoStretch): PPangoAttribute{.cdecl, 
+proc pango_attr_stretch_new*(stretch: TPangoStretch): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_stretch_new".}
 proc pango_attr_font_desc_new*(desc: PPangoFontDescription): PPangoAttribute{.
     cdecl, dynlib: pangolib, importc: "pango_attr_font_desc_new".}
@@ -331,22 +328,22 @@ proc pango_attr_underline_new*(underline: TPangoUnderline): PPangoAttribute{.
     cdecl, dynlib: pangolib, importc: "pango_attr_underline_new".}
 proc pango_attr_strikethrough_new*(strikethrough: gboolean): PPangoAttribute{.
     cdecl, dynlib: pangolib, importc: "pango_attr_strikethrough_new".}
-proc pango_attr_rise_new*(rise: int32): PPangoAttribute{.cdecl, 
+proc pango_attr_rise_new*(rise: int32): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_rise_new".}
-proc pango_attr_shape_new*(ink_rect: PPangoRectangle, 
+proc pango_attr_shape_new*(ink_rect: PPangoRectangle,
                            logical_rect: PPangoRectangle): PPangoAttribute{.
     cdecl, dynlib: pangolib, importc: "pango_attr_shape_new".}
-proc pango_attr_scale_new*(scale_factor: gdouble): PPangoAttribute{.cdecl, 
+proc pango_attr_scale_new*(scale_factor: gdouble): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_scale_new".}
-proc pango_attr_list_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_attr_list_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_attr_list_get_type".}
-proc pango_attr_list_new*(): PPangoAttrList{.cdecl, dynlib: pangolib, 
+proc pango_attr_list_new*(): PPangoAttrList{.cdecl, dynlib: pangolib,
     importc: "pango_attr_list_new".}
-proc pango_attr_list_ref*(list: PPangoAttrList){.cdecl, dynlib: pangolib, 
+proc pango_attr_list_ref*(list: PPangoAttrList){.cdecl, dynlib: pangolib,
     importc: "pango_attr_list_ref".}
-proc pango_attr_list_unref*(list: PPangoAttrList){.cdecl, dynlib: pangolib, 
+proc pango_attr_list_unref*(list: PPangoAttrList){.cdecl, dynlib: pangolib,
     importc: "pango_attr_list_unref".}
-proc pango_attr_list_copy*(list: PPangoAttrList): PPangoAttrList{.cdecl, 
+proc pango_attr_list_copy*(list: PPangoAttrList): PPangoAttrList{.cdecl,
     dynlib: pangolib, importc: "pango_attr_list_copy".}
 proc pango_attr_list_insert*(list: PPangoAttrList, attr: PPangoAttribute){.
     cdecl, dynlib: pangolib, importc: "pango_attr_list_insert".}
@@ -354,53 +351,53 @@ proc pango_attr_list_insert_before*(list: PPangoAttrList, attr: PPangoAttribute)
     cdecl, dynlib: pangolib, importc: "pango_attr_list_insert_before".}
 proc pango_attr_list_change*(list: PPangoAttrList, attr: PPangoAttribute){.
     cdecl, dynlib: pangolib, importc: "pango_attr_list_change".}
-proc pango_attr_list_splice*(list: PPangoAttrList, other: PPangoAttrList, 
-                             pos: gint, len: gint){.cdecl, dynlib: pangolib, 
+proc pango_attr_list_splice*(list: PPangoAttrList, other: PPangoAttrList,
+                             pos: gint, len: gint){.cdecl, dynlib: pangolib,
     importc: "pango_attr_list_splice".}
 proc pango_attr_list_get_iterator*(list: PPangoAttrList): PPangoAttrIterator{.
     cdecl, dynlib: pangolib, importc: "pango_attr_list_get_iterator".}
-proc pango_attr_iterator_range*(`iterator`: PPangoAttrIterator, start: Pgint, 
-                                theEnd: Pgint){.cdecl, dynlib: pangolib, 
+proc pango_attr_iterator_range*(`iterator`: PPangoAttrIterator, start: Pgint,
+                                theEnd: Pgint){.cdecl, dynlib: pangolib,
     importc: "pango_attr_iterator_range".}
-proc pango_attr_iterator_next*(`iterator`: PPangoAttrIterator): gboolean{.cdecl, 
+proc pango_attr_iterator_next*(`iterator`: PPangoAttrIterator): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_attr_iterator_next".}
 proc pango_attr_iterator_copy*(`iterator`: PPangoAttrIterator): PPangoAttrIterator{.
     cdecl, dynlib: pangolib, importc: "pango_attr_iterator_copy".}
-proc pango_attr_iterator_destroy*(`iterator`: PPangoAttrIterator){.cdecl, 
+proc pango_attr_iterator_destroy*(`iterator`: PPangoAttrIterator){.cdecl,
     dynlib: pangolib, importc: "pango_attr_iterator_destroy".}
-proc pango_attr_iterator_get*(`iterator`: PPangoAttrIterator, 
-                              `type`: TPangoAttrType): PPangoAttribute{.cdecl, 
+proc pango_attr_iterator_get*(`iterator`: PPangoAttrIterator,
+                              `type`: TPangoAttrType): PPangoAttribute{.cdecl,
     dynlib: pangolib, importc: "pango_attr_iterator_get".}
-proc pango_attr_iterator_get_font*(`iterator`: PPangoAttrIterator, 
-                                   desc: PPangoFontDescription, 
-                                   language: var PPangoLanguage, 
-                                   extra_attrs: PPGSList){.cdecl, 
+proc pango_attr_iterator_get_font*(`iterator`: PPangoAttrIterator,
+                                   desc: PPangoFontDescription,
+                                   language: var PPangoLanguage,
+                                   extra_attrs: PPGSList){.cdecl,
     dynlib: pangolib, importc: "pango_attr_iterator_get_font".}
-proc pango_parse_markup*(markup_text: cstring, length: int32, 
-                         accel_marker: gunichar, attr_list: var PPangoAttrList, 
+proc pango_parse_markup*(markup_text: cstring, length: int32,
+                         accel_marker: gunichar, attr_list: var PPangoAttrList,
                          text: PPchar, accel_char: Pgunichar, error: pointer): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_parse_markup".}
-const 
-  bm_TPangoLogAttr_is_line_break* = 0x00000001
-  bp_TPangoLogAttr_is_line_break* = 0
-  bm_TPangoLogAttr_is_mandatory_break* = 0x00000002
-  bp_TPangoLogAttr_is_mandatory_break* = 1
-  bm_TPangoLogAttr_is_char_break* = 0x00000004
-  bp_TPangoLogAttr_is_char_break* = 2
-  bm_TPangoLogAttr_is_white* = 0x00000008
-  bp_TPangoLogAttr_is_white* = 3
-  bm_TPangoLogAttr_is_cursor_position* = 0x00000010
-  bp_TPangoLogAttr_is_cursor_position* = 4
-  bm_TPangoLogAttr_is_word_start* = 0x00000020
-  bp_TPangoLogAttr_is_word_start* = 5
-  bm_TPangoLogAttr_is_word_end* = 0x00000040
-  bp_TPangoLogAttr_is_word_end* = 6
-  bm_TPangoLogAttr_is_sentence_boundary* = 0x00000080
-  bp_TPangoLogAttr_is_sentence_boundary* = 7
-  bm_TPangoLogAttr_is_sentence_start* = 0x00000100
-  bp_TPangoLogAttr_is_sentence_start* = 8
-  bm_TPangoLogAttr_is_sentence_end* = 0x00000200
-  bp_TPangoLogAttr_is_sentence_end* = 9
+const
+  bm_TPangoLogAttr_is_line_break* = 0x00000001'i16
+  bp_TPangoLogAttr_is_line_break* = 0'i16
+  bm_TPangoLogAttr_is_mandatory_break* = 0x00000002'i16
+  bp_TPangoLogAttr_is_mandatory_break* = 1'i16
+  bm_TPangoLogAttr_is_char_break* = 0x00000004'i16
+  bp_TPangoLogAttr_is_char_break* = 2'i16
+  bm_TPangoLogAttr_is_white* = 0x00000008'i16
+  bp_TPangoLogAttr_is_white* = 3'i16
+  bm_TPangoLogAttr_is_cursor_position* = 0x00000010'i16
+  bp_TPangoLogAttr_is_cursor_position* = 4'i16
+  bm_TPangoLogAttr_is_word_start* = 0x00000020'i16
+  bp_TPangoLogAttr_is_word_start* = 5'i16
+  bm_TPangoLogAttr_is_word_end* = 0x00000040'i16
+  bp_TPangoLogAttr_is_word_end* = 6'i16
+  bm_TPangoLogAttr_is_sentence_boundary* = 0x00000080'i16
+  bp_TPangoLogAttr_is_sentence_boundary* = 7'i16
+  bm_TPangoLogAttr_is_sentence_start* = 0x00000100'i16
+  bp_TPangoLogAttr_is_sentence_start* = 8'i16
+  bm_TPangoLogAttr_is_sentence_end* = 0x00000200'i16
+  bp_TPangoLogAttr_is_sentence_end* = 9'i16
 
 proc is_line_break*(a: var TPangoLogAttr): guint
 proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint)
@@ -417,22 +414,22 @@ proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint)
 proc is_word_end*(a: var TPangoLogAttr): guint
 proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint)
 proc is_sentence_boundary*(a: var TPangoLogAttr): guint
-proc set_is_sentence_boundary*(a: var TPangoLogAttr, 
+proc set_is_sentence_boundary*(a: var TPangoLogAttr,
                                `is_sentence_boundary`: guint)
 proc is_sentence_start*(a: var TPangoLogAttr): guint
 proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint)
 proc is_sentence_end*(a: var TPangoLogAttr): guint
 proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint)
-proc pango_break*(text: cstring, length: int32, analysis: PPangoAnalysis, 
-                  attrs: PPangoLogAttr, attrs_len: int32){.cdecl, 
+proc pango_break*(text: cstring, length: int32, analysis: PPangoAnalysis,
+                  attrs: PPangoLogAttr, attrs_len: int32){.cdecl,
     dynlib: pangolib, importc: "pango_break".}
-proc pango_find_paragraph_boundary*(text: cstring, length: gint, 
-                                    paragraph_delimiter_index: Pgint, 
-                                    next_paragraph_start: Pgint){.cdecl, 
+proc pango_find_paragraph_boundary*(text: cstring, length: gint,
+                                    paragraph_delimiter_index: Pgint,
+                                    next_paragraph_start: Pgint){.cdecl,
     dynlib: pangolib, importc: "pango_find_paragraph_boundary".}
-proc pango_get_log_attrs*(text: cstring, length: int32, level: int32, 
-                          language: PPangoLanguage, log_attrs: PPangoLogAttr, 
-                          attrs_len: int32){.cdecl, dynlib: pangolib, 
+proc pango_get_log_attrs*(text: cstring, length: int32, level: int32,
+                          language: PPangoLanguage, log_attrs: PPangoLogAttr,
+                          attrs_len: int32){.cdecl, dynlib: pangolib,
     importc: "pango_get_log_attrs".}
 proc PANGO_TYPE_CONTEXT*(): GType
 proc PANGO_CONTEXT*(anObject: pointer): PPangoContext
@@ -440,71 +437,71 @@ proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass
 proc PANGO_IS_CONTEXT*(anObject: pointer): bool
 proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool
 proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass
-proc pango_context_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_context_get_type*(): GType{.cdecl, dynlib: pangolib,
                                        importc: "pango_context_get_type".}
-proc pango_context_list_families*(context: PPangoContext, 
-                                  families: openarray[ptr PPangoFontFamily]){.cdecl, 
+proc pango_context_list_families*(context: PPangoContext,
+                                  families: openarray[ptr PPangoFontFamily]){.cdecl,
     dynlib: pangolib, importc: "pango_context_list_families".}
-proc pango_context_load_font*(context: PPangoContext, 
-                              desc: PPangoFontDescription): PPangoFont{.cdecl, 
+proc pango_context_load_font*(context: PPangoContext,
+                              desc: PPangoFontDescription): PPangoFont{.cdecl,
     dynlib: pangolib, importc: "pango_context_load_font".}
-proc pango_context_load_fontset*(context: PPangoContext, 
-                                 desc: PPangoFontDescription, 
+proc pango_context_load_fontset*(context: PPangoContext,
+                                 desc: PPangoFontDescription,
                                  language: PPangoLanguage): PPangoFontset{.
     cdecl, dynlib: pangolib, importc: "pango_context_load_fontset".}
-proc pango_context_get_metrics*(context: PPangoContext, 
-                                desc: PPangoFontDescription, 
+proc pango_context_get_metrics*(context: PPangoContext,
+                                desc: PPangoFontDescription,
                                 language: PPangoLanguage): PPangoFontMetrics{.
     cdecl, dynlib: pangolib, importc: "pango_context_get_metrics".}
-proc pango_context_set_font_description*(context: PPangoContext, 
-    desc: PPangoFontDescription){.cdecl, dynlib: pangolib, 
+proc pango_context_set_font_description*(context: PPangoContext,
+    desc: PPangoFontDescription){.cdecl, dynlib: pangolib,
                                   importc: "pango_context_set_font_description".}
 proc pango_context_get_font_description*(context: PPangoContext): PPangoFontDescription{.
     cdecl, dynlib: pangolib, importc: "pango_context_get_font_description".}
-proc pango_context_get_language*(context: PPangoContext): PPangoLanguage{.cdecl, 
+proc pango_context_get_language*(context: PPangoContext): PPangoLanguage{.cdecl,
     dynlib: pangolib, importc: "pango_context_get_language".}
-proc pango_context_set_language*(context: PPangoContext, 
-                                 language: PPangoLanguage){.cdecl, 
+proc pango_context_set_language*(context: PPangoContext,
+                                 language: PPangoLanguage){.cdecl,
     dynlib: pangolib, importc: "pango_context_set_language".}
-proc pango_context_set_base_dir*(context: PPangoContext, 
-                                 direction: TPangoDirection){.cdecl, 
+proc pango_context_set_base_dir*(context: PPangoContext,
+                                 direction: TPangoDirection){.cdecl,
     dynlib: pangolib, importc: "pango_context_set_base_dir".}
 proc pango_context_get_base_dir*(context: PPangoContext): TPangoDirection{.
     cdecl, dynlib: pangolib, importc: "pango_context_get_base_dir".}
-proc pango_itemize*(context: PPangoContext, text: cstring, start_index: int32, 
-                    length: int32, attrs: PPangoAttrList, 
-                    cached_iter: PPangoAttrIterator): PGList{.cdecl, 
+proc pango_itemize*(context: PPangoContext, text: cstring, start_index: int32,
+                    length: int32, attrs: PPangoAttrList,
+                    cached_iter: PPangoAttrIterator): PGList{.cdecl,
     dynlib: pangolib, importc: "pango_itemize".}
-proc pango_coverage_new*(): PPangoCoverage{.cdecl, dynlib: pangolib, 
+proc pango_coverage_new*(): PPangoCoverage{.cdecl, dynlib: pangolib,
     importc: "pango_coverage_new".}
-proc pango_coverage_ref*(coverage: PPangoCoverage): PPangoCoverage{.cdecl, 
+proc pango_coverage_ref*(coverage: PPangoCoverage): PPangoCoverage{.cdecl,
     dynlib: pangolib, importc: "pango_coverage_ref".}
-proc pango_coverage_unref*(coverage: PPangoCoverage){.cdecl, dynlib: pangolib, 
+proc pango_coverage_unref*(coverage: PPangoCoverage){.cdecl, dynlib: pangolib,
     importc: "pango_coverage_unref".}
-proc pango_coverage_copy*(coverage: PPangoCoverage): PPangoCoverage{.cdecl, 
+proc pango_coverage_copy*(coverage: PPangoCoverage): PPangoCoverage{.cdecl,
     dynlib: pangolib, importc: "pango_coverage_copy".}
 proc pango_coverage_get*(coverage: PPangoCoverage, index: int32): TPangoCoverageLevel{.
     cdecl, dynlib: pangolib, importc: "pango_coverage_get".}
-proc pango_coverage_set*(coverage: PPangoCoverage, index: int32, 
-                         level: TPangoCoverageLevel){.cdecl, dynlib: pangolib, 
+proc pango_coverage_set*(coverage: PPangoCoverage, index: int32,
+                         level: TPangoCoverageLevel){.cdecl, dynlib: pangolib,
     importc: "pango_coverage_set".}
 proc pango_coverage_max*(coverage: PPangoCoverage, other: PPangoCoverage){.
     cdecl, dynlib: pangolib, importc: "pango_coverage_max".}
-proc pango_coverage_to_bytes*(coverage: PPangoCoverage, bytes: PPguchar, 
-                              n_bytes: var int32){.cdecl, dynlib: pangolib, 
+proc pango_coverage_to_bytes*(coverage: PPangoCoverage, bytes: PPguchar,
+                              n_bytes: var int32){.cdecl, dynlib: pangolib,
     importc: "pango_coverage_to_bytes".}
 proc pango_coverage_from_bytes*(bytes: Pguchar, n_bytes: int32): PPangoCoverage{.
     cdecl, dynlib: pangolib, importc: "pango_coverage_from_bytes".}
 proc PANGO_TYPE_FONTSET*(): GType
 proc PANGO_FONTSET*(anObject: pointer): PPangoFontset
 proc PANGO_IS_FONTSET*(anObject: pointer): bool
-proc pango_fontset_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_fontset_get_type*(): GType{.cdecl, dynlib: pangolib,
                                        importc: "pango_fontset_get_type".}
 proc pango_fontset_get_font*(fontset: PPangoFontset, wc: guint): PPangoFont{.
     cdecl, dynlib: pangolib, importc: "pango_fontset_get_font".}
 proc pango_fontset_get_metrics*(fontset: PPangoFontset): PPangoFontMetrics{.
     cdecl, dynlib: pangolib, importc: "pango_fontset_get_metrics".}
-const 
+const
   PANGO_STYLE_NORMAL* = 0
   PANGO_STYLE_OBLIQUE* = 1
   PANGO_STYLE_ITALIC* = 2
@@ -540,74 +537,74 @@ const
   PANGO_SCALE_XX_LARGE* = 1.728
 
 proc PANGO_TYPE_FONT_DESCRIPTION*(): GType
-proc pango_font_description_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_font_description_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_font_description_get_type".}
-proc pango_font_description_new*(): PPangoFontDescription{.cdecl, 
+proc pango_font_description_new*(): PPangoFontDescription{.cdecl,
     dynlib: pangolib, importc: "pango_font_description_new".}
 proc pango_font_description_copy*(desc: PPangoFontDescription): PPangoFontDescription{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_copy".}
 proc pango_font_description_copy_static*(desc: PPangoFontDescription): PPangoFontDescription{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_copy_static".}
-proc pango_font_description_hash*(desc: PPangoFontDescription): guint{.cdecl, 
+proc pango_font_description_hash*(desc: PPangoFontDescription): guint{.cdecl,
     dynlib: pangolib, importc: "pango_font_description_hash".}
-proc pango_font_description_equal*(desc1: PPangoFontDescription, 
+proc pango_font_description_equal*(desc1: PPangoFontDescription,
                                    desc2: PPangoFontDescription): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_equal".}
-proc pango_font_description_free*(desc: PPangoFontDescription){.cdecl, 
+proc pango_font_description_free*(desc: PPangoFontDescription){.cdecl,
     dynlib: pangolib, importc: "pango_font_description_free".}
-proc pango_font_descriptions_free*(descs: var PPangoFontDescription, 
-                                   n_descs: int32){.cdecl, dynlib: pangolib, 
+proc pango_font_descriptions_free*(descs: var PPangoFontDescription,
+                                   n_descs: int32){.cdecl, dynlib: pangolib,
     importc: "pango_font_descriptions_free".}
-proc pango_font_description_set_family*(desc: PPangoFontDescription, 
-                                        family: cstring){.cdecl, 
+proc pango_font_description_set_family*(desc: PPangoFontDescription,
+                                        family: cstring){.cdecl,
     dynlib: pangolib, importc: "pango_font_description_set_family".}
-proc pango_font_description_set_family_static*(desc: PPangoFontDescription, 
-    family: cstring){.cdecl, dynlib: pangolib, 
+proc pango_font_description_set_family_static*(desc: PPangoFontDescription,
+    family: cstring){.cdecl, dynlib: pangolib,
                       importc: "pango_font_description_set_family_static".}
 proc pango_font_description_get_family*(desc: PPangoFontDescription): cstring{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_get_family".}
-proc pango_font_description_set_style*(desc: PPangoFontDescription, 
-                                       style: TPangoStyle){.cdecl, 
+proc pango_font_description_set_style*(desc: PPangoFontDescription,
+                                       style: TPangoStyle){.cdecl,
     dynlib: pangolib, importc: "pango_font_description_set_style".}
 proc pango_font_description_get_style*(desc: PPangoFontDescription): TPangoStyle{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_get_style".}
-proc pango_font_description_set_variant*(desc: PPangoFontDescription, 
-    variant: TPangoVariant){.cdecl, dynlib: pangolib, 
+proc pango_font_description_set_variant*(desc: PPangoFontDescription,
+    variant: TPangoVariant){.cdecl, dynlib: pangolib,
                              importc: "pango_font_description_set_variant".}
 proc pango_font_description_get_variant*(desc: PPangoFontDescription): TPangoVariant{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_get_variant".}
-proc pango_font_description_set_weight*(desc: PPangoFontDescription, 
-                                        weight: TPangoWeight){.cdecl, 
+proc pango_font_description_set_weight*(desc: PPangoFontDescription,
+                                        weight: TPangoWeight){.cdecl,
     dynlib: pangolib, importc: "pango_font_description_set_weight".}
 proc pango_font_description_get_weight*(desc: PPangoFontDescription): TPangoWeight{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_get_weight".}
-proc pango_font_description_set_stretch*(desc: PPangoFontDescription, 
-    stretch: TPangoStretch){.cdecl, dynlib: pangolib, 
+proc pango_font_description_set_stretch*(desc: PPangoFontDescription,
+    stretch: TPangoStretch){.cdecl, dynlib: pangolib,
                              importc: "pango_font_description_set_stretch".}
 proc pango_font_description_get_stretch*(desc: PPangoFontDescription): TPangoStretch{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_get_stretch".}
 proc pango_font_description_set_size*(desc: PPangoFontDescription, size: gint){.
     cdecl, dynlib: pangolib, importc: "pango_font_description_set_size".}
-proc pango_font_description_get_size*(desc: PPangoFontDescription): gint{.cdecl, 
+proc pango_font_description_get_size*(desc: PPangoFontDescription): gint{.cdecl,
     dynlib: pangolib, importc: "pango_font_description_get_size".}
-proc pango_font_description_set_absolute_size*(desc: PPangoFontDescription, 
-    size: float64){.cdecl, dynlib: pangolib, 
+proc pango_font_description_set_absolute_size*(desc: PPangoFontDescription,
+    size: float64){.cdecl, dynlib: pangolib,
                     importc: "pango_font_description_set_absolute_size".}
-proc pango_font_description_get_size_is_absolute*(desc: PPangoFontDescription, 
+proc pango_font_description_get_size_is_absolute*(desc: PPangoFontDescription,
     size: float64): gboolean{.cdecl, dynlib: pangolib, importc: "pango_font_description_get_size_is_absolute".}
 proc pango_font_description_get_set_fields*(desc: PPangoFontDescription): TPangoFontMask{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_get_set_fields".}
-proc pango_font_description_unset_fields*(desc: PPangoFontDescription, 
-    to_unset: TPangoFontMask){.cdecl, dynlib: pangolib, 
+proc pango_font_description_unset_fields*(desc: PPangoFontDescription,
+    to_unset: TPangoFontMask){.cdecl, dynlib: pangolib,
                                importc: "pango_font_description_unset_fields".}
-proc pango_font_description_merge*(desc: PPangoFontDescription, 
-                                   desc_to_merge: PPangoFontDescription, 
-                                   replace_existing: gboolean){.cdecl, 
+proc pango_font_description_merge*(desc: PPangoFontDescription,
+                                   desc_to_merge: PPangoFontDescription,
+                                   replace_existing: gboolean){.cdecl,
     dynlib: pangolib, importc: "pango_font_description_merge".}
-proc pango_font_description_merge_static*(desc: PPangoFontDescription, 
-    desc_to_merge: PPangoFontDescription, replace_existing: gboolean){.cdecl, 
+proc pango_font_description_merge_static*(desc: PPangoFontDescription,
+    desc_to_merge: PPangoFontDescription, replace_existing: gboolean){.cdecl,
     dynlib: pangolib, importc: "pango_font_description_merge_static".}
-proc pango_font_description_better_match*(desc: PPangoFontDescription, 
+proc pango_font_description_better_match*(desc: PPangoFontDescription,
     old_match: PPangoFontDescription, new_match: PPangoFontDescription): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_better_match".}
 proc pango_font_description_from_string*(str: cstring): PPangoFontDescription{.
@@ -617,125 +614,125 @@ proc pango_font_description_to_string*(desc: PPangoFontDescription): cstring{.
 proc pango_font_description_to_filename*(desc: PPangoFontDescription): cstring{.
     cdecl, dynlib: pangolib, importc: "pango_font_description_to_filename".}
 proc PANGO_TYPE_FONT_METRICS*(): GType
-proc pango_font_metrics_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_font_metrics_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_font_metrics_get_type".}
 proc pango_font_metrics_ref*(metrics: PPangoFontMetrics): PPangoFontMetrics{.
     cdecl, dynlib: pangolib, importc: "pango_font_metrics_ref".}
-proc pango_font_metrics_unref*(metrics: PPangoFontMetrics){.cdecl, 
+proc pango_font_metrics_unref*(metrics: PPangoFontMetrics){.cdecl,
     dynlib: pangolib, importc: "pango_font_metrics_unref".}
-proc pango_font_metrics_get_ascent*(metrics: PPangoFontMetrics): int32{.cdecl, 
+proc pango_font_metrics_get_ascent*(metrics: PPangoFontMetrics): int32{.cdecl,
     dynlib: pangolib, importc: "pango_font_metrics_get_ascent".}
-proc pango_font_metrics_get_descent*(metrics: PPangoFontMetrics): int32{.cdecl, 
+proc pango_font_metrics_get_descent*(metrics: PPangoFontMetrics): int32{.cdecl,
     dynlib: pangolib, importc: "pango_font_metrics_get_descent".}
 proc pango_font_metrics_get_approximate_char_width*(metrics: PPangoFontMetrics): int32{.
-    cdecl, dynlib: pangolib, 
+    cdecl, dynlib: pangolib,
     importc: "pango_font_metrics_get_approximate_char_width".}
 proc pango_font_metrics_get_approximate_digit_width*(metrics: PPangoFontMetrics): int32{.
-    cdecl, dynlib: pangolib, 
+    cdecl, dynlib: pangolib,
     importc: "pango_font_metrics_get_approximate_digit_width".}
 proc PANGO_TYPE_FONT_FAMILY*(): GType
 proc PANGO_FONT_FAMILY*(anObject: Pointer): PPangoFontFamily
 proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool
-proc pango_font_family_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_font_family_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_font_family_get_type".}
-proc pango_font_family_list_faces*(family: PPangoFontFamily, 
+proc pango_font_family_list_faces*(family: PPangoFontFamily,
                                    faces: var openarray[ptr PPangoFontFace]){.
     cdecl, dynlib: pangolib, importc: "pango_font_family_list_faces".}
-proc pango_font_family_get_name*(family: PPangoFontFamily): cstring{.cdecl, 
+proc pango_font_family_get_name*(family: PPangoFontFamily): cstring{.cdecl,
     dynlib: pangolib, importc: "pango_font_family_get_name".}
 proc PANGO_TYPE_FONT_FACE*(): GType
 proc PANGO_FONT_FACE*(anObject: pointer): PPangoFontFace
 proc PANGO_IS_FONT_FACE*(anObject: pointer): bool
-proc pango_font_face_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_font_face_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_font_face_get_type".}
 proc pango_font_face_describe*(face: PPangoFontFace): PPangoFontDescription{.
     cdecl, dynlib: pangolib, importc: "pango_font_face_describe".}
-proc pango_font_face_get_face_name*(face: PPangoFontFace): cstring{.cdecl, 
+proc pango_font_face_get_face_name*(face: PPangoFontFace): cstring{.cdecl,
     dynlib: pangolib, importc: "pango_font_face_get_face_name".}
 proc PANGO_TYPE_FONT*(): GType
 proc PANGO_FONT*(anObject: pointer): PPangoFont
 proc PANGO_IS_FONT*(anObject: pointer): bool
-proc pango_font_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_font_get_type*(): GType{.cdecl, dynlib: pangolib,
                                     importc: "pango_font_get_type".}
-proc pango_font_describe*(font: PPangoFont): PPangoFontDescription{.cdecl, 
+proc pango_font_describe*(font: PPangoFont): PPangoFontDescription{.cdecl,
     dynlib: pangolib, importc: "pango_font_describe".}
 proc pango_font_get_coverage*(font: PPangoFont, language: PPangoLanguage): PPangoCoverage{.
     cdecl, dynlib: pangolib, importc: "pango_font_get_coverage".}
-proc pango_font_find_shaper*(font: PPangoFont, language: PPangoLanguage, 
-                             ch: guint32): PPangoEngineShape{.cdecl, 
+proc pango_font_find_shaper*(font: PPangoFont, language: PPangoLanguage,
+                             ch: guint32): PPangoEngineShape{.cdecl,
     dynlib: pangolib, importc: "pango_font_find_shaper".}
 proc pango_font_get_metrics*(font: PPangoFont, language: PPangoLanguage): PPangoFontMetrics{.
     cdecl, dynlib: pangolib, importc: "pango_font_get_metrics".}
-proc pango_font_get_glyph_extents*(font: PPangoFont, glyph: TPangoGlyph, 
-                                   ink_rect: PPangoRectangle, 
-                                   logical_rect: PPangoRectangle){.cdecl, 
+proc pango_font_get_glyph_extents*(font: PPangoFont, glyph: TPangoGlyph,
+                                   ink_rect: PPangoRectangle,
+                                   logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_font_get_glyph_extents".}
 proc PANGO_TYPE_FONT_MAP*(): GType
 proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontMap
 proc PANGO_IS_FONT_MAP*(anObject: pointer): bool
-proc pango_font_map_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_font_map_get_type*(): GType{.cdecl, dynlib: pangolib,
                                         importc: "pango_font_map_get_type".}
-proc pango_font_map_load_font*(fontmap: PPangoFontMap, context: PPangoContext, 
-                               desc: PPangoFontDescription): PPangoFont{.cdecl, 
+proc pango_font_map_load_font*(fontmap: PPangoFontMap, context: PPangoContext,
+                               desc: PPangoFontDescription): PPangoFont{.cdecl,
     dynlib: pangolib, importc: "pango_font_map_load_font".}
-proc pango_font_map_load_fontset*(fontmap: PPangoFontMap, 
-                                  context: PPangoContext, 
-                                  desc: PPangoFontDescription, 
+proc pango_font_map_load_fontset*(fontmap: PPangoFontMap,
+                                  context: PPangoContext,
+                                  desc: PPangoFontDescription,
                                   language: PPangoLanguage): PPangoFontset{.
     cdecl, dynlib: pangolib, importc: "pango_font_map_load_fontset".}
-proc pango_font_map_list_families*(fontmap: PPangoFontMap, 
-                                   families: var openarray[ptr PPangoFontFamily]){.cdecl, 
+proc pango_font_map_list_families*(fontmap: PPangoFontMap,
+                                   families: var openarray[ptr PPangoFontFamily]){.cdecl,
     dynlib: pangolib, importc: "pango_font_map_list_families".}
-const 
-  bm_TPangoGlyphVisAttr_is_cluster_start* = 0x00000001
-  bp_TPangoGlyphVisAttr_is_cluster_start* = 0
+const
+  bm_TPangoGlyphVisAttr_is_cluster_start* = 0x00000001'i16
+  bp_TPangoGlyphVisAttr_is_cluster_start* = 0'i16
 
 proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint
 proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint)
 proc PANGO_TYPE_GLYPH_STRING*(): GType
-proc pango_glyph_string_new*(): PPangoGlyphString{.cdecl, dynlib: pangolib, 
+proc pango_glyph_string_new*(): PPangoGlyphString{.cdecl, dynlib: pangolib,
     importc: "pango_glyph_string_new".}
 proc pango_glyph_string_set_size*(`string`: PPangoGlyphString, new_len: gint){.
     cdecl, dynlib: pangolib, importc: "pango_glyph_string_set_size".}
-proc pango_glyph_string_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_glyph_string_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_glyph_string_get_type".}
 proc pango_glyph_string_copy*(`string`: PPangoGlyphString): PPangoGlyphString{.
     cdecl, dynlib: pangolib, importc: "pango_glyph_string_copy".}
-proc pango_glyph_string_free*(`string`: PPangoGlyphString){.cdecl, 
+proc pango_glyph_string_free*(`string`: PPangoGlyphString){.cdecl,
     dynlib: pangolib, importc: "pango_glyph_string_free".}
-proc pango_glyph_string_extents*(glyphs: PPangoGlyphString, font: PPangoFont, 
-                                 ink_rect: PPangoRectangle, 
-                                 logical_rect: PPangoRectangle){.cdecl, 
+proc pango_glyph_string_extents*(glyphs: PPangoGlyphString, font: PPangoFont,
+                                 ink_rect: PPangoRectangle,
+                                 logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_glyph_string_extents".}
-proc pango_glyph_string_extents_range*(glyphs: PPangoGlyphString, start: int32, 
-                                       theEnd: int32, font: PPangoFont, 
-                                       ink_rect: PPangoRectangle, 
-                                       logical_rect: PPangoRectangle){.cdecl, 
+proc pango_glyph_string_extents_range*(glyphs: PPangoGlyphString, start: int32,
+                                       theEnd: int32, font: PPangoFont,
+                                       ink_rect: PPangoRectangle,
+                                       logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_glyph_string_extents_range".}
-proc pango_glyph_string_get_logical_widths*(glyphs: PPangoGlyphString, 
-    text: cstring, length: int32, embedding_level: int32, 
-    logical_widths: var int32){.cdecl, dynlib: pangolib, 
+proc pango_glyph_string_get_logical_widths*(glyphs: PPangoGlyphString,
+    text: cstring, length: int32, embedding_level: int32,
+    logical_widths: var int32){.cdecl, dynlib: pangolib,
                                importc: "pango_glyph_string_get_logical_widths".}
-proc pango_glyph_string_index_to_x*(glyphs: PPangoGlyphString, text: cstring, 
-                                    length: int32, analysis: PPangoAnalysis, 
-                                    index: int32, trailing: gboolean, 
-                                    x_pos: var int32){.cdecl, dynlib: pangolib, 
+proc pango_glyph_string_index_to_x*(glyphs: PPangoGlyphString, text: cstring,
+                                    length: int32, analysis: PPangoAnalysis,
+                                    index: int32, trailing: gboolean,
+                                    x_pos: var int32){.cdecl, dynlib: pangolib,
     importc: "pango_glyph_string_index_to_x".}
-proc pango_glyph_string_x_to_index*(glyphs: PPangoGlyphString, text: cstring, 
-                                    length: int32, analysis: PPangoAnalysis, 
-                                    x_pos: int32, index, 
-                                    trailing: var int32){.cdecl, 
+proc pango_glyph_string_x_to_index*(glyphs: PPangoGlyphString, text: cstring,
+                                    length: int32, analysis: PPangoAnalysis,
+                                    x_pos: int32, index,
+                                    trailing: var int32){.cdecl,
     dynlib: pangolib, importc: "pango_glyph_string_x_to_index".}
-proc pango_shape*(text: cstring, length: gint, analysis: PPangoAnalysis, 
-                  glyphs: PPangoGlyphString){.cdecl, dynlib: pangolib, 
+proc pango_shape*(text: cstring, length: gint, analysis: PPangoAnalysis,
+                  glyphs: PPangoGlyphString){.cdecl, dynlib: pangolib,
     importc: "pango_shape".}
-proc pango_reorder_items*(logical_items: PGList): PGList{.cdecl, 
+proc pango_reorder_items*(logical_items: PGList): PGList{.cdecl,
     dynlib: pangolib, importc: "pango_reorder_items".}
-proc pango_item_new*(): PPangoItem{.cdecl, dynlib: pangolib, 
+proc pango_item_new*(): PPangoItem{.cdecl, dynlib: pangolib,
                                     importc: "pango_item_new".}
-proc pango_item_copy*(item: PPangoItem): PPangoItem{.cdecl, dynlib: pangolib, 
+proc pango_item_copy*(item: PPangoItem): PPangoItem{.cdecl, dynlib: pangolib,
     importc: "pango_item_copy".}
-proc pango_item_free*(item: PPangoItem){.cdecl, dynlib: pangolib, 
+proc pango_item_free*(item: PPangoItem){.cdecl, dynlib: pangolib,
     importc: "pango_item_free".}
 proc pango_item_split*(orig: PPangoItem, split_index: int32, split_offset: int32): PPangoItem{.
     cdecl, dynlib: pangolib, importc: "pango_item_split".}
@@ -745,465 +742,465 @@ proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass
 proc PANGO_IS_LAYOUT*(anObject: pointer): bool
 proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool
 proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass
-proc pango_layout_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_layout_get_type*(): GType{.cdecl, dynlib: pangolib,
                                       importc: "pango_layout_get_type".}
-proc pango_layout_new*(context: PPangoContext): PPangoLayout{.cdecl, 
+proc pango_layout_new*(context: PPangoContext): PPangoLayout{.cdecl,
     dynlib: pangolib, importc: "pango_layout_new".}
-proc pango_layout_copy*(src: PPangoLayout): PPangoLayout{.cdecl, 
+proc pango_layout_copy*(src: PPangoLayout): PPangoLayout{.cdecl,
     dynlib: pangolib, importc: "pango_layout_copy".}
-proc pango_layout_get_context*(layout: PPangoLayout): PPangoContext{.cdecl, 
+proc pango_layout_get_context*(layout: PPangoLayout): PPangoContext{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_context".}
 proc pango_layout_set_attributes*(layout: PPangoLayout, attrs: PPangoAttrList){.
     cdecl, dynlib: pangolib, importc: "pango_layout_set_attributes".}
-proc pango_layout_get_attributes*(layout: PPangoLayout): PPangoAttrList{.cdecl, 
+proc pango_layout_get_attributes*(layout: PPangoLayout): PPangoAttrList{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_attributes".}
 proc pango_layout_set_text*(layout: PPangoLayout, text: cstring, length: int32){.
     cdecl, dynlib: pangolib, importc: "pango_layout_set_text".}
-proc pango_layout_get_text*(layout: PPangoLayout): cstring{.cdecl, 
+proc pango_layout_get_text*(layout: PPangoLayout): cstring{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_text".}
-proc pango_layout_set_markup*(layout: PPangoLayout, markup: cstring, 
-                              length: int32){.cdecl, dynlib: pangolib, 
+proc pango_layout_set_markup*(layout: PPangoLayout, markup: cstring,
+                              length: int32){.cdecl, dynlib: pangolib,
     importc: "pango_layout_set_markup".}
-proc pango_layout_set_markup_with_accel*(layout: PPangoLayout, markup: cstring, 
-    length: int32, accel_marker: gunichar, accel_char: Pgunichar){.cdecl, 
+proc pango_layout_set_markup_with_accel*(layout: PPangoLayout, markup: cstring,
+    length: int32, accel_marker: gunichar, accel_char: Pgunichar){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_markup_with_accel".}
-proc pango_layout_set_font_description*(layout: PPangoLayout, 
-                                        desc: PPangoFontDescription){.cdecl, 
+proc pango_layout_set_font_description*(layout: PPangoLayout,
+                                        desc: PPangoFontDescription){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_font_description".}
-proc pango_layout_set_width*(layout: PPangoLayout, width: int32){.cdecl, 
+proc pango_layout_set_width*(layout: PPangoLayout, width: int32){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_width".}
-proc pango_layout_get_width*(layout: PPangoLayout): int32{.cdecl, 
+proc pango_layout_get_width*(layout: PPangoLayout): int32{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_width".}
-proc pango_layout_set_wrap*(layout: PPangoLayout, wrap: TPangoWrapMode){.cdecl, 
+proc pango_layout_set_wrap*(layout: PPangoLayout, wrap: TPangoWrapMode){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_wrap".}
-proc pango_layout_get_wrap*(layout: PPangoLayout): TPangoWrapMode{.cdecl, 
+proc pango_layout_get_wrap*(layout: PPangoLayout): TPangoWrapMode{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_wrap".}
-proc pango_layout_set_indent*(layout: PPangoLayout, indent: int32){.cdecl, 
+proc pango_layout_set_indent*(layout: PPangoLayout, indent: int32){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_indent".}
-proc pango_layout_get_indent*(layout: PPangoLayout): int32{.cdecl, 
+proc pango_layout_get_indent*(layout: PPangoLayout): int32{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_indent".}
-proc pango_layout_set_spacing*(layout: PPangoLayout, spacing: int32){.cdecl, 
+proc pango_layout_set_spacing*(layout: PPangoLayout, spacing: int32){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_spacing".}
-proc pango_layout_get_spacing*(layout: PPangoLayout): int32{.cdecl, 
+proc pango_layout_get_spacing*(layout: PPangoLayout): int32{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_spacing".}
-proc pango_layout_set_justify*(layout: PPangoLayout, justify: gboolean){.cdecl, 
+proc pango_layout_set_justify*(layout: PPangoLayout, justify: gboolean){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_justify".}
-proc pango_layout_get_justify*(layout: PPangoLayout): gboolean{.cdecl, 
+proc pango_layout_get_justify*(layout: PPangoLayout): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_justify".}
-proc pango_layout_set_alignment*(layout: PPangoLayout, 
-                                 alignment: TPangoAlignment){.cdecl, 
+proc pango_layout_set_alignment*(layout: PPangoLayout,
+                                 alignment: TPangoAlignment){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_alignment".}
-proc pango_layout_get_alignment*(layout: PPangoLayout): TPangoAlignment{.cdecl, 
+proc pango_layout_get_alignment*(layout: PPangoLayout): TPangoAlignment{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_alignment".}
-proc pango_layout_set_tabs*(layout: PPangoLayout, tabs: PPangoTabArray){.cdecl, 
+proc pango_layout_set_tabs*(layout: PPangoLayout, tabs: PPangoTabArray){.cdecl,
     dynlib: pangolib, importc: "pango_layout_set_tabs".}
-proc pango_layout_get_tabs*(layout: PPangoLayout): PPangoTabArray{.cdecl, 
+proc pango_layout_get_tabs*(layout: PPangoLayout): PPangoTabArray{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_tabs".}
-proc pango_layout_set_single_paragraph_mode*(layout: PPangoLayout, 
-    setting: gboolean){.cdecl, dynlib: pangolib, 
+proc pango_layout_set_single_paragraph_mode*(layout: PPangoLayout,
+    setting: gboolean){.cdecl, dynlib: pangolib,
                         importc: "pango_layout_set_single_paragraph_mode".}
 proc pango_layout_get_single_paragraph_mode*(layout: PPangoLayout): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_layout_get_single_paragraph_mode".}
-proc pango_layout_context_changed*(layout: PPangoLayout){.cdecl, 
+proc pango_layout_context_changed*(layout: PPangoLayout){.cdecl,
     dynlib: pangolib, importc: "pango_layout_context_changed".}
-proc pango_layout_get_log_attrs*(layout: PPangoLayout, attrs: var PPangoLogAttr, 
-                                 n_attrs: Pgint){.cdecl, dynlib: pangolib, 
+proc pango_layout_get_log_attrs*(layout: PPangoLayout, attrs: var PPangoLogAttr,
+                                 n_attrs: Pgint){.cdecl, dynlib: pangolib,
     importc: "pango_layout_get_log_attrs".}
-proc pango_layout_index_to_pos*(layout: PPangoLayout, index: int32, 
-                                pos: PPangoRectangle){.cdecl, dynlib: pangolib, 
+proc pango_layout_index_to_pos*(layout: PPangoLayout, index: int32,
+                                pos: PPangoRectangle){.cdecl, dynlib: pangolib,
     importc: "pango_layout_index_to_pos".}
-proc pango_layout_get_cursor_pos*(layout: PPangoLayout, index: int32, 
-                                  strong_pos: PPangoRectangle, 
-                                  weak_pos: PPangoRectangle){.cdecl, 
+proc pango_layout_get_cursor_pos*(layout: PPangoLayout, index: int32,
+                                  strong_pos: PPangoRectangle,
+                                  weak_pos: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_cursor_pos".}
-proc pango_layout_move_cursor_visually*(layout: PPangoLayout, strong: gboolean, 
-                                        old_index: int32, old_trailing: int32, 
-                                        direction: int32, new_index, 
-                                        new_trailing: var int32){.cdecl, 
+proc pango_layout_move_cursor_visually*(layout: PPangoLayout, strong: gboolean,
+                                        old_index: int32, old_trailing: int32,
+                                        direction: int32, new_index,
+                                        new_trailing: var int32){.cdecl,
     dynlib: pangolib, importc: "pango_layout_move_cursor_visually".}
-proc pango_layout_xy_to_index*(layout: PPangoLayout, x: int32, y: int32, 
+proc pango_layout_xy_to_index*(layout: PPangoLayout, x: int32, y: int32,
                                index, trailing: var int32): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_layout_xy_to_index".}
-proc pango_layout_get_extents*(layout: PPangoLayout, ink_rect: PPangoRectangle, 
-                               logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_get_extents*(layout: PPangoLayout, ink_rect: PPangoRectangle,
+                               logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_extents".}
-proc pango_layout_get_pixel_extents*(layout: PPangoLayout, 
-                                     ink_rect: PPangoRectangle, 
-                                     logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_get_pixel_extents*(layout: PPangoLayout,
+                                     ink_rect: PPangoRectangle,
+                                     logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_pixel_extents".}
-proc pango_layout_get_size*(layout: PPangoLayout, width: var int32, 
-                            height: var int32){.cdecl, dynlib: pangolib, 
+proc pango_layout_get_size*(layout: PPangoLayout, width: var int32,
+                            height: var int32){.cdecl, dynlib: pangolib,
     importc: "pango_layout_get_size".}
-proc pango_layout_get_pixel_size*(layout: PPangoLayout, width: var int32, 
-                                  height: var int32){.cdecl, dynlib: pangolib, 
+proc pango_layout_get_pixel_size*(layout: PPangoLayout, width: var int32,
+                                  height: var int32){.cdecl, dynlib: pangolib,
     importc: "pango_layout_get_pixel_size".}
-proc pango_layout_get_line_count*(layout: PPangoLayout): int32{.cdecl, 
+proc pango_layout_get_line_count*(layout: PPangoLayout): int32{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_line_count".}
 proc pango_layout_get_line*(layout: PPangoLayout, line: int32): PPangoLayoutLine{.
     cdecl, dynlib: pangolib, importc: "pango_layout_get_line".}
-proc pango_layout_get_lines*(layout: PPangoLayout): PGSList{.cdecl, 
+proc pango_layout_get_lines*(layout: PPangoLayout): PGSList{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_lines".}
-proc pango_layout_line_ref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib, 
+proc pango_layout_line_ref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib,
     importc: "pango_layout_line_ref".}
-proc pango_layout_line_unref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib, 
+proc pango_layout_line_unref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib,
     importc: "pango_layout_line_unref".}
-proc pango_layout_line_x_to_index*(line: PPangoLayoutLine, x_pos: int32, 
+proc pango_layout_line_x_to_index*(line: PPangoLayoutLine, x_pos: int32,
                                    index: var int32, trailing: var int32): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_layout_line_x_to_index".}
-proc pango_layout_line_index_to_x*(line: PPangoLayoutLine, index: int32, 
-                                   trailing: gboolean, x_pos: var int32){.cdecl, 
+proc pango_layout_line_index_to_x*(line: PPangoLayoutLine, index: int32,
+                                   trailing: gboolean, x_pos: var int32){.cdecl,
     dynlib: pangolib, importc: "pango_layout_line_index_to_x".}
-proc pango_layout_line_get_extents*(line: PPangoLayoutLine, 
-                                    ink_rect: PPangoRectangle, 
-                                    logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_line_get_extents*(line: PPangoLayoutLine,
+                                    ink_rect: PPangoRectangle,
+                                    logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_line_get_extents".}
-proc pango_layout_line_get_pixel_extents*(layout_line: PPangoLayoutLine, 
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_line_get_pixel_extents*(layout_line: PPangoLayoutLine,
+    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_line_get_pixel_extents".}
-proc pango_layout_get_iter*(layout: PPangoLayout): PPangoLayoutIter{.cdecl, 
+proc pango_layout_get_iter*(layout: PPangoLayout): PPangoLayoutIter{.cdecl,
     dynlib: pangolib, importc: "pango_layout_get_iter".}
-proc pango_layout_iter_free*(iter: PPangoLayoutIter){.cdecl, dynlib: pangolib, 
+proc pango_layout_iter_free*(iter: PPangoLayoutIter){.cdecl, dynlib: pangolib,
     importc: "pango_layout_iter_free".}
-proc pango_layout_iter_get_index*(iter: PPangoLayoutIter): int32{.cdecl, 
+proc pango_layout_iter_get_index*(iter: PPangoLayoutIter): int32{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_index".}
-proc pango_layout_iter_get_run*(iter: PPangoLayoutIter): PPangoLayoutRun{.cdecl, 
+proc pango_layout_iter_get_run*(iter: PPangoLayoutIter): PPangoLayoutRun{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_run".}
 proc pango_layout_iter_get_line*(iter: PPangoLayoutIter): PPangoLayoutLine{.
     cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_line".}
-proc pango_layout_iter_at_last_line*(iter: PPangoLayoutIter): gboolean{.cdecl, 
+proc pango_layout_iter_at_last_line*(iter: PPangoLayoutIter): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_at_last_line".}
-proc pango_layout_iter_next_char*(iter: PPangoLayoutIter): gboolean{.cdecl, 
+proc pango_layout_iter_next_char*(iter: PPangoLayoutIter): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_next_char".}
-proc pango_layout_iter_next_cluster*(iter: PPangoLayoutIter): gboolean{.cdecl, 
+proc pango_layout_iter_next_cluster*(iter: PPangoLayoutIter): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_next_cluster".}
-proc pango_layout_iter_next_run*(iter: PPangoLayoutIter): gboolean{.cdecl, 
+proc pango_layout_iter_next_run*(iter: PPangoLayoutIter): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_next_run".}
-proc pango_layout_iter_next_line*(iter: PPangoLayoutIter): gboolean{.cdecl, 
+proc pango_layout_iter_next_line*(iter: PPangoLayoutIter): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_next_line".}
-proc pango_layout_iter_get_char_extents*(iter: PPangoLayoutIter, 
+proc pango_layout_iter_get_char_extents*(iter: PPangoLayoutIter,
     logical_rect: PPangoRectangle){.cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_char_extents".}
-proc pango_layout_iter_get_cluster_extents*(iter: PPangoLayoutIter, 
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_iter_get_cluster_extents*(iter: PPangoLayoutIter,
+    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_cluster_extents".}
-proc pango_layout_iter_get_run_extents*(iter: PPangoLayoutIter, 
-                                        ink_rect: PPangoRectangle, 
-                                        logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_iter_get_run_extents*(iter: PPangoLayoutIter,
+                                        ink_rect: PPangoRectangle,
+                                        logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_run_extents".}
-proc pango_layout_iter_get_line_extents*(iter: PPangoLayoutIter, 
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_iter_get_line_extents*(iter: PPangoLayoutIter,
+    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_line_extents".}
-proc pango_layout_iter_get_line_yrange*(iter: PPangoLayoutIter, y0: var int32, 
-                                        y1: var int32){.cdecl, dynlib: pangolib, 
+proc pango_layout_iter_get_line_yrange*(iter: PPangoLayoutIter, y0: var int32,
+                                        y1: var int32){.cdecl, dynlib: pangolib,
     importc: "pango_layout_iter_get_line_yrange".}
-proc pango_layout_iter_get_layout_extents*(iter: PPangoLayoutIter, 
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, 
+proc pango_layout_iter_get_layout_extents*(iter: PPangoLayoutIter,
+    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_layout_extents".}
-proc pango_layout_iter_get_baseline*(iter: PPangoLayoutIter): int32{.cdecl, 
+proc pango_layout_iter_get_baseline*(iter: PPangoLayoutIter): int32{.cdecl,
     dynlib: pangolib, importc: "pango_layout_iter_get_baseline".}
 proc PANGO_TYPE_TAB_ARRAY*(): GType
 proc pango_tab_array_new*(initial_size: gint, positions_in_pixels: gboolean): PPangoTabArray{.
     cdecl, dynlib: pangolib, importc: "pango_tab_array_new".}
-proc pango_tab_array_get_type*(): GType{.cdecl, dynlib: pangolib, 
+proc pango_tab_array_get_type*(): GType{.cdecl, dynlib: pangolib,
     importc: "pango_tab_array_get_type".}
-proc pango_tab_array_copy*(src: PPangoTabArray): PPangoTabArray{.cdecl, 
+proc pango_tab_array_copy*(src: PPangoTabArray): PPangoTabArray{.cdecl,
     dynlib: pangolib, importc: "pango_tab_array_copy".}
-proc pango_tab_array_free*(tab_array: PPangoTabArray){.cdecl, dynlib: pangolib, 
+proc pango_tab_array_free*(tab_array: PPangoTabArray){.cdecl, dynlib: pangolib,
     importc: "pango_tab_array_free".}
-proc pango_tab_array_get_size*(tab_array: PPangoTabArray): gint{.cdecl, 
+proc pango_tab_array_get_size*(tab_array: PPangoTabArray): gint{.cdecl,
     dynlib: pangolib, importc: "pango_tab_array_get_size".}
-proc pango_tab_array_resize*(tab_array: PPangoTabArray, new_size: gint){.cdecl, 
+proc pango_tab_array_resize*(tab_array: PPangoTabArray, new_size: gint){.cdecl,
     dynlib: pangolib, importc: "pango_tab_array_resize".}
-proc pango_tab_array_set_tab*(tab_array: PPangoTabArray, tab_index: gint, 
-                              alignment: TPangoTabAlign, location: gint){.cdecl, 
+proc pango_tab_array_set_tab*(tab_array: PPangoTabArray, tab_index: gint,
+                              alignment: TPangoTabAlign, location: gint){.cdecl,
     dynlib: pangolib, importc: "pango_tab_array_set_tab".}
-proc pango_tab_array_get_tab*(tab_array: PPangoTabArray, tab_index: gint, 
+proc pango_tab_array_get_tab*(tab_array: PPangoTabArray, tab_index: gint,
                               alignment: PPangoTabAlign, location: Pgint){.
     cdecl, dynlib: pangolib, importc: "pango_tab_array_get_tab".}
 proc pango_tab_array_get_positions_in_pixels*(tab_array: PPangoTabArray): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_tab_array_get_positions_in_pixels".}
-proc PANGO_ASCENT*(rect: TPangoRectangle): int32 = 
+proc PANGO_ASCENT*(rect: TPangoRectangle): int32 =
   result = - int(rect.y)
 
-proc PANGO_DESCENT*(rect: TPangoRectangle): int32 = 
+proc PANGO_DESCENT*(rect: TPangoRectangle): int32 =
   result = int(rect.y) + int(rect.height)
 
-proc PANGO_LBEARING*(rect: TPangoRectangle): int32 = 
+proc PANGO_LBEARING*(rect: TPangoRectangle): int32 =
   result = rect.x
 
-proc PANGO_RBEARING*(rect: TPangoRectangle): int32 = 
-  result = int(rect.x) + (rect.width)
+proc PANGO_RBEARING*(rect: TPangoRectangle): int32 =
+  result = (rect.x) + (rect.width)
 
-proc PANGO_TYPE_LANGUAGE*(): GType = 
+proc PANGO_TYPE_LANGUAGE*(): GType =
   result = pango_language_get_type()
 
-proc pango_language_to_string*(language: PPangoLanguage): cstring = 
+proc pango_language_to_string*(language: PPangoLanguage): cstring =
   result = cast[cstring](language)
 
-proc PANGO_PIXELS*(d: int): int = 
-  if d >= 0: 
+proc PANGO_PIXELS*(d: int): int =
+  if d >= 0:
     result = (d + (PANGO_SCALE div 2)) div PANGO_SCALE
-  else: 
+  else:
     result = (d - (PANGO_SCALE div 2)) div PANGO_SCALE
 
-proc PANGO_TYPE_COLOR*(): GType = 
+proc PANGO_TYPE_COLOR*(): GType =
   result = pango_color_get_type()
 
-proc PANGO_TYPE_ATTR_LIST*(): GType = 
+proc PANGO_TYPE_ATTR_LIST*(): GType =
   result = pango_attr_list_get_type()
 
-proc is_line_break*(a: var TPangoLogAttr): guint = 
+proc is_line_break*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_line_break) shr
       bp_TPangoLogAttr_is_line_break
 
-proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) = 
+proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_line_break` shl bp_TPangoLogAttr_is_line_break) and
+      (int16(`is_line_break` shl bp_TPangoLogAttr_is_line_break) and
       bm_TPangoLogAttr_is_line_break)
 
-proc is_mandatory_break*(a: var TPangoLogAttr): guint = 
+proc is_mandatory_break*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_mandatory_break) shr
       bp_TPangoLogAttr_is_mandatory_break
 
-proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) = 
+proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_mandatory_break` shl bp_TPangoLogAttr_is_mandatory_break) and
+      (int16(`is_mandatory_break` shl bp_TPangoLogAttr_is_mandatory_break) and
       bm_TPangoLogAttr_is_mandatory_break)
 
-proc is_char_break*(a: var TPangoLogAttr): guint = 
+proc is_char_break*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_char_break) shr
       bp_TPangoLogAttr_is_char_break
 
-proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) = 
+proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_char_break` shl bp_TPangoLogAttr_is_char_break) and
+      (int16(`is_char_break` shl bp_TPangoLogAttr_is_char_break) and
       bm_TPangoLogAttr_is_char_break)
 
-proc is_white*(a: var TPangoLogAttr): guint = 
+proc is_white*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_white) shr
       bp_TPangoLogAttr_is_white
 
-proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) = 
+proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_white` shl bp_TPangoLogAttr_is_white) and
+      (int16(`is_white` shl bp_TPangoLogAttr_is_white) and
       bm_TPangoLogAttr_is_white)
 
-proc is_cursor_position*(a: var TPangoLogAttr): guint = 
+proc is_cursor_position*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_cursor_position) shr
       bp_TPangoLogAttr_is_cursor_position
 
-proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) = 
+proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_cursor_position` shl bp_TPangoLogAttr_is_cursor_position) and
+      (int16(`is_cursor_position` shl bp_TPangoLogAttr_is_cursor_position) and
       bm_TPangoLogAttr_is_cursor_position)
 
-proc is_word_start*(a: var TPangoLogAttr): guint = 
+proc is_word_start*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_word_start) shr
       bp_TPangoLogAttr_is_word_start
 
-proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) = 
+proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_word_start` shl bp_TPangoLogAttr_is_word_start) and
+      (int16(`is_word_start` shl bp_TPangoLogAttr_is_word_start) and
       bm_TPangoLogAttr_is_word_start)
 
-proc is_word_end*(a: var TPangoLogAttr): guint = 
+proc is_word_end*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_word_end) shr
       bp_TPangoLogAttr_is_word_end
 
-proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) = 
+proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_word_end` shl bp_TPangoLogAttr_is_word_end) and
+      (int16(`is_word_end` shl bp_TPangoLogAttr_is_word_end) and
       bm_TPangoLogAttr_is_word_end)
 
-proc is_sentence_boundary*(a: var TPangoLogAttr): guint = 
+proc is_sentence_boundary*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_sentence_boundary) shr
       bp_TPangoLogAttr_is_sentence_boundary
 
-proc set_is_sentence_boundary*(a: var TPangoLogAttr, 
-                               `is_sentence_boundary`: guint) = 
+proc set_is_sentence_boundary*(a: var TPangoLogAttr,
+                               `is_sentence_boundary`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_sentence_boundary` shl bp_TPangoLogAttr_is_sentence_boundary) and
+      (int16(`is_sentence_boundary` shl bp_TPangoLogAttr_is_sentence_boundary) and
       bm_TPangoLogAttr_is_sentence_boundary)
 
-proc is_sentence_start*(a: var TPangoLogAttr): guint = 
+proc is_sentence_start*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_sentence_start) shr
       bp_TPangoLogAttr_is_sentence_start
 
-proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) = 
+proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_sentence_start` shl bp_TPangoLogAttr_is_sentence_start) and
+      (int16(`is_sentence_start` shl bp_TPangoLogAttr_is_sentence_start) and
       bm_TPangoLogAttr_is_sentence_start)
 
-proc is_sentence_end*(a: var TPangoLogAttr): guint = 
+proc is_sentence_end*(a: var TPangoLogAttr): guint =
   result = (a.flag0 and bm_TPangoLogAttr_is_sentence_end) shr
       bp_TPangoLogAttr_is_sentence_end
 
-proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) = 
+proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_sentence_end` shl bp_TPangoLogAttr_is_sentence_end) and
+      (int16(`is_sentence_end` shl bp_TPangoLogAttr_is_sentence_end) and
       bm_TPangoLogAttr_is_sentence_end)
 
-proc PANGO_TYPE_CONTEXT*(): GType = 
+proc PANGO_TYPE_CONTEXT*(): GType =
   result = pango_context_get_type()
 
-proc PANGO_CONTEXT*(anObject: pointer): PPangoContext = 
+proc PANGO_CONTEXT*(anObject: pointer): PPangoContext =
   result = cast[PPangoContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_CONTEXT()))
 
-proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass = 
+proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass =
   result = cast[PPangoContextClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_CONTEXT()))
 
-proc PANGO_IS_CONTEXT*(anObject: pointer): bool = 
+proc PANGO_IS_CONTEXT*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_CONTEXT())
 
-proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool = 
+proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_CONTEXT())
 
-proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass = 
+proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass =
   result = cast[PPangoContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_CONTEXT()))
 
-proc PANGO_TYPE_FONTSET*(): GType = 
+proc PANGO_TYPE_FONTSET*(): GType =
   result = pango_fontset_get_type()
 
-proc PANGO_FONTSET*(anObject: pointer): PPangoFontset = 
+proc PANGO_FONTSET*(anObject: pointer): PPangoFontset =
   result = cast[PPangoFontset](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONTSET()))
 
-proc PANGO_IS_FONTSET*(anObject: pointer): bool = 
+proc PANGO_IS_FONTSET*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET())
 
-proc PANGO_FONTSET_CLASS*(klass: pointer): PPangoFontsetClass = 
+proc PANGO_FONTSET_CLASS*(klass: pointer): PPangoFontsetClass =
   result = cast[PPangoFontsetClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONTSET()))
 
-proc PANGO_IS_FONTSET_CLASS*(klass: pointer): bool = 
+proc PANGO_IS_FONTSET_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONTSET())
 
-proc PANGO_FONTSET_GET_CLASS*(obj: PPangoFontset): PPangoFontsetClass = 
+proc PANGO_FONTSET_GET_CLASS*(obj: PPangoFontset): PPangoFontsetClass =
   result = cast[PPangoFontsetClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONTSET()))
 
 proc pango_fontset_simple_get_type(): GType {.importc, cdecl, dynlib: pangolib.}
 
-proc PANGO_TYPE_FONTSET_SIMPLE*(): GType = 
+proc PANGO_TYPE_FONTSET_SIMPLE*(): GType =
   result = pango_fontset_simple_get_type()
 
-proc PANGO_FONTSET_SIMPLE*(anObject: pointer): PPangoFontsetSimple = 
-  result = cast[PPangoFontsetSimple](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc PANGO_FONTSET_SIMPLE*(anObject: pointer): PPangoFontsetSimple =
+  result = cast[PPangoFontsetSimple](G_TYPE_CHECK_INSTANCE_CAST(anObject,
       PANGO_TYPE_FONTSET_SIMPLE()))
 
-proc PANGO_IS_FONTSET_SIMPLE*(anObject: pointer): bool = 
+proc PANGO_IS_FONTSET_SIMPLE*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET_SIMPLE())
 
-proc PANGO_TYPE_FONT_DESCRIPTION*(): GType = 
+proc PANGO_TYPE_FONT_DESCRIPTION*(): GType =
   result = pango_font_description_get_type()
 
-proc PANGO_TYPE_FONT_METRICS*(): GType = 
+proc PANGO_TYPE_FONT_METRICS*(): GType =
   result = pango_font_metrics_get_type()
 
-proc PANGO_TYPE_FONT_FAMILY*(): GType = 
+proc PANGO_TYPE_FONT_FAMILY*(): GType =
   result = pango_font_family_get_type()
 
-proc PANGO_FONT_FAMILY*(anObject: pointer): PPangoFontFamily = 
-  result = cast[PPangoFontFamily](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc PANGO_FONT_FAMILY*(anObject: pointer): PPangoFontFamily =
+  result = cast[PPangoFontFamily](G_TYPE_CHECK_INSTANCE_CAST(anObject,
       PANGO_TYPE_FONT_FAMILY()))
 
-proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool = 
+proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FAMILY())
 
-proc PANGO_FONT_FAMILY_CLASS*(klass: Pointer): PPangoFontFamilyClass = 
-  result = cast[PPangoFontFamilyClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+proc PANGO_FONT_FAMILY_CLASS*(klass: Pointer): PPangoFontFamilyClass =
+  result = cast[PPangoFontFamilyClass](G_TYPE_CHECK_CLASS_CAST(klass,
       PANGO_TYPE_FONT_FAMILY()))
 
-proc PANGO_IS_FONT_FAMILY_CLASS*(klass: Pointer): bool = 
+proc PANGO_IS_FONT_FAMILY_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FAMILY())
 
-proc PANGO_FONT_FAMILY_GET_CLASS*(obj: PPangoFontFamily): PPangoFontFamilyClass = 
-  result = cast[PPangoFontFamilyClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+proc PANGO_FONT_FAMILY_GET_CLASS*(obj: PPangoFontFamily): PPangoFontFamilyClass =
+  result = cast[PPangoFontFamilyClass](G_TYPE_INSTANCE_GET_CLASS(obj,
       PANGO_TYPE_FONT_FAMILY()))
 
-proc PANGO_TYPE_FONT_FACE*(): GType = 
+proc PANGO_TYPE_FONT_FACE*(): GType =
   result = pango_font_face_get_type()
 
-proc PANGO_FONT_FACE*(anObject: Pointer): PPangoFontFace = 
-  result = cast[PPangoFontFace](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc PANGO_FONT_FACE*(anObject: Pointer): PPangoFontFace =
+  result = cast[PPangoFontFace](G_TYPE_CHECK_INSTANCE_CAST(anObject,
       PANGO_TYPE_FONT_FACE()))
 
-proc PANGO_IS_FONT_FACE*(anObject: Pointer): bool = 
+proc PANGO_IS_FONT_FACE*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FACE())
 
-proc PANGO_FONT_FACE_CLASS*(klass: Pointer): PPangoFontFaceClass = 
-  result = cast[PPangoFontFaceClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+proc PANGO_FONT_FACE_CLASS*(klass: Pointer): PPangoFontFaceClass =
+  result = cast[PPangoFontFaceClass](G_TYPE_CHECK_CLASS_CAST(klass,
       PANGO_TYPE_FONT_FACE()))
 
-proc PANGO_IS_FONT_FACE_CLASS*(klass: Pointer): bool = 
+proc PANGO_IS_FONT_FACE_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FACE())
 
-proc PANGO_FONT_FACE_GET_CLASS*(obj: Pointer): PPangoFontFaceClass = 
-  result = cast[PPangoFontFaceClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+proc PANGO_FONT_FACE_GET_CLASS*(obj: Pointer): PPangoFontFaceClass =
+  result = cast[PPangoFontFaceClass](G_TYPE_INSTANCE_GET_CLASS(obj,
       PANGO_TYPE_FONT_FACE()))
 
-proc PANGO_TYPE_FONT*(): GType = 
+proc PANGO_TYPE_FONT*(): GType =
   result = pango_font_get_type()
 
-proc PANGO_FONT*(anObject: Pointer): PPangoFont = 
+proc PANGO_FONT*(anObject: Pointer): PPangoFont =
   result = cast[PPangoFont](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONT()))
 
-proc PANGO_IS_FONT*(anObject: Pointer): bool = 
+proc PANGO_IS_FONT*(anObject: Pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT())
 
-proc PANGO_FONT_CLASS*(klass: Pointer): PPangoFontClass = 
+proc PANGO_FONT_CLASS*(klass: Pointer): PPangoFontClass =
   result = cast[PPangoFontClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT()))
 
-proc PANGO_IS_FONT_CLASS*(klass: Pointer): bool = 
+proc PANGO_IS_FONT_CLASS*(klass: Pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT())
 
-proc PANGO_FONT_GET_CLASS*(obj: PPangoFont): PPangoFontClass = 
+proc PANGO_FONT_GET_CLASS*(obj: PPangoFont): PPangoFontClass =
   result = cast[PPangoFontClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT()))
 
-proc PANGO_TYPE_FONT_MAP*(): GType = 
+proc PANGO_TYPE_FONT_MAP*(): GType =
   result = pango_font_map_get_type()
 
-proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontmap = 
-  result = cast[PPangoFontmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontmap =
+  result = cast[PPangoFontmap](G_TYPE_CHECK_INSTANCE_CAST(anObject,
       PANGO_TYPE_FONT_MAP()))
 
-proc PANGO_IS_FONT_MAP*(anObject: pointer): bool = 
+proc PANGO_IS_FONT_MAP*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_MAP())
 
-proc PANGO_FONT_MAP_CLASS*(klass: pointer): PPangoFontMapClass = 
+proc PANGO_FONT_MAP_CLASS*(klass: pointer): PPangoFontMapClass =
   result = cast[PPangoFontMapClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT_MAP()))
 
-proc PANGO_IS_FONT_MAP_CLASS*(klass: pointer): bool = 
+proc PANGO_IS_FONT_MAP_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_MAP())
 
-proc PANGO_FONT_MAP_GET_CLASS*(obj: PPangoFontMap): PPangoFontMapClass = 
+proc PANGO_FONT_MAP_GET_CLASS*(obj: PPangoFontMap): PPangoFontMapClass =
   result = cast[PPangoFontMapClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT_MAP()))
 
-proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint = 
+proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint =
   result = (a.flag0 and bm_TPangoGlyphVisAttr_is_cluster_start) shr
       bp_TPangoGlyphVisAttr_is_cluster_start
 
-proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) = 
+proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) =
   a.flag0 = a.flag0 or
-      ((`is_cluster_start` shl bp_TPangoGlyphVisAttr_is_cluster_start) and
+      (int16(`is_cluster_start` shl bp_TPangoGlyphVisAttr_is_cluster_start) and
       bm_TPangoGlyphVisAttr_is_cluster_start)
 
-proc PANGO_TYPE_GLYPH_STRING*(): GType = 
+proc PANGO_TYPE_GLYPH_STRING*(): GType =
   result = pango_glyph_string_get_type()
 
-proc PANGO_TYPE_LAYOUT*(): GType = 
+proc PANGO_TYPE_LAYOUT*(): GType =
   result = pango_layout_get_type()
 
-proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout = 
+proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout =
   result = cast[PPangoLayout](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_LAYOUT()))
 
-proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass = 
+proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass =
   result = cast[PPangoLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_LAYOUT()))
 
-proc PANGO_IS_LAYOUT*(anObject: pointer): bool = 
+proc PANGO_IS_LAYOUT*(anObject: pointer): bool =
   result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_LAYOUT())
 
-proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool = 
+proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool =
   result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_LAYOUT())
 
-proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass = 
+proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass =
   result = cast[PPangoLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_LAYOUT()))
 
-proc PANGO_TYPE_TAB_ARRAY*(): GType = 
+proc PANGO_TYPE_TAB_ARRAY*(): GType =
   result = pango_tab_array_get_type()
diff --git a/lib/base/gtk/pangoutils.nim b/lib/base/gtk/pangoutils.nim
index 2c328b59a..6033cca7d 100644
--- a/lib/base/gtk/pangoutils.nim
+++ b/lib/base/gtk/pangoutils.nim
@@ -1,29 +1,28 @@
-import 
+import
   glib2, pango
 
-type 
+type
   pint32* = ptr int32
 
-proc pango_split_file_list*(str: cstring): PPchar{.cdecl, dynlib: pangolib, 
+proc pango_split_file_list*(str: cstring): PPchar{.cdecl, dynlib: pangolib,
     importc: "pango_split_file_list".}
-proc pango_trim_string*(str: cstring): cstring{.cdecl, dynlib: pangolib, 
+proc pango_trim_string*(str: cstring): cstring{.cdecl, dynlib: pangolib,
     importc: "pango_trim_string".}
-proc pango_read_line*(stream: TFile, str: PGString): gint{.cdecl, 
+proc pango_read_line*(stream: TFile, str: PGString): gint{.cdecl,
     dynlib: pangolib, importc: "pango_read_line".}
-proc pango_skip_space*(pos: PPchar): gboolean{.cdecl, dynlib: pangolib, 
+proc pango_skip_space*(pos: PPchar): gboolean{.cdecl, dynlib: pangolib,
     importc: "pango_skip_space".}
-proc pango_scan_word*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, 
+proc pango_scan_word*(pos: PPchar, OutStr: PGString): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_scan_word".}
-proc pango_scan_string*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, 
+proc pango_scan_string*(pos: PPchar, OutStr: PGString): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_scan_string".}
-proc pango_scan_int*(pos: PPchar, OutInt: pint32): gboolean{.cdecl, 
+proc pango_scan_int*(pos: PPchar, OutInt: pint32): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_scan_int".}
-when defined(PANGO_ENABLE_BACKEND): 
-  proc pango_config_key_get(key: cstring): cstring{.cdecl, dynlib: pangolib, 
-      importc: "pango_config_key_get".}
-  proc pango_lookup_aliases(fontname: cstring, families: PPPchar, 
-                            n_families: pint32){.cdecl, dynlib: pangolib, 
-      importc: "pango_lookup_aliases".}
+proc pango_config_key_get(key: cstring): cstring{.cdecl, dynlib: pangolib,
+    importc: "pango_config_key_get".}
+proc pango_lookup_aliases(fontname: cstring, families: PPPchar,
+                          n_families: pint32){.cdecl, dynlib: pangolib,
+    importc: "pango_lookup_aliases".}
 proc pango_parse_style*(str: cstring, style: PPangoStyle, warn: gboolean): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_parse_style".}
 proc pango_parse_variant*(str: cstring, variant: PPangoVariant, warn: gboolean): gboolean{.
@@ -32,15 +31,14 @@ proc pango_parse_weight*(str: cstring, weight: PPangoWeight, warn: gboolean): gb
     cdecl, dynlib: pangolib, importc: "pango_parse_weight".}
 proc pango_parse_stretch*(str: cstring, stretch: PPangoStretch, warn: gboolean): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_parse_stretch".}
-when defined(PANGO_ENABLE_BACKEND): 
-  proc pango_get_sysconf_subdirectory(): cstring{.cdecl, dynlib: pangolib, 
-      importc: "pango_get_sysconf_subdirectory".}
-  proc pango_get_lib_subdirectory(): cstring{.cdecl, dynlib: pangolib, 
-      importc: "pango_get_lib_subdirectory".}
-proc pango_log2vis_get_embedding_levels*(str: Pgunichar, len: int32, 
-    pbase_dir: PPangoDirection, embedding_level_list: Pguint8): gboolean{.cdecl, 
+proc pango_get_sysconf_subdirectory(): cstring{.cdecl, dynlib: pangolib,
+    importc: "pango_get_sysconf_subdirectory".}
+proc pango_get_lib_subdirectory(): cstring{.cdecl, dynlib: pangolib,
+    importc: "pango_get_lib_subdirectory".}
+proc pango_log2vis_get_embedding_levels*(str: Pgunichar, len: int32,
+    pbase_dir: PPangoDirection, embedding_level_list: Pguint8): gboolean{.cdecl,
     dynlib: pangolib, importc: "pango_log2vis_get_embedding_levels".}
 proc pango_get_mirror_char*(ch: gunichar, mirrored_ch: Pgunichar): gboolean{.
     cdecl, dynlib: pangolib, importc: "pango_get_mirror_char".}
 proc pango_language_get_sample_string*(language: PPangoLanguage): cstring{.
-    cdecl, dynlib: pangolib, importc: "pango_language_get_sample_string".}
\ No newline at end of file
+    cdecl, dynlib: pangolib, importc: "pango_language_get_sample_string".}
diff --git a/lib/base/lex.nim b/lib/base/lex.nim
deleted file mode 100644
index 34f0c32a8..000000000
--- a/lib/base/lex.nim
+++ /dev/null
@@ -1,73 +0,0 @@
-# Lexer generator for Nimrod
-#   (c) 2008 Andreas Rumpf
-
-# Stress testing for the macro feature
-
-# the syntax that should be supported is:
-
-# template numpostfix = 
-#   '\'' & 'F'|'f'|'i'|'I' & "32"|"64"|"8"|"16"
-# template edigits = 
-#   'e'|'E' & +digits
-# tokens(
-#   tkIdent: +UniIdentStart & *UniIdentRest,
-#   tkHexNumber: '0' & ('x'|'X') & +hexDigits & ?( numpostfix ),
-#   tkOctNumber: '0' & ('c'|'C') & +octDigits & ?( numpostfix ),
-#   tkBinNumber: '0' & ('b'|'B') & +binDigits & ?( numpostfix ),
-#   tkIntNumber: +digits & ?( numpostfix ), 
-#   tkFloatNumber: +digits & ('.' & +digits & ?(edigits) | edigits) & ?(numpostfix),
-#   
-# )
-# actions(
-#   tkIdent: lookup
-# ) 
-# 
-
-#
-#  match inputstream
-#  of +('A'..'Z' | '_' | 'a'..'z') *('A'..'Z' | '_' | 'a'..'z' | '0'..'9') :
-#    
-#    x = inputstream[pos..length]
-#  of '0' 'x' +('0'..'9' | 'a'..'f' | '_' | 'A'..'F') : 
-#    y = ...
-
-const
-  AsciiLetter = {'A'..'Z', 'a'..'z'}
-  uniLetter = AsciiLetter + {'\128'..'\255'}
-  digits = {'0'..'9'}
-  hexDigits = {'0'..'9', 'a'..'f', 'A'..'F'}
-  octDigits = {'0'..'7'}
-  binDigits = {'0'..'1'}
-  AsciiIdentStart = AsciiLetter + {'_'} 
-  AsciiIdentRest = AsciiIdentStart + Digits
-  UniIdentStart = UniLetter + {'_'} 
-  UniIdentRest = UniIdentStart + Digits
-
-# --> if match(s, +AsciiIdentStart & *AsciiIdentRest): 
-
-#  Regular expressions in Nimrod itself!
-#  -------------------------------------
-#  
-#  'a' -- matches the character a
-#  'a'..'z'  -- range operator '-'
-#  'A' | 'B' -- alternative operator |
-#  * 'a' -- prefix * is needed
-#  + 'a' -- prefix + is needed
-#  ? 'a' -- prefix ? is needed
-#  *? prefix is needed
-#  +? prefix is needed
-#  letter  -- character classes with real names!
-#  letters
-#  white
-#  whites
-#  any   -- any character
-#  ()    -- are Nimrod syntax
-#  ! 'a'-'z'
-#  
-#  -- concatentation via proc call:
-#  
-#  re('A' 'Z' *word  )
-
-macro re(n: expr): expr = 
-  
-  result = newCall("magic_re", x)
diff --git a/lib/base/nregex.nim b/lib/base/nregex.nim
deleted file mode 100644
index 77afb8421..000000000
--- a/lib/base/nregex.nim
+++ /dev/null
@@ -1,124 +0,0 @@
-# new implementation of regular expressions
-
-type
-  TRegexKind = enum 
-    regNone,
-    regChar, 
-    regSet,
-    regConc,
-    regAlt,
-    regStar,
-    regPlus,
-    regMN,
-    regNewline
-  
-  TRegex = object of TObject
-    case kind: TRegexKind
-    of regChar: c: char
-    of regSet: s: ref set[char]
-    else: a, b: PRegEx
-    
-  PRegEx* = ref TRegEx
-
-  TRegExFlag* = enum   ## Flags concerning the semantics of regular expressions
-    reCaseInsensitive, ## case insensitive match 
-    reStyleInsensitive ## style insensitive match
-    
-    
-  TRegExFlags* = set[TRegExFlag]
-    ## Flags concerning the semantics of regular expressions
-    
-proc raiseRegex(msg: string) {.noreturn.} = 
-  var e: ref Exception
-  new(e)
-  e.msg = msg
-  raise e
-
-proc compileAux(i: int, s: string, r: PRegEx): int
-    
-proc compileBackslash(i: int, s: string, r: PRegEx): int = 
-  var i = i
-  inc(i)
-  case s[i]
-  of 'A'..'Z': 
-  of 'a'..'z':
-  of '0':
-  of '1'..'9': 
-  
-  else:
-    r.kind = regChar
-    r.c = s[i]
-  inc(i)
-  result = i
-
-proc compileAtom(i: int, s: string, r: PRegEx): int = 
-  var i = i
-  case s[i]
-  of '[':
-    inc(i)
-    var inverse = s[i] == '^'
-    if inverse: inc(i)
-    r.kind = regSet
-    new(r.s)
-    while true: 
-      case s[i]
-      of '\\': i = compileBackslash(i, s, r)
-      of ']': 
-        inc(i)
-        break
-      of '\0': 
-        raiseRegex("']' expected")
-      elif s[i+1] == '-':
-        var x = s[i]
-        inc(i, 2)
-        var y = s[i]
-        inc(i)
-        r.s = r.s + {x..y}
-      else:
-        incl(r.s, s[i])
-        inc(i)
-    if inverse:
-      r.s = {'\0'..'\255'} - r.s
-  of '\\':
-    inc(i)
-    i = compileBackslash(i, s, r)
-  of '.':
-    r.kind = regAny
-    inc(i)
-  of '(': 
-    inc(i)
-    i = compileAux(i, s, r)
-    if s[i] = ')': inc(i)
-    else: raiseRegex("')' expected")
-  of '\0': nil # do nothing
-  else:
-    r.kind = regChar
-    r.c = s[i]
-    inc(i)
-  result = i
-    
-proc compilePostfix(i: int, s: string, r: PRegEx): int = 
-  var i = compileAtom(i, s, r)
-  var a: PRegEx
-  case s[i]
-  of '*':
-  of '+':
-  of '?':
-  else: nil
-
-proc compileAux(i: int, s: string, r: PRegEx): int = 
-  var i = i
-  i = compileAtom(i, s, r)
-  
-  while s[i] != '\0':
-    
-  result = i
-    
-proc compile*(regex: string, flags: TRegExFlags = {}): PRegEx = 
-  ## Compiles the string `regex` that represents a regular expression into 
-  ## an internal data structure that can be used for matching.
-  new(result)
-  var i = compileAux(0, regex, result)
-  if i < len(regex)-1:
-    # not all characters used for the regular expression?
-    raiseRegEx("invalid regular expression")
diff --git a/lib/base/pcre.nim b/lib/base/pcre.nim
index 1023f86f3..ebebd8bd7 100644
--- a/lib/base/pcre.nim
+++ b/lib/base/pcre.nim
@@ -1,296 +1,291 @@
-#

-#

-#            Nimrod's Runtime Library

-#        (c) Copyright 2006 Andreas Rumpf

-#

-#    See the file "copying.txt", included in this

-#    distribution, for details about the copyright.

-#

-

-# This file was created by a complicated procedure which saved me a considerable

-# amount of time: the pcre.h header was converted to modpcre.h by hand, so that

-# h2pas could handle it. Then I used pas2mor to generate a Morpork binding.

-# Unfortunately, I had to fix some things later on; thus don't do all this

-# again! My manual changes will be lost!

-

-# Converted by Pas2mor v1.37

-#

-#  Automatically converted by H2Pas 0.99.16 from modpcre.h

-#  The following command line parameters were used:

-#    -D -c -l pcre.lib -T modpcre.h

-

-{.compile: "pcre_all.c" .}

-

-type

-  Pbyte = ptr byte

-  Pchar = CString

-  PPchar = ptr PChar

-  Pint = ptr cint

-  Ppcre* = ptr TPcre

-  Ppcre_callout_block = ptr tpcre_callout_block

-  Ppcre_extra = ptr Tpcre_extra

-

-#************************************************

-#*       Perl-Compatible Regular Expressions    *

-#************************************************

-#

-#   Modified by Andreas Rumpf for h2pas.

-

-# In its original form, this is the .in file that is transformed by

-# "configure" into pcre.h.

-#

-#           Copyright (c) 1997-2005 University of Cambridge

-#

-# -----------------------------------------------------------------------------

-# Redistribution and use in source and binary forms, with or without

-# modification, are permitted provided that the following conditions are met:

-#

-#    * Redistributions of source code must retain the above copyright notice,

-#      this list of conditions and the following disclaimer.

-#

-#    * Redistributions in binary form must reproduce the above copyright

-#      notice, this list of conditions and the following disclaimer in the

-#      documentation and/or other materials provided with the distribution.

-#

-#    * Neither the name of the University of Cambridge nor the names of its

-#      contributors may be used to endorse or promote products derived from

-#      this software without specific prior written permission.

-#

-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE

-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

-# POSSIBILITY OF SUCH DAMAGE.

-# -----------------------------------------------------------------------------

-

-# The file pcre.h is build by "configure". Do not edit it; instead

-# make changes to pcre.in.

-

-const

-  PCRE_MAJOR* = 6

-  PCRE_MINOR* = 3

-  PCRE_DATE* = "2005/11/29"

-  # Options

-  PCRE_CASELESS* = 0x00000001

-  PCRE_MULTILINE* = 0x00000002

-  PCRE_DOTALL* = 0x00000004

-  PCRE_EXTENDED* = 0x00000008

-  PCRE_ANCHORED* = 0x00000010

-  PCRE_DOLLAR_ENDONLY* = 0x00000020

-  PCRE_EXTRA* = 0x00000040

-  PCRE_NOTBOL* = 0x00000080

-  PCRE_NOTEOL* = 0x00000100

-  PCRE_UNGREEDY* = 0x00000200

-  PCRE_NOTEMPTY* = 0x00000400

-  PCRE_UTF8* = 0x00000800

-  PCRE_NO_AUTO_CAPTURE* = 0x00001000

-  PCRE_NO_UTF8_CHECK* = 0x00002000

-  PCRE_AUTO_CALLOUT* = 0x00004000

-  PCRE_PARTIAL* = 0x00008000

-  PCRE_DFA_SHORTEST* = 0x00010000

-  PCRE_DFA_RESTART* = 0x00020000

-  PCRE_FIRSTLINE* = 0x00040000

-  # Exec-time and get/set-time error codes

-  PCRE_ERROR_NOMATCH* = -(1)

-  PCRE_ERROR_NULL* = -(2)

-  PCRE_ERROR_BADOPTION* = -(3)

-  PCRE_ERROR_BADMAGIC* = -(4)

-  PCRE_ERROR_UNKNOWN_NODE* = -(5)

-  PCRE_ERROR_NOMEMORY* = -(6)

-  PCRE_ERROR_NOSUBSTRING* = -(7)

-  PCRE_ERROR_MATCHLIMIT* = -(8)

-  # Never used by PCRE itself

-  PCRE_ERROR_CALLOUT* = -(9)

-  PCRE_ERROR_BADUTF8* = -(10)

-  PCRE_ERROR_BADUTF8_OFFSET* = -(11)

-  PCRE_ERROR_PARTIAL* = -(12)

-  PCRE_ERROR_BADPARTIAL* = -(13)

-  PCRE_ERROR_INTERNAL* = -(14)

-  PCRE_ERROR_BADCOUNT* = -(15)

-  PCRE_ERROR_DFA_UITEM* = -(16)

-  PCRE_ERROR_DFA_UCOND* = -(17)

-  PCRE_ERROR_DFA_UMLIMIT* = -(18)

-  PCRE_ERROR_DFA_WSSIZE* = -(19)

-  PCRE_ERROR_DFA_RECURSE* = -(20)

-  # Request types for pcre_fullinfo()

-  PCRE_INFO_OPTIONS* = 0

-  PCRE_INFO_SIZE* = 1

-  PCRE_INFO_CAPTURECOUNT* = 2

-  PCRE_INFO_BACKREFMAX* = 3

-  PCRE_INFO_FIRSTBYTE* = 4

-  # For backwards compatibility

-  PCRE_INFO_FIRSTCHAR* = 4

-  PCRE_INFO_FIRSTTABLE* = 5

-  PCRE_INFO_LASTLITERAL* = 6

-  PCRE_INFO_NAMEENTRYSIZE* = 7

-  PCRE_INFO_NAMECOUNT* = 8

-  PCRE_INFO_NAMETABLE* = 9

-  PCRE_INFO_STUDYSIZE* = 10

-  PCRE_INFO_DEFAULT_TABLES* = 11

-  # Request types for pcre_config()

-  PCRE_CONFIG_UTF8* = 0

-  PCRE_CONFIG_NEWLINE* = 1

-  PCRE_CONFIG_LINK_SIZE* = 2

-  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD* = 3

-  PCRE_CONFIG_MATCH_LIMIT* = 4

-  PCRE_CONFIG_STACKRECURSE* = 5

-  PCRE_CONFIG_UNICODE_PROPERTIES* = 6

-  # Bit flags for the pcre_extra structure

-  PCRE_EXTRA_STUDY_DATA* = 0x0001

-  PCRE_EXTRA_MATCH_LIMIT* = 0x0002

-  PCRE_EXTRA_CALLOUT_DATA* = 0x0004

-  PCRE_EXTRA_TABLES* = 0x0008

-  # Types

-

-type

-  TPcre = record

-  #undefined structure

-

-

-  # The structure for passing additional data to pcre_exec(). This is defined

-  # in such as way as to be extensible. Always add new fields at the end,

-  # in order to remain compatible. 

-  # Bits for which fields are set 

-  # Opaque data from pcre_study()  

-  # Maximum number of calls to match()  

-  # Data passed back in callouts  

-  # Const before type ignored 

-  # Pointer to character tables  

-  Tpcre_extra* {.final.} = object

-    flags: cuint

-    study_data: pointer

-    match_limit: cuint

-    callout_data: pointer

-    tables: ptr byte

-

-  # The structure for passing out data via the pcre_callout_function. We use a

-  # structure so that new fields can be added on the end in future versions,

-  # without changing the API of the function, thereby allowing old clients to

-  # work without modification.  

-  # Identifies version of block  

-  # ------------------------ Version 0 -------------------------------  

-  # Number compiled into pattern  

-  # The offset vector  

-  # Const before type ignored 

-  # The subject being matched  

-  # The length of the subject  

-  # Offset to start of this match attempt  

-  # Where we currently are in the subject  

-  # Max current capture  

-  # Most recently closed capture  

-  # Data passed in with the call  

-  # ------------------- Added for Version 1 --------------------------  

-  # Offset to next item in the pattern  

-  # Length of next item in the pattern  

-  # ------------------------------------------------------------------  

-  TPcre_callout_block* {.final.} = object

-    version: cint

-    callout_number: cint

-    offset_vector: ptr cint

-    subject: ptr char

-    subject_length: cint

-    start_match: cint

-    current_position: cint

-    capture_top: cint

-    capture_last: cint

-    callout_data: pointer

-    pattern_position: cint

-    next_item_length: cint

-

-# Exported PCRE functions  

-

-proc pcre_compile*(para1: Pchar, para2: cint, para3: ptr Pchar,

-                  para4: Pint, para5: Pbyte): Ppcre {.

-                  importc: "pcre_compile", noconv.}

-

-proc pcre_compile2*(para1: Pchar, para2: cint, para3: Pint, para4: PPchar,

-                   para5: Pint, para6: Pbyte): Ppcre {. 

-                   importc: "pcre_compile2", noconv.}

-

-proc pcre_config*(para1: cint, para2: pointer): cint {.

-  importc: "pcre_config", noconv.}

-

-proc pcre_copy_named_substring*(para1: Ppcre, para2: Pchar, para3: Pint,

-                               para4: cint, para5: Pchar, para6: Pchar,

-                               para7: cint): cint {.

-                               importc: "pcre_copy_named_substring", noconv.}

-

-proc pcre_copy_substring*(para1: Pchar, para2: Pint, para3: cint, para4: cint,

-                         para5: Pchar, para6: cint): cint {.

-                         importc: "pcre_copy_substring", noconv.}

-

-proc pcre_dfa_exec*(para1: Ppcre, para2: Ppcre_extra, para3: Pchar,

-                   para4: cint, para5: cint, para6: cint, para7: Pint,

-                   para8: cint, para9: Pint, para10: cint): cint {.

-                   importc: "pcre_dfa_exec", noconv.}

-

-proc pcre_exec*(para1: Ppcre, para2: Ppcre_extra, para3: Pchar,

-               para4: cint, para5: cint, para6: cint, para7: Pint,

-               para8: cint): cint {.importc: "pcre_exec", noconv.}

-

-proc pcre_free_substring*(para1: Pchar) {.

-  importc: "pcre_free_substring", noconv.}

-

-proc pcre_free_substring_list*(para1: PPchar) {.

-  importc: "pcre_free_substring_list", noconv.}

-

-proc pcre_fullinfo*(para1: Ppcre, para2: Ppcre_extra, para3: cint,

-                   para4: pointer): cint {.importc: "pcre_fullinfo", noconv.}

-

-proc pcre_get_named_substring*(para1: Ppcre, para2: Pchar, para3: Pint,

-                              para4: cint, para5: Pchar, para6: PPchar): cint {.

-                              importc: "pcre_get_named_substring", noconv.}

-

-proc pcre_get_stringnumber*(para1: Ppcre, para2: Pchar): cint {.

-  importc: "pcre_get_stringnumber", noconv.}

-

-proc pcre_get_substring*(para1: Pchar, para2: Pint, para3: cint,

-                        para4: cint, para5: PPchar): cint {.

-                        importc: "pcre_get_substring", noconv.}

-

-proc pcre_get_substring_list*(para1: Pchar, para2: Pint, para3: cint,

-                             para4: ptr PPchar): cint {.

-                             importc: "pcre_get_substring_list", noconv.}

-

-proc pcre_info*(para1: Ppcre, para2: Pint, para3: Pint): cint {.

-  importc: "pcre_info", noconv.}

-

-proc pcre_maketables*: ptr byte {.

-  importc: "pcre_maketables", noconv.}

-

-proc pcre_refcount*(para1: Ppcre, para2: cint): cint {.

-  importc: "pcre_refcount", noconv.}

-

-proc pcre_study*(para1: Ppcre, para2: cint,

-                 para3: ptr CString): Ppcre_extra {.importc, noconv.}

-

-proc pcre_version*: CString {.importc: "pcre_version", noconv.}

-

-# Indirection for store get and free functions. These can be set to

-# alternative malloc/free functions if required. Special ones are used in the

-# non-recursive case for "frames". There is also an optional callout function

-# that is triggered by the (?) regex item.

-#

-

-# we use Nimrod's memory manager (but not GC!) for these functions:

-var

-  pcre_malloc {.importc: "pcre_malloc".}: proc (para1: int): pointer {.noconv.}

-  pcre_free {.importc: "pcre_free".}: proc (para1: pointer) {.noconv.}

-  pcre_stack_malloc {.importc: "pcre_stack_malloc".}:

-    proc (para1: int): pointer {.noconv.}

-  pcre_stack_free  {.importc: "pcre_stack_free".}:

-    proc (para1: pointer) {.noconv.}

-  pcre_callout {.importc: "pcre_callout".}:

-    proc (para1: Ppcre_callout_block): cint {.noconv.}

-

-pcre_malloc = system.alloc

-pcre_free = system.dealloc

-pcre_stack_malloc = system.alloc

-pcre_stack_free = system.dealloc

-pcre_callout = nil

+#
+#
+#            Nimrod's Runtime Library
+#        (c) Copyright 2006 Andreas Rumpf
+#
+#    See the file "copying.txt", included in this
+#    distribution, for details about the copyright.
+#
+
+# This file was created by a complicated procedure which saved me a considerable
+# amount of time: the pcre.h header was converted to modpcre.h by hand, so that
+# h2pas could handle it. Then I used pas2mor to generate a Nimrod binding.
+# Unfortunately, I had to fix some things later on; thus don't do all this
+# again! My manual changes will be lost!
+
+# Converted by Pas2mor v1.37
+#
+#  Automatically converted by H2Pas 0.99.16 from modpcre.h
+#  The following command line parameters were used:
+#    -D -c -l pcre.lib -T modpcre.h
+
+{.compile: "pcre_all.c" .}
+
+type
+  Pbyte = ptr byte
+  PPchar = ptr cstring
+  Pint = ptr cint
+  Ppcre* = ptr TPcre
+  Ppcre_callout_block* = ptr tpcre_callout_block
+  Ppcre_extra* = ptr Tpcre_extra
+  TPcre {.final, pure.} = object
+
+  # The structure for passing additional data to pcre_exec(). This is defined
+  # in such as way as to be extensible.
+  # Bits for which fields are set
+  # Opaque data from pcre_study()
+  # Maximum number of calls to match()
+  # Data passed back in callouts
+  # Const before type ignored
+  # Pointer to character tables
+  Tpcre_extra* {.final, pure.} = object
+    flags: cint
+    study_data: pointer
+    match_limit: cint
+    callout_data: pointer
+    tables: ptr byte
+
+  # The structure for passing out data via the pcre_callout_function. We use a
+  # structure so that new fields can be added on the end in future versions,
+  # without changing the API of the function, thereby allowing old clients to
+  # work without modification.
+  # Identifies version of block
+  # ------------------------ Version 0 -------------------------------
+  # Number compiled into pattern
+  # The offset vector
+  # Const before type ignored
+  # The subject being matched
+  # The length of the subject
+  # Offset to start of this match attempt
+  # Where we currently are in the subject
+  # Max current capture
+  # Most recently closed capture
+  # Data passed in with the call
+  # ------------------- Added for Version 1 --------------------------
+  # Offset to next item in the pattern
+  # Length of next item in the pattern
+  # ------------------------------------------------------------------
+  TPcre_callout_block* {.final, pure.} = object
+    version: cint
+    callout_number: cint
+    offset_vector: ptr cint
+    subject: ptr char
+    subject_length: cint
+    start_match: cint
+    current_position: cint
+    capture_top: cint
+    capture_last: cint
+    callout_data: pointer
+    pattern_position: cint
+    next_item_length: cint
+
+
+#************************************************
+#*       Perl-Compatible Regular Expressions    *
+#************************************************
+#
+#   Modified by Andreas Rumpf for h2pas.
+
+# In its original form, this is the .in file that is transformed by
+# "configure" into pcre.h.
+#
+#           Copyright (c) 1997-2005 University of Cambridge
+#
+# -----------------------------------------------------------------------------
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#    * Redistributions of source code must retain the above copyright notice,
+#      this list of conditions and the following disclaimer.
+#
+#    * Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+#    * Neither the name of the University of Cambridge nor the names of its
+#      contributors may be used to endorse or promote products derived from
+#      this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+# -----------------------------------------------------------------------------
+
+# The file pcre.h is build by "configure". Do not edit it; instead
+# make changes to pcre.in.
+
+const
+  PCRE_MAJOR* = 6
+  PCRE_MINOR* = 3
+  PCRE_DATE* = "2005/11/29"
+  # Options
+  PCRE_CASELESS* = 0x00000001
+  PCRE_MULTILINE* = 0x00000002
+  PCRE_DOTALL* = 0x00000004
+  PCRE_EXTENDED* = 0x00000008
+  PCRE_ANCHORED* = 0x00000010
+  PCRE_DOLLAR_ENDONLY* = 0x00000020
+  PCRE_EXTRA* = 0x00000040
+  PCRE_NOTBOL* = 0x00000080
+  PCRE_NOTEOL* = 0x00000100
+  PCRE_UNGREEDY* = 0x00000200
+  PCRE_NOTEMPTY* = 0x00000400
+  PCRE_UTF8* = 0x00000800
+  PCRE_NO_AUTO_CAPTURE* = 0x00001000
+  PCRE_NO_UTF8_CHECK* = 0x00002000
+  PCRE_AUTO_CALLOUT* = 0x00004000
+  PCRE_PARTIAL* = 0x00008000
+  PCRE_DFA_SHORTEST* = 0x00010000
+  PCRE_DFA_RESTART* = 0x00020000
+  PCRE_FIRSTLINE* = 0x00040000
+  # Exec-time and get/set-time error codes
+  PCRE_ERROR_NOMATCH* = -(1)
+  PCRE_ERROR_NULL* = -(2)
+  PCRE_ERROR_BADOPTION* = -(3)
+  PCRE_ERROR_BADMAGIC* = -(4)
+  PCRE_ERROR_UNKNOWN_NODE* = -(5)
+  PCRE_ERROR_NOMEMORY* = -(6)
+  PCRE_ERROR_NOSUBSTRING* = -(7)
+  PCRE_ERROR_MATCHLIMIT* = -(8)
+  # Never used by PCRE itself
+  PCRE_ERROR_CALLOUT* = -(9)
+  PCRE_ERROR_BADUTF8* = -(10)
+  PCRE_ERROR_BADUTF8_OFFSET* = -(11)
+  PCRE_ERROR_PARTIAL* = -(12)
+  PCRE_ERROR_BADPARTIAL* = -(13)
+  PCRE_ERROR_INTERNAL* = -(14)
+  PCRE_ERROR_BADCOUNT* = -(15)
+  PCRE_ERROR_DFA_UITEM* = -(16)
+  PCRE_ERROR_DFA_UCOND* = -(17)
+  PCRE_ERROR_DFA_UMLIMIT* = -(18)
+  PCRE_ERROR_DFA_WSSIZE* = -(19)
+  PCRE_ERROR_DFA_RECURSE* = -(20)
+  # Request types for pcre_fullinfo()
+  PCRE_INFO_OPTIONS* = 0
+  PCRE_INFO_SIZE* = 1
+  PCRE_INFO_CAPTURECOUNT* = 2
+  PCRE_INFO_BACKREFMAX* = 3
+  PCRE_INFO_FIRSTBYTE* = 4
+  # For backwards compatibility
+  PCRE_INFO_FIRSTCHAR* = 4
+  PCRE_INFO_FIRSTTABLE* = 5
+  PCRE_INFO_LASTLITERAL* = 6
+  PCRE_INFO_NAMEENTRYSIZE* = 7
+  PCRE_INFO_NAMECOUNT* = 8
+  PCRE_INFO_NAMETABLE* = 9
+  PCRE_INFO_STUDYSIZE* = 10
+  PCRE_INFO_DEFAULT_TABLES* = 11
+  # Request types for pcre_config()
+  PCRE_CONFIG_UTF8* = 0
+  PCRE_CONFIG_NEWLINE* = 1
+  PCRE_CONFIG_LINK_SIZE* = 2
+  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD* = 3
+  PCRE_CONFIG_MATCH_LIMIT* = 4
+  PCRE_CONFIG_STACKRECURSE* = 5
+  PCRE_CONFIG_UNICODE_PROPERTIES* = 6
+  # Bit flags for the pcre_extra structure
+  PCRE_EXTRA_STUDY_DATA* = 0x0001
+  PCRE_EXTRA_MATCH_LIMIT* = 0x0002
+  PCRE_EXTRA_CALLOUT_DATA* = 0x0004
+  PCRE_EXTRA_TABLES* = 0x0008
+
+# Exported PCRE functions
+
+proc pcre_compile*(para1: cstring, para2: cint, para3: ptr cstring,
+                  para4: ptr int, para5: Pbyte): Ppcre {.
+                  importc: "pcre_compile", noconv.}
+
+proc pcre_compile2*(para1: cstring, para2: cint, para3: Pint, para4: PPchar,
+                   para5: ptr int, para6: Pbyte): Ppcre {.
+                   importc: "pcre_compile2", noconv.}
+
+proc pcre_config*(para1: cint, para2: pointer): cint {.
+  importc: "pcre_config", noconv.}
+
+proc pcre_copy_named_substring*(para1: Ppcre, para2: cstring, para3: Pint,
+                               para4: cint, para5: cstring, para6: cstring,
+                               para7: cint): cint {.
+                               importc: "pcre_copy_named_substring", noconv.}
+
+proc pcre_copy_substring*(para1: cstring, para2: Pint, para3: cint, para4: cint,
+                         para5: cstring, para6: cint): cint {.
+                         importc: "pcre_copy_substring", noconv.}
+
+proc pcre_dfa_exec*(para1: Ppcre, para2: Ppcre_extra, para3: cstring,
+                   para4: cint, para5: cint, para6: cint, para7: Pint,
+                   para8: cint, para9: Pint, para10: cint): cint {.
+                   importc: "pcre_dfa_exec", noconv.}
+
+proc pcre_exec*(para1: Ppcre, para2: Ppcre_extra, para3: cstring,
+               para4: cint, para5: cint, para6: cint, para7: Pint,
+               para8: cint): cint {.importc: "pcre_exec", noconv.}
+
+proc pcre_free_substring*(para1: cstring) {.
+  importc: "pcre_free_substring", noconv.}
+
+proc pcre_free_substring_list*(para1: PPchar) {.
+  importc: "pcre_free_substring_list", noconv.}
+
+proc pcre_fullinfo*(para1: Ppcre, para2: Ppcre_extra, para3: cint,
+                   para4: pointer): cint {.importc: "pcre_fullinfo", noconv.}
+
+proc pcre_get_named_substring*(para1: Ppcre, para2: cstring, para3: Pint,
+                              para4: cint, para5: cstring, para6: PPchar): cint {.
+                              importc: "pcre_get_named_substring", noconv.}
+
+proc pcre_get_stringnumber*(para1: Ppcre, para2: cstring): cint {.
+  importc: "pcre_get_stringnumber", noconv.}
+
+proc pcre_get_substring*(para1: cstring, para2: Pint, para3: cint,
+                        para4: cint, para5: PPchar): cint {.
+                        importc: "pcre_get_substring", noconv.}
+
+proc pcre_get_substring_list*(para1: cstring, para2: Pint, para3: cint,
+                             para4: ptr PPchar): cint {.
+                             importc: "pcre_get_substring_list", noconv.}
+
+proc pcre_info*(para1: Ppcre, para2: Pint, para3: Pint): cint {.
+  importc: "pcre_info", noconv.}
+
+proc pcre_maketables*: ptr byte {.
+  importc: "pcre_maketables", noconv.}
+
+proc pcre_refcount*(para1: Ppcre, para2: cint): cint {.
+  importc: "pcre_refcount", noconv.}
+
+proc pcre_study*(para1: Ppcre, para2: cint,
+                 para3: ptr CString): Ppcre_extra {.importc, noconv.}
+
+proc pcre_version*: CString {.importc: "pcre_version", noconv.}
+
+# Indirection for store get and free functions. These can be set to
+# alternative malloc/free functions if required. Special ones are used in the
+# non-recursive case for "frames". There is also an optional callout function
+# that is triggered by the (?) regex item.
+#
+
+# we use Nimrod's memory manager (but not GC!) for these functions:
+type
+  TMalloc = proc (para1: int): pointer {.noconv.}
+  TFree = proc (para1: pointer) {.noconv.}
+var
+  pcre_malloc {.importc: "pcre_malloc".}: TMalloc
+  pcre_free {.importc: "pcre_free".}: TFree
+  pcre_stack_malloc {.importc: "pcre_stack_malloc".}: TMalloc
+  pcre_stack_free  {.importc: "pcre_stack_free".}: TFree
+  pcre_callout {.importc: "pcre_callout".}:
+    proc (para1: Ppcre_callout_block): cint {.noconv.}
+
+pcre_malloc = cast[TMalloc](system.alloc)
+pcre_free = cast[TFree](system.dealloc)
+pcre_stack_malloc = cast[TMalloc](system.alloc)
+pcre_stack_free = cast[TFree](system.dealloc)
+pcre_callout = nil
diff --git a/lib/base/regexprs.nim b/lib/base/regexprs.nim
index b9272ca47..9979035b8 100644
--- a/lib/base/regexprs.nim
+++ b/lib/base/regexprs.nim
@@ -1,114 +1,115 @@
-#

-#

-#            Nimrod's Runtime Library

-#        (c) Copyright 2006 Andreas Rumpf

-#

-#    See the file "copying.txt", included in this

-#    distribution, for details about the copyright.

-#

-

-## Regular expression support for Nimrod.

-## Currently this module is implemented by providing a wrapper around the

-## `PRCE (Perl-Compatible Regular Expressions) <http://www.pcre.org>`_

-## C library. This means that your application will depend on the PRCE

-## library's licence when using this module, which should not be a problem

-## though.

-## PRCE's licence follows:

-##

-## .. include:: ../doc/regexprs.txt

-##

-

-# This is not just a convenient wrapper for the pcre library; the

-# API will stay the same if the implementation should change.

-

-import

-  pcre, strutils

-

-type

-  EInvalidRegEx* = object of EInvalidValue

-    ## is raised if the pattern is no valid regular expression.

-

-const

-  MaxSubpatterns* = 10

-    ## defines the maximum number of subpatterns that can be captured.

-    ## More subpatterns cannot be captured!

-

-proc match*(s, pattern: string, substrs: var openarray[string],

-            start: int = 0): bool

-  ## returns ``true`` if ``s`` matches the ``pattern[start..]`` and

-  ## the captured substrings in the array ``substrs``. If it does not

-  ## match, nothing is written into ``substrs`` and ``false`` is

-  ## returned.

-

-proc match*(s, pattern: string, start: int = 0): bool

-  ## returns ``true`` if ``s`` matches the ``pattern`` beginning from ``start``. 

-

-proc matchLen*(s, pattern: string, substrs: var openarray[string],

-               start: int = 0): int

-  ## the same as ``match``, but it returns the length of the match,

-  ## if there is no match, -1 is returned. Note that a match length

-  ## of zero can happen.

-

-proc find*(s, pattern: string, substrs: var openarray[string],

-           start: int = 0): bool

-  ## returns ``true`` if ``pattern`` occurs in ``s`` and the captured

-  ## substrings in the array ``substrs``. If it does not match, nothing

-  ## is written into ``substrs``.

-proc find*(s, pattern: string, start: int = 0): bool

-  ## returns ``true`` if ``pattern`` occurs in ``s``.

-

-

-proc rawCompile(pattern: string, flags: cint): PPcre =

-  var

-    msg: CString

-    offset: cint

-    com = pcreCompile(pattern, flags, addr(msg), addr(offset), nil)

-  if com == nil:

-    var e: ref EInvalidRegEx

-    new(e)

-    e.msg = $msg & "\n" & pattern & "\n" & repeatChar(offset) & "^\n"

-    raise e

-  return com

-

-proc matchOrFind(s: string, pattern: PPcre, substrs: var openarray[string],

-                 start: cint): cint =

-  var

-    rawMatches: array [0..maxSubpatterns * 3 - 1, cint]

-    res = int(pcreExec(pattern, nil, s, length(s), start, 0,

-      cast[pint](addr(rawMatches)), maxSubpatterns * 3))

-  dealloc(pattern)

-  if res < 0: return res

-  for i in 0..res-1:

-    var

-      a = rawMatches[i * 3]

-      b = rawMatches[i * 3 + 1]

-    if a >= 0: substrs[i] = copy(s, a, b)

-    else: substrs[i] = ""

-  return res

-

-proc matchOrFind(s: string, pattern: PPcre, start: cint): cint =

-  var

-    rawMatches: array [0..maxSubpatterns * 3 - 1, cint]

-    res = pcreExec(pattern, nil, s, length(s), start, 0,

-                   cast[pint](addr(rawMatches)), maxSubpatterns * 3)

-  dealloc(pattern)

-  return res

-

-proc match(s, pattern: string, substrs: var openarray[string],

-           start: int = 0): bool =

-  return matchOrFind(s, rawCompile(pattern, PCRE_ANCHORED),

-                     substrs, start) >= 0

-

-proc matchLen(s, pattern: string, substrs: var openarray[string],

-              start: int = 0): int =

-  return matchOrFind(s, rawCompile(pattern, PCRE_ANCHORED), substrs, start)

-

-proc find(s, pattern: string, substrs: var openarray[string],

-          start: int = 0): bool =

-  return matchOrFind(s, rawCompile(pattern, 0), substrs, start) >= 0

-

-proc match(s, pattern: string, start: int = 0): bool =

-  return matchOrFind(s, rawCompile(pattern, PCRE_ANCHORED), start) >= 0

-

-proc find(s, pattern: string, start: int = 0): bool =

-  return matchOrFind(s, rawCompile(pattern, 0), start) >= 0

+#
+#
+#            Nimrod's Runtime Library
+#        (c) Copyright 2006 Andreas Rumpf
+#
+#    See the file "copying.txt", included in this
+#    distribution, for details about the copyright.
+#
+
+## Regular expression support for Nimrod.
+## Currently this module is implemented by providing a wrapper around the
+## `PRCE (Perl-Compatible Regular Expressions) <http://www.pcre.org>`_
+## C library. This means that your application will depend on the PRCE
+## library's licence when using this module, which should not be a problem
+## though.
+## PRCE's licence follows:
+##
+## .. include:: ../doc/regexprs.txt
+##
+
+# This is not just a convenient wrapper for the pcre library; the
+# API will stay the same if the implementation should change.
+
+import
+  pcre, strutils
+
+type
+  EInvalidRegEx* = object of EInvalidValue
+    ## is raised if the pattern is no valid regular expression.
+
+const
+  MaxSubpatterns* = 10
+    ## defines the maximum number of subpatterns that can be captured.
+    ## More subpatterns cannot be captured!
+
+proc match*(s, pattern: string, matches: var openarray[string],
+            start: int = 0): bool
+  ## returns ``true`` if ``s`` matches the ``pattern[start..]`` and
+  ## the captured substrings in the array ``matches``. If it does not
+  ## match, nothing is written into ``matches`` and ``false`` is
+  ## returned.
+
+proc match*(s, pattern: string, start: int = 0): bool
+  ## returns ``true`` if ``s`` matches the ``pattern`` beginning from ``start``.
+
+proc matchLen*(s, pattern: string, matches: var openarray[string],
+               start: int = 0): int
+  ## the same as ``match``, but it returns the length of the match,
+  ## if there is no match, -1 is returned. Note that a match length
+  ## of zero can happen.
+
+proc find*(s, pattern: string, matches: var openarray[string],
+           start: int = 0): bool
+  ## returns ``true`` if ``pattern`` occurs in ``s`` and the captured
+  ## substrings in the array ``matches``. If it does not match, nothing
+  ## is written into ``matches``.
+proc find*(s, pattern: string, start: int = 0): bool
+  ## returns ``true`` if ``pattern`` occurs in ``s``.
+
+
+proc rawCompile(pattern: string, flags: cint): PPcre =
+  var
+    msg: CString
+    offset: int
+    com = pcreCompile(pattern, flags, addr(msg), addr(offset), nil)
+  if com == nil:
+    var e: ref EInvalidRegEx
+    new(e)
+    e.msg = $msg & "\n" & pattern & "\n" & repeatChar(offset) & "^\n"
+    raise e
+  return com
+
+proc matchOrFind(s: string, pattern: PPcre, matches: var openarray[string],
+                 start: cint): cint =
+  var
+    rawMatches: array [0..maxSubpatterns * 3 - 1, cint]
+    res = int(pcreExec(pattern, nil, s, len(s), start, 0,
+      cast[ptr cint](addr(rawMatches)), maxSubpatterns * 3))
+  dealloc(pattern)
+  if res < 0: return res
+  for i in 0..res-1:
+    var
+      a = rawMatches[i * 2]
+      b = rawMatches[i * 2 + 1]
+    if a >= 0'i32: matches[i] = copy(s, a, int(b)-1)
+    else: matches[i] = ""
+  return res
+
+proc matchOrFind(s: string, pattern: PPcre, start: cint): cint =
+  var
+    rawMatches: array [0..maxSubpatterns * 3 - 1, cint]
+    res = pcreExec(pattern, nil, s, len(s), start, 0,
+                   cast[ptr cint](addr(rawMatches)), maxSubpatterns * 3)
+  dealloc(pattern)
+  return res
+
+proc match(s, pattern: string, matches: var openarray[string],
+           start: int = 0): bool =
+  return matchOrFind(s, rawCompile(pattern, PCRE_ANCHORED),
+                     matches, start) >= 0'i32
+
+proc matchLen(s, pattern: string, matches: var openarray[string],
+              start: int = 0): int =
+  return matchOrFind(s, rawCompile(pattern, PCRE_ANCHORED), matches, start)
+
+proc find(s, pattern: string, matches: var openarray[string],
+          start: int = 0): bool =
+  return matchOrFind(s, rawCompile(pattern, PCRE_MULTILINE),
+                     matches, start) >= 0'i32
+
+proc match(s, pattern: string, start: int = 0): bool =
+  return matchOrFind(s, rawCompile(pattern, PCRE_ANCHORED), start) >= 0'i32
+
+proc find(s, pattern: string, start: int = 0): bool =
+  return matchOrFind(s, rawCompile(pattern, PCRE_MULTILINE), start) >= 0'i32