Mercurial > projects > doodle
comparison doodle/tk/events.d @ 64:eb5436b47d13
Implemented crossing events
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Thu, 12 Aug 2010 22:21:12 +0930 |
parents | 20d6327c4a75 |
children | 31d10176415d |
comparison
equal
deleted
inserted
replaced
63:20d6327c4a75 | 64:eb5436b47d13 |
---|---|
4 import doodle.tk.types; | 4 import doodle.tk.types; |
5 import doodle.tk.geometry; | 5 import doodle.tk.geometry; |
6 } | 6 } |
7 | 7 |
8 // FIXME | 8 // FIXME |
9 // Do we need FocusEvent, Enter/LeaveEvent ? | 9 // Do we need FocusEvent. Note, it has no mask. |
10 // Note, FocusEvent has no mask but Enter/Leave do. | |
11 // Hence would need to refactor hierarchy slightly, eg InputEvent | 10 // Hence would need to refactor hierarchy slightly, eg InputEvent |
12 | 11 |
13 abstract class Event { | 12 abstract class Event { |
14 this(in Mask mask) { | 13 this(in Mask mask) { |
15 _mask = mask; | 14 _mask = mask; |
56 Point _pixelPoint; | 55 Point _pixelPoint; |
57 Point _modelPoint; | 56 Point _modelPoint; |
58 } | 57 } |
59 } | 58 } |
60 | 59 |
61 /* | |
62 final class CrossingEvent : PointerEvent { | 60 final class CrossingEvent : PointerEvent { |
63 this(in Mask mask) { | 61 this(in CrossingMode crossingMode, |
64 super(mask); | 62 in Point pixelPoint, |
63 in Point modelPoint, | |
64 in Mask mask) { | |
65 super(pixelPoint, modelPoint, mask); | |
66 _crossingMode = crossingMode; | |
67 } | |
68 | |
69 CrossingMode crossingMode() const { return _crossingMode; } | |
70 | |
71 override string toString() const { | |
72 return std.string.format("Crossing event: %s, %s, %s, %s", enumToString(_crossingMode), pixelPoint, modelPoint, mask); | |
65 } | 73 } |
66 | 74 |
67 private { | 75 private { |
76 CrossingMode _crossingMode; | |
68 } | 77 } |
69 } | 78 } |
70 */ | |
71 | 79 |
72 final class ButtonEvent : PointerEvent { | 80 final class ButtonEvent : PointerEvent { |
73 this(in ButtonAction buttonAction, | 81 this(in ButtonAction buttonAction, |
74 in ButtonName buttonName, | 82 in ButtonName buttonName, |
75 in Point pixelPoint, | 83 in Point pixelPoint, |