Mercurial > projects > doodle
diff tk/gtk_support.d @ 6:a27d2093991c
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sat, 11 Jul 2009 20:44:14 +0930 |
parents | e907d2c54ec3 |
children | 936feb16eed4 |
line wrap: on
line diff
--- a/tk/gtk_support.d Fri Jul 10 18:19:16 2009 +0930 +++ b/tk/gtk_support.d Sat Jul 11 20:44:14 2009 +0930 @@ -32,6 +32,7 @@ } } +/* Mask gtk2tk_mask(gdk.Event.guint state) { auto mask = new Mask(); @@ -45,6 +46,21 @@ return mask; } +*/ + +Mask gtk2tk_mask(gdk.Event.guint state) { + Modifier[] modifiers; + + if (state & gdk.Event.GdkModifierType.SHIFT_MASK) modifiers ~= Modifier.SHIFT; + if (state & gdk.Event.GdkModifierType.CONTROL_MASK) modifiers ~= Modifier.CONTROL; + if (state & gdk.Event.GdkModifierType.MOD1_MASK) modifiers ~= Modifier.ALT; + if (state & gdk.Event.GdkModifierType.MOD2_MASK) modifiers ~= Modifier.META; + if (state & gdk.Event.GdkModifierType.BUTTON1_MASK) modifiers ~= Modifier.BUTTON_1; + if (state & gdk.Event.GdkModifierType.BUTTON2_MASK) modifiers ~= Modifier.BUTTON_2; + if (state & gdk.Event.GdkModifierType.BUTTON3_MASK) modifiers ~= Modifier.BUTTON_3; + + return new Mask(modifiers); +} ScrollDirection gtk2tk_direction(gdk.Event.ScrollDirection direction) { switch (direction) {