Mercurial > projects > dynamin
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 } |