Mercurial > projects > doodle
view 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 |
line wrap: on
line source
module doodle.gtk.conversions; public { import doodle.tk.types; } private { static import gdk.Event; } ButtonAction gtk2tk_button_action(gdk.Event.EventType event_type) { switch (event_type) { case gdk.Event.EventType.BUTTON_PRESS: return ButtonAction.SINGLE_PRESS; case gdk.Event.EventType.DOUBLE_BUTTON_PRESS: return ButtonAction.DOUBLE_PRESS; case gdk.Event.EventType.TRIPLE_BUTTON_PRESS: return ButtonAction.TRIPLE_PRESS; case gdk.Event.EventType.BUTTON_RELEASE: return ButtonAction.RELEASE; default: assert(false); } } ButtonName gtk2tk_button_name(gdk.Event.guint button) { switch (button) { case 1: return ButtonName.LEFT; case 2: return ButtonName.MIDDLE; case 3: return ButtonName.RIGHT; case 4: return ButtonName.FOUR; case 5: return ButtonName.FIVE; default: assert(false); } } 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.LEFT_BUTTON; if (state & gdk.Event.GdkModifierType.BUTTON2_MASK) modifiers ~= Modifier.MIDDLE_BUTTON; if (state & gdk.Event.GdkModifierType.BUTTON3_MASK) modifiers ~= Modifier.RIGHT_BUTTON; if (state & gdk.Event.GdkModifierType.BUTTON4_MASK) modifiers ~= Modifier.UNUSED_BUTTON_1; if (state & gdk.Event.GdkModifierType.BUTTON5_MASK) modifiers ~= Modifier.UNUSED_BUTTON_2; Mask m = Mask(modifiers); return Mask(modifiers); } ScrollDirection gtk2tk_direction(gdk.Event.ScrollDirection direction) { switch (direction) { case gdk.Event.ScrollDirection.UP: return ScrollDirection.UP; case gdk.Event.ScrollDirection.DOWN: return ScrollDirection.DOWN; case gdk.Event.ScrollDirection.LEFT: return ScrollDirection.LEFT; case gdk.Event.ScrollDirection.RIGHT: return ScrollDirection.RIGHT; default: assert(false); } }