Mercurial > projects > doodle
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 |
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 | 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 | 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 | 10 |
7 | 11 ButtonAction gtk2tk_button_action(gdk.Event.EventType event_type) { |
0 | 12 switch (event_type) { |
13 case gdk.Event.EventType.BUTTON_PRESS: | |
8 | 14 return ButtonAction.SINGLE_PRESS; |
0 | 15 case gdk.Event.EventType.DOUBLE_BUTTON_PRESS: |
8 | 16 return ButtonAction.DOUBLE_PRESS; |
0 | 17 case gdk.Event.EventType.TRIPLE_BUTTON_PRESS: |
8 | 18 return ButtonAction.TRIPLE_PRESS; |
0 | 19 case gdk.Event.EventType.BUTTON_RELEASE: |
7 | 20 return ButtonAction.RELEASE; |
0 | 21 default: |
22 assert(false); | |
23 } | |
24 } | |
25 | |
7 | 26 ButtonName gtk2tk_button_name(gdk.Event.guint button) { |
0 | 27 switch (button) { |
28 case 1: | |
7 | 29 return ButtonName.LEFT; |
0 | 30 case 2: |
7 | 31 return ButtonName.MIDDLE; |
0 | 32 case 3: |
7 | 33 return ButtonName.RIGHT; |
34 case 4: | |
35 return ButtonName.FOUR; | |
36 case 5: | |
37 return ButtonName.FIVE; | |
0 | 38 default: |
39 assert(false); | |
40 } | |
41 } | |
42 | |
6 | 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; | |
13 | 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; | |
6 | 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 | 59 } |
0 | 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 } |