Mercurial > projects > doodle
comparison tk/types.d @ 7:936feb16eed4
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sat, 11 Jul 2009 21:29:03 +0930 |
parents | a27d2093991c |
children | bf7903435f58 |
comparison
equal
deleted
inserted
replaced
6:a27d2093991c | 7:936feb16eed4 |
---|---|
2 | 2 |
3 private import std.string; | 3 private import std.string; |
4 private import std.typecons; | 4 private import std.typecons; |
5 private import std.algorithm; | 5 private import std.algorithm; |
6 | 6 |
7 mixin(defineEnum!("ButtonPress", | 7 mixin(defineEnum!("ButtonAction", |
8 "SINGLE", "DOUBLE", "TRIPLE", "RELEASE")); | 8 "PRESS_SINGLE", "PRESS_DOUBLE", "PRESS_TRIPLE", "RELEASE")); |
9 mixin(defineEnum!("ButtonNumber", | 9 mixin(defineEnum!("ButtonName", |
10 "BUTTON_1", "BUTTON_2", "BUTTON_3", "BUTTON_4", "BUTTON_5")); | 10 "LEFT", "MIDDLE", "RIGHT", "FOUR", "FIVE")); |
11 mixin(defineEnum!("ScrollDirection", | 11 mixin(defineEnum!("ScrollDirection", |
12 "UP", "DOWN", "LEFT", "RIGHT")); | 12 "UP", "DOWN", "LEFT", "RIGHT")); |
13 mixin(defineEnum!("Modifier", | 13 mixin(defineEnum!("Modifier", |
14 "SHIFT", "CAPS_LOCK", "CONTROL", "ALT", "NUM_LOCK", "META", | 14 "SHIFT", "CAPS_LOCK", "CONTROL", "ALT", "NUM_LOCK", "META", |
15 "SCROLL_LOCK", "BUTTON_1", "BUTTON_2", "BUTTON_3", "BUTTON_4", "BUTTON_5")); | 15 "SCROLL_LOCK", "BUTTON_LEFT", "BUTTON_MIDDLE", "BUTTON_RIGHT", "BUTTON_FOUR", "BUTTON_FIVE")); |
16 | 16 |
17 class Mask { | 17 class Mask { |
18 this(in Modifier[] modifiers) { | 18 this(in Modifier[] modifiers) { |
19 _modifiers = modifiers.dup; | 19 _modifiers = modifiers.dup; |
20 } | 20 } |
46 | 46 |
47 private { | 47 private { |
48 Modifier[] _modifiers; | 48 Modifier[] _modifiers; |
49 } | 49 } |
50 } | 50 } |
51 | |
52 /* | |
53 class Mask { | |
54 this() { | |
55 } | |
56 | |
57 this(in Mask other) { | |
58 mBits = other.mBits; | |
59 } | |
60 | |
61 void add(Modifier modifier) { mBits |= to_bit(modifier); } | |
62 void remove(Modifier modifier) { mBits &= ~to_bit(modifier); } | |
63 bool query(Modifier modifier) const { return cast(bool)(mBits & to_bit(modifier)); } | |
64 | |
65 override string toString() const { | |
66 Modifier m = Modifier.SHIFT; | |
67 return enumToString(m); | |
68 } | |
69 | |
70 private { | |
71 static int to_bit(Modifier modifier) { return 1 << cast(int)modifier; } | |
72 int mBits; | |
73 } | |
74 } | |
75 */ |