diff dynamin/c/gdk.d @ 18:836a064828e8

Implement FileDialog/DirectoryDialog with GTK and start a glib/gdk/gtk binding. Add invoke/invokeNow stubs to fix build on X.
author Jordan Miner <jminer7@gmail.com>
date Fri, 24 Jul 2009 00:35:42 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dynamin/c/gdk.d	Fri Jul 24 00:35:42 2009 -0500
@@ -0,0 +1,126 @@
+module dynamin.c.gdk;
+
+/*
+ * A binding to at least the part of GDK that Dynamin uses.
+ */
+
+import dynamin.c.glib;
+import tango.sys.SharedLib;
+
+extern(C):
+
+//{{{ gdktypes
+enum {
+	GDK_CURRENT_TIME     = 0L,
+	GDK_PARENT_RELATIVE  = 1L
+}
+
+alias guint32 GdkWChar;
+
+/*alias struct _GdkAtom* GdkAtom;*/
+alias void* GdkAtom;
+
+gpointer GDK_ATOM_TO_POINTER(GdkAtom atom) { return atom; }
+GdkAtom GDK_POINTER_TO_ATOM(gpointer ptr) { return ptr; }
+
+GdkAtom _GDK_MAKE_ATOM(guint64 val) { return cast(GdkAtom)val; }
+GdkAtom GDK_NONE() { return _GDK_MAKE_ATOM(0); }
+
+alias guint32 GdkNativeWindow;
+
+enum {
+	GDK_LSB_FIRST,
+	GDK_MSB_FIRST
+}
+alias uint GdkByteOrder;
+
+enum {
+	GDK_SHIFT_MASK    = 1 << 0,
+	GDK_LOCK_MASK     = 1 << 1,
+	GDK_CONTROL_MASK  = 1 << 2,
+	GDK_MOD1_MASK     = 1 << 3,
+	GDK_MOD2_MASK     = 1 << 4,
+	GDK_MOD3_MASK     = 1 << 5,
+	GDK_MOD4_MASK     = 1 << 6,
+	GDK_MOD5_MASK     = 1 << 7,
+	GDK_BUTTON1_MASK  = 1 << 8,
+	GDK_BUTTON2_MASK  = 1 << 9,
+	GDK_BUTTON3_MASK  = 1 << 10,
+	GDK_BUTTON4_MASK  = 1 << 11,
+	GDK_BUTTON5_MASK  = 1 << 12,
+
+	GDK_SUPER_MASK    = 1 << 26,
+	GDK_HYPER_MASK    = 1 << 27,
+	GDK_META_MASK     = 1 << 28,
+
+	GDK_RELEASE_MASK  = 1 << 30,
+
+	GDK_MODIFIER_MASK = 0x5c001fff
+}
+alias uint GdkModifierType;
+
+enum {
+	GDK_INPUT_READ       = 1 << 0,
+	GDK_INPUT_WRITE      = 1 << 1,
+	GDK_INPUT_EXCEPTION  = 1 << 2
+}
+alias uint GdkInputCondition;
+
+enum {
+	GDK_OK          = 0,
+	GDK_ERROR          = -1,
+	GDK_ERROR_PARAM = -2,
+	GDK_ERROR_FILE  = -3,
+	GDK_ERROR_MEM          = -4
+}
+alias uint GdkStatus;
+
+enum {
+	GDK_GRAB_SUCCESS         = 0,
+	GDK_GRAB_ALREADY_GRABBED = 1,
+	GDK_GRAB_INVALID_TIME    = 2,
+	GDK_GRAB_NOT_VIEWABLE    = 3,
+	GDK_GRAB_FROZEN          = 4
+}
+alias uint GdkGrabStatus;
+
+alias void function(gpointer data,
+	gint source,
+	GdkInputCondition condition) GdkInputFunction;
+
+struct GdkPoint {
+	gint x;
+	gint y;
+}
+
+struct GdkRectangle {
+	gint x;
+	gint y;
+	gint width;
+	gint height;
+}
+
+struct GdkSegment {
+	gint x1;
+	gint y1;
+	gint x2;
+	gint y2;
+}
+
+struct GdkSpan {
+	gint x;
+	gint y;
+	gint width;
+}
+//}}}
+
+//{{{ gdkwindow
+//}}}
+
+static this() {
+	auto lib = SharedLib.load("libgdk-x11-2.0.so.0");
+
+	//{{{ gdkwindow
+	//}}}
+
+}