comparison 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
comparison
equal deleted inserted replaced
17:ef81af74a306 18:836a064828e8
1 module dynamin.c.gdk;
2
3 /*
4 * A binding to at least the part of GDK that Dynamin uses.
5 */
6
7 import dynamin.c.glib;
8 import tango.sys.SharedLib;
9
10 extern(C):
11
12 //{{{ gdktypes
13 enum {
14 GDK_CURRENT_TIME = 0L,
15 GDK_PARENT_RELATIVE = 1L
16 }
17
18 alias guint32 GdkWChar;
19
20 /*alias struct _GdkAtom* GdkAtom;*/
21 alias void* GdkAtom;
22
23 gpointer GDK_ATOM_TO_POINTER(GdkAtom atom) { return atom; }
24 GdkAtom GDK_POINTER_TO_ATOM(gpointer ptr) { return ptr; }
25
26 GdkAtom _GDK_MAKE_ATOM(guint64 val) { return cast(GdkAtom)val; }
27 GdkAtom GDK_NONE() { return _GDK_MAKE_ATOM(0); }
28
29 alias guint32 GdkNativeWindow;
30
31 enum {
32 GDK_LSB_FIRST,
33 GDK_MSB_FIRST
34 }
35 alias uint GdkByteOrder;
36
37 enum {
38 GDK_SHIFT_MASK = 1 << 0,
39 GDK_LOCK_MASK = 1 << 1,
40 GDK_CONTROL_MASK = 1 << 2,
41 GDK_MOD1_MASK = 1 << 3,
42 GDK_MOD2_MASK = 1 << 4,
43 GDK_MOD3_MASK = 1 << 5,
44 GDK_MOD4_MASK = 1 << 6,
45 GDK_MOD5_MASK = 1 << 7,
46 GDK_BUTTON1_MASK = 1 << 8,
47 GDK_BUTTON2_MASK = 1 << 9,
48 GDK_BUTTON3_MASK = 1 << 10,
49 GDK_BUTTON4_MASK = 1 << 11,
50 GDK_BUTTON5_MASK = 1 << 12,
51
52 GDK_SUPER_MASK = 1 << 26,
53 GDK_HYPER_MASK = 1 << 27,
54 GDK_META_MASK = 1 << 28,
55
56 GDK_RELEASE_MASK = 1 << 30,
57
58 GDK_MODIFIER_MASK = 0x5c001fff
59 }
60 alias uint GdkModifierType;
61
62 enum {
63 GDK_INPUT_READ = 1 << 0,
64 GDK_INPUT_WRITE = 1 << 1,
65 GDK_INPUT_EXCEPTION = 1 << 2
66 }
67 alias uint GdkInputCondition;
68
69 enum {
70 GDK_OK = 0,
71 GDK_ERROR = -1,
72 GDK_ERROR_PARAM = -2,
73 GDK_ERROR_FILE = -3,
74 GDK_ERROR_MEM = -4
75 }
76 alias uint GdkStatus;
77
78 enum {
79 GDK_GRAB_SUCCESS = 0,
80 GDK_GRAB_ALREADY_GRABBED = 1,
81 GDK_GRAB_INVALID_TIME = 2,
82 GDK_GRAB_NOT_VIEWABLE = 3,
83 GDK_GRAB_FROZEN = 4
84 }
85 alias uint GdkGrabStatus;
86
87 alias void function(gpointer data,
88 gint source,
89 GdkInputCondition condition) GdkInputFunction;
90
91 struct GdkPoint {
92 gint x;
93 gint y;
94 }
95
96 struct GdkRectangle {
97 gint x;
98 gint y;
99 gint width;
100 gint height;
101 }
102
103 struct GdkSegment {
104 gint x1;
105 gint y1;
106 gint x2;
107 gint y2;
108 }
109
110 struct GdkSpan {
111 gint x;
112 gint y;
113 gint width;
114 }
115 //}}}
116
117 //{{{ gdkwindow
118 //}}}
119
120 static this() {
121 auto lib = SharedLib.load("libgdk-x11-2.0.so.0");
122
123 //{{{ gdkwindow
124 //}}}
125
126 }