annotate tk/types.d @ 2:d6f44347373d

* Switched over to geometry done with structs instead of classes. * Removed direct access to gtk structs * Refactoring
author David Bryant <daveb@acres.com.au>
date Fri, 10 Jul 2009 15:15:27 +0930
parents e907d2c54ec3
children 8a39b13cd3e6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
1 module tk.types;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
2
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
3 private import std.string;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
4
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
5 enum ButtonPress {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
6 SINGLE,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
7 DOUBLE,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
8 TRIPLE,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
9 RELEASE
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
10 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
11
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
12 enum ButtonNumber {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
13 BUTTON_1,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
14 BUTTON_2,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
15 BUTTON_3,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
16 BUTTON_4,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
17 BUTTON_5,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
18 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
19
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
20 enum ScrollDirection {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
21 UP,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
22 DOWN,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
23 LEFT,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
24 RIGHT
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
25 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
26
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
27 enum Modifier {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
28 SHIFT,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
29 CAPS_LOCK,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
30 CONTROL,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
31 ALT,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
32 NUM_LOCK,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
33 META,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
34 SCROLL_LOCK,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
35 BUTTON_1,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
36 BUTTON_2,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
37 BUTTON_3,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
38 BUTTON_4,
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
39 BUTTON_5
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
40 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
41
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
42 class Mask {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
43 void add(Modifier modifier) { mBits |= bit(modifier); }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
44 void remove(Modifier modifier) { mBits &= ~bit(modifier); }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
45 bool query(Modifier modifier) { return cast(bool)(mBits & bit(modifier)); }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
46
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
47 override string toString() {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
48 return format("%d", mBits);
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
49 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
50
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
51 private {
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
52 static int bit(Modifier modifier) { return 1 << cast(int)modifier; }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
53 int mBits;
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
54 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
55 }
e907d2c54ec3 Initial import
David Bryant <daveb@acres.com.au>
parents:
diff changeset
56