diff tk/events.d @ 5:8a39b13cd3e6

Checkpoint
author David Bryant <daveb@acres.com.au>
date Fri, 10 Jul 2009 18:19:16 +0930
parents 7d57cae10805
children a27d2093991c
line wrap: on
line diff
--- a/tk/events.d	Fri Jul 10 15:26:07 2009 +0930
+++ b/tk/events.d	Fri Jul 10 18:19:16 2009 +0930
@@ -26,11 +26,11 @@
 }
 
 abstract class InputEvent : Event {
-    this(Mask mask) {
-        mMask = mask;
+    this(in Mask mask) {
+        mMask = new Mask(mask);
     }
 
-    Mask mask() { return mMask; }
+    const(Mask) mask() const { return mMask; }
 
     private {
         Mask mMask;
@@ -53,9 +53,9 @@
         mValue = value;
     }
 
-    string str() { return mStr; }
+    string str() const { return mStr; }
 
-    override string toString() {
+    override string toString() const {
         return std.string.format("Key event: %s, %d", mStr, mValue);
     }
 
@@ -66,14 +66,14 @@
 }
 
 abstract class PointerEvent : InputEvent {
-    this(Point screen_point, Point model_point, Mask mask) {
+    this(in Point screen_point, in Point model_point, in Mask mask) {
         super(mask);
         mScreenPoint = screen_point;
         mModelPoint = model_point;
     }
 
-    Point screen_point() { return mScreenPoint; }
-    Point model_point() { return mModelPoint; }
+    Point screen_point() const { return mScreenPoint; }
+    Point model_point() const { return mModelPoint; }
 
     private {
         Point mScreenPoint;
@@ -92,12 +92,12 @@
         mButtonNumber = button_number;
     }
 
-    override string toString() {
+    override string toString() const {
         return std.string.format("Button event: %s, %s, %s, %s, %s", mButtonPress, mButtonNumber, mScreenPoint, mModelPoint, mMask);
     }
 
-    ButtonPress button_press() { return mButtonPress; }
-    ButtonNumber button_number() { return mButtonNumber; }
+    ButtonPress button_press() const { return mButtonPress; }
+    ButtonNumber button_number() const { return mButtonNumber; }
 
     private {
         ButtonPress mButtonPress;
@@ -106,31 +106,31 @@
 }
 
 final class MotionEvent : PointerEvent {
-    this(Point screen_point,
-         Point model_point,
-         Mask mask) {
+    this(in Point screen_point,
+         in Point model_point,
+         in Mask mask) {
         super(screen_point, model_point, mask);
     }
 
-    override string toString() {
+    override string toString() const {
         return std.string.format("Motion event: %s, %s, %s", mScreenPoint, mModelPoint, mMask);
     }
 }
 
 final class ScrollEvent : PointerEvent {
-    this(ScrollDirection scroll_direction,
-         Point screen_point,
-         Point model_point,
-         Mask mask) {
+    this(in ScrollDirection scroll_direction,
+         in Point screen_point,
+         in Point model_point,
+         in Mask mask) {
         super(screen_point, model_point, mask);
         mScrollDirection = scroll_direction;
     }
 
-    override string toString() {
+    override string toString() const {
         return std.string.format("Scroll event: %s, %s, %s, %s", mScrollDirection, mScreenPoint, mModelPoint, mMask);
     }
 
-    ScrollDirection scroll_direction() { return mScrollDirection; }
+    ScrollDirection scroll_direction() const { return mScrollDirection; }
 
     private {
         ScrollDirection mScrollDirection;