Mercurial > projects > doodle
view tk/gtk_support.d @ 0:e907d2c54ec3
Initial import
author | David Bryant <daveb@acres.com.au> |
---|---|
date | Wed, 13 May 2009 15:42:39 +0930 |
parents | |
children | a27d2093991c |
line wrap: on
line source
module tk.gtk_support; import tk.types; static import gdk.Event; ButtonPress gtk2tk_click(gdk.Event.EventType event_type) { switch (event_type) { case gdk.Event.EventType.BUTTON_PRESS: return ButtonPress.SINGLE; case gdk.Event.EventType.DOUBLE_BUTTON_PRESS: return ButtonPress.DOUBLE; case gdk.Event.EventType.TRIPLE_BUTTON_PRESS: return ButtonPress.TRIPLE; case gdk.Event.EventType.BUTTON_RELEASE: return ButtonPress.RELEASE; default: assert(false); } } ButtonNumber gtk2tk_button(gdk.Event.guint button) { switch (button) { case 1: return ButtonNumber.BUTTON_1; case 2: return ButtonNumber.BUTTON_2; case 3: return ButtonNumber.BUTTON_3; default: assert(false); } } Mask gtk2tk_mask(gdk.Event.guint state) { auto mask = new Mask(); if (state & gdk.Event.GdkModifierType.SHIFT_MASK) mask.add(Modifier.SHIFT); if (state & gdk.Event.GdkModifierType.CONTROL_MASK) mask.add(Modifier.CONTROL); if (state & gdk.Event.GdkModifierType.MOD1_MASK) mask.add(Modifier.ALT); if (state & gdk.Event.GdkModifierType.MOD2_MASK) mask.add(Modifier.META); if (state & gdk.Event.GdkModifierType.BUTTON1_MASK) mask.add(Modifier.BUTTON_1); if (state & gdk.Event.GdkModifierType.BUTTON2_MASK) mask.add(Modifier.BUTTON_2); if (state & gdk.Event.GdkModifierType.BUTTON3_MASK) mask.add(Modifier.BUTTON_3); return mask; } 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); } }