annotate doodle/gtk/conversions.d @ 28:1754cb773d41

Part-way through getting to compile with configure/builder.
author Graham St Jack <graham.stjack@internode.on.net>
date Sun, 02 Aug 2009 16:27:21 +0930
parents gtk/conversions.d@17c2df87b459
children 1b4c9ba58673
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28
1754cb773d41 Part-way through getting to compile with configure/builder.
Graham St Jack <graham.stjack@internode.on.net>
parents: 22
diff changeset
1 module doodle.gtk.conversions;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
2
16
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
3 public {
28
1754cb773d41 Part-way through getting to compile with configure/builder.
Graham St Jack <graham.stjack@internode.on.net>
parents: 22
diff changeset
4 import doodle.tk.types;
16
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
5 }
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
6
16
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
7 private {
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
8 static import gdk.Event;
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
9 }
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
10
7
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
11 ButtonAction gtk2tk_button_action(gdk.Event.EventType event_type) {
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
12 switch (event_type) {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
13 case gdk.Event.EventType.BUTTON_PRESS:
8
bf7903435f58 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 7
diff changeset
14 return ButtonAction.SINGLE_PRESS;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
15 case gdk.Event.EventType.DOUBLE_BUTTON_PRESS:
8
bf7903435f58 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 7
diff changeset
16 return ButtonAction.DOUBLE_PRESS;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
17 case gdk.Event.EventType.TRIPLE_BUTTON_PRESS:
8
bf7903435f58 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 7
diff changeset
18 return ButtonAction.TRIPLE_PRESS;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
19 case gdk.Event.EventType.BUTTON_RELEASE:
7
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
20 return ButtonAction.RELEASE;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
21 default:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
22 assert(false);
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
23 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
24 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
25
7
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
26 ButtonName gtk2tk_button_name(gdk.Event.guint button) {
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
27 switch (button) {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
28 case 1:
7
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
29 return ButtonName.LEFT;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
30 case 2:
7
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
31 return ButtonName.MIDDLE;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
32 case 3:
7
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
33 return ButtonName.RIGHT;
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
34 case 4:
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
35 return ButtonName.FOUR;
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
36 case 5:
936feb16eed4 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 6
diff changeset
37 return ButtonName.FIVE;
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
38 default:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
39 assert(false);
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
40 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
41 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
42
6
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
43 Mask gtk2tk_mask(gdk.Event.guint state) {
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
44 Modifier[] modifiers;
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
45
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
46 if (state & gdk.Event.GdkModifierType.SHIFT_MASK) modifiers ~= Modifier.SHIFT;
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
47 if (state & gdk.Event.GdkModifierType.CONTROL_MASK) modifiers ~= Modifier.CONTROL;
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
48 if (state & gdk.Event.GdkModifierType.MOD1_MASK) modifiers ~= Modifier.ALT;
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
49 if (state & gdk.Event.GdkModifierType.MOD2_MASK) modifiers ~= Modifier.META;
13
f0ade1b49fe7 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 8
diff changeset
50 if (state & gdk.Event.GdkModifierType.BUTTON1_MASK) modifiers ~= Modifier.LEFT_BUTTON;
f0ade1b49fe7 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 8
diff changeset
51 if (state & gdk.Event.GdkModifierType.BUTTON2_MASK) modifiers ~= Modifier.MIDDLE_BUTTON;
f0ade1b49fe7 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 8
diff changeset
52 if (state & gdk.Event.GdkModifierType.BUTTON3_MASK) modifiers ~= Modifier.RIGHT_BUTTON;
f0ade1b49fe7 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 8
diff changeset
53 if (state & gdk.Event.GdkModifierType.BUTTON4_MASK) modifiers ~= Modifier.UNUSED_BUTTON_1;
f0ade1b49fe7 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 8
diff changeset
54 if (state & gdk.Event.GdkModifierType.BUTTON5_MASK) modifiers ~= Modifier.UNUSED_BUTTON_2;
6
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
55
16
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
56 Mask m = Mask(modifiers);
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
57
9e63308b749c * Fix up public/private includes
David Bryant <daveb@acres.com.au>
parents: 13
diff changeset
58 return Mask(modifiers);
6
a27d2093991c Checkpoint
"David Bryant <bagnose@gmail.com>"
parents: 0
diff changeset
59 }
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
60
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
61 ScrollDirection gtk2tk_direction(gdk.Event.ScrollDirection direction) {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
62 switch (direction) {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
63 case gdk.Event.ScrollDirection.UP:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
64 return ScrollDirection.UP;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
65 case gdk.Event.ScrollDirection.DOWN:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
66 return ScrollDirection.DOWN;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
67 case gdk.Event.ScrollDirection.LEFT:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
68 return ScrollDirection.LEFT;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
69 case gdk.Event.ScrollDirection.RIGHT:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
70 return ScrollDirection.RIGHT;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
71 default:
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
72 assert(false);
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
73 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
74 }