Mercurial > projects > doodle
comparison 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 |
comparison
equal
deleted
inserted
replaced
27:f3d91579bb28 | 28:1754cb773d41 |
---|---|
1 module doodle.gtk.conversions; | |
2 | |
3 public { | |
4 import doodle.tk.types; | |
5 } | |
6 | |
7 private { | |
8 static import gdk.Event; | |
9 } | |
10 | |
11 ButtonAction gtk2tk_button_action(gdk.Event.EventType event_type) { | |
12 switch (event_type) { | |
13 case gdk.Event.EventType.BUTTON_PRESS: | |
14 return ButtonAction.SINGLE_PRESS; | |
15 case gdk.Event.EventType.DOUBLE_BUTTON_PRESS: | |
16 return ButtonAction.DOUBLE_PRESS; | |
17 case gdk.Event.EventType.TRIPLE_BUTTON_PRESS: | |
18 return ButtonAction.TRIPLE_PRESS; | |
19 case gdk.Event.EventType.BUTTON_RELEASE: | |
20 return ButtonAction.RELEASE; | |
21 default: | |
22 assert(false); | |
23 } | |
24 } | |
25 | |
26 ButtonName gtk2tk_button_name(gdk.Event.guint button) { | |
27 switch (button) { | |
28 case 1: | |
29 return ButtonName.LEFT; | |
30 case 2: | |
31 return ButtonName.MIDDLE; | |
32 case 3: | |
33 return ButtonName.RIGHT; | |
34 case 4: | |
35 return ButtonName.FOUR; | |
36 case 5: | |
37 return ButtonName.FIVE; | |
38 default: | |
39 assert(false); | |
40 } | |
41 } | |
42 | |
43 Mask gtk2tk_mask(gdk.Event.guint state) { | |
44 Modifier[] modifiers; | |
45 | |
46 if (state & gdk.Event.GdkModifierType.SHIFT_MASK) modifiers ~= Modifier.SHIFT; | |
47 if (state & gdk.Event.GdkModifierType.CONTROL_MASK) modifiers ~= Modifier.CONTROL; | |
48 if (state & gdk.Event.GdkModifierType.MOD1_MASK) modifiers ~= Modifier.ALT; | |
49 if (state & gdk.Event.GdkModifierType.MOD2_MASK) modifiers ~= Modifier.META; | |
50 if (state & gdk.Event.GdkModifierType.BUTTON1_MASK) modifiers ~= Modifier.LEFT_BUTTON; | |
51 if (state & gdk.Event.GdkModifierType.BUTTON2_MASK) modifiers ~= Modifier.MIDDLE_BUTTON; | |
52 if (state & gdk.Event.GdkModifierType.BUTTON3_MASK) modifiers ~= Modifier.RIGHT_BUTTON; | |
53 if (state & gdk.Event.GdkModifierType.BUTTON4_MASK) modifiers ~= Modifier.UNUSED_BUTTON_1; | |
54 if (state & gdk.Event.GdkModifierType.BUTTON5_MASK) modifiers ~= Modifier.UNUSED_BUTTON_2; | |
55 | |
56 Mask m = Mask(modifiers); | |
57 | |
58 return Mask(modifiers); | |
59 } | |
60 | |
61 ScrollDirection gtk2tk_direction(gdk.Event.ScrollDirection direction) { | |
62 switch (direction) { | |
63 case gdk.Event.ScrollDirection.UP: | |
64 return ScrollDirection.UP; | |
65 case gdk.Event.ScrollDirection.DOWN: | |
66 return ScrollDirection.DOWN; | |
67 case gdk.Event.ScrollDirection.LEFT: | |
68 return ScrollDirection.LEFT; | |
69 case gdk.Event.ScrollDirection.RIGHT: | |
70 return ScrollDirection.RIGHT; | |
71 default: | |
72 assert(false); | |
73 } | |
74 } |