summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/wrappers/gtk/glib2.nim8
-rw-r--r--lib/wrappers/gtk/gtk2.nim2
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/wrappers/gtk/glib2.nim b/lib/wrappers/gtk/glib2.nim
index 4151ba954..3fa672c85 100644
--- a/lib/wrappers/gtk/glib2.nim
+++ b/lib/wrappers/gtk/glib2.nim
@@ -27,7 +27,7 @@ type
   gshort* = cshort
   glong* = clong
   gint* = cint
-  gboolean* = bool
+  gboolean* = distinct gint
   guchar* = char
   gushort* = int16
   gulong* = int
@@ -173,6 +173,12 @@ type
   TGBoxedFreeFunc* = proc (boxed: gpointer){.cdecl.}
   PGsource = pointer          # I don't know and don't care
 
+converter gbool*(nimbool: bool): gboolean =
+  return ord(nimbool).gboolean
+
+converter toBool*(gbool: gboolean): bool =
+  return int(gbool) == 1
+
 const 
   G_TYPE_FUNDAMENTAL_SHIFT* = 2
   G_TYPE_FUNDAMENTAL_MAX* = 255 shl G_TYPE_FUNDAMENTAL_SHIFT
diff --git a/lib/wrappers/gtk/gtk2.nim b/lib/wrappers/gtk/gtk2.nim
index 6b418024e..63e69130a 100644
--- a/lib/wrappers/gtk/gtk2.nim
+++ b/lib/wrappers/gtk/gtk2.nim
@@ -2,6 +2,8 @@
 import 
   glib2, atk, pango, gdk2pixbuf, gdk2
 
+export gbool, toBool
+
 when defined(win32): 
   const 
     lib = "libgtk-win32-2.0-0.dll"