comparison gtk/gtk_conversions.d @ 21:993ac3a183c8

Checkpoint
author "David Bryant <bagnose@gmail.com>"
date Wed, 15 Jul 2009 23:23:57 +0930
parents tk/gtk_support.d@9e63308b749c
children
comparison
equal deleted inserted replaced
20:d6e7a5a6f008 21:993ac3a183c8
1 module gtk.conversions;
2
3 public {
4 import 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 }