diff dia/standard_tools.d @ 26:06c30d250c0a

Cleanup
author "David Bryant <bagnose@gmail.com>"
date Thu, 16 Jul 2009 00:12:02 +0930
parents a24c13bb9c98
children f3d91579bb28
line wrap: on
line diff
--- a/dia/standard_tools.d	Wed Jul 15 23:49:02 2009 +0930
+++ b/dia/standard_tools.d	Thu Jul 16 00:12:02 2009 +0930
@@ -11,7 +11,7 @@
 }
 
 final class PanTool : Tool {
-    override bool handle_button_press(Viewport viewport, in ButtonEvent event) {
+    override bool handle_button_press(scope Viewport viewport, in ButtonEvent event) {
         if (event.button_name == ButtonName.MIDDLE) {
             mLastPosition = event.pixel_point;
             return true;
@@ -21,7 +21,7 @@
         }
     }
 
-    override bool handle_motion(Viewport viewport, in MotionEvent event) {
+    override bool handle_motion(scope Viewport viewport, in MotionEvent event) {
         if (event.mask.is_set(Modifier.MIDDLE_BUTTON)) {
             viewport.pan_relative(mLastPosition - event.pixel_point);
             mLastPosition = event.pixel_point;
@@ -33,7 +33,7 @@
         }
     }
 
-    override bool handle_scroll(Viewport viewport, in ScrollEvent event) {
+    override bool handle_scroll(scope Viewport viewport, in ScrollEvent event) {
         if (event.mask.is_unset(Modifier.MIDDLE_BUTTON)) {
             Vector delta;
 
@@ -65,7 +65,7 @@
 }
 
 final class ZoomTool : Tool {
-    override bool handle_scroll(Viewport viewport, in ScrollEvent event) {
+    override bool handle_scroll(scope Viewport viewport, in ScrollEvent event) {
         if (event.mask.is_set(Modifier.CONTROL)) {
             if (event.scroll_direction == ScrollDirection.DOWN) {
                 viewport.zoom_relative(event.pixel_point, 1.0 / ZOOM);
@@ -90,7 +90,7 @@
 }
 
 final class LassoTool : Tool {
-    override bool handle_button_press(Viewport viewport, in ButtonEvent event) {
+    override bool handle_button_press(scope Viewport viewport, in ButtonEvent event) {
         if (event.button_name == ButtonName.LEFT) {
             mActive = true;
             mAnchorPoint = mCurrentPoint = event.pixel_point;
@@ -101,7 +101,7 @@
         }
     }
 
-    override bool handle_button_release(Viewport viewport, in ButtonEvent event) {
+    override bool handle_button_release(scope Viewport viewport, in ButtonEvent event) {
         if (event.button_name == ButtonName.LEFT && mActive) {
             mActive = false;
             viewport.damage_pixel(Rectangle(mAnchorPoint, mCurrentPoint).feathered(LINE_WIDTH / 2.0));
@@ -112,7 +112,7 @@
         }
     }
 
-    override bool handle_motion(Viewport viewport, in MotionEvent event) {
+    override bool handle_motion(scope Viewport viewport, in MotionEvent event) {
         if (mActive) {
             viewport.damage_pixel(Rectangle(mAnchorPoint, mCurrentPoint).feathered(LINE_WIDTH / 2.0));
             mCurrentPoint = event.pixel_point;
@@ -122,13 +122,19 @@
         return false;
     }
 
-    override void draw(const Viewport viewport,
+    override void draw(in Viewport viewport,
                        in Rectangle pixel_damage, scope Context pixel_cr,
                        in Rectangle model_damage, scope Context model_cr) const {
         if (mActive) {
             pixel_cr.save; {
-                double[] dashes = [ 4.0, 4.0 ];
-                pixel_cr.setDash(dashes, 0.0);
+                pixel_cr.setSourceRgba(0.0, 0.0, 0.8, 0.3);
+                rectangle(pixel_cr, Rectangle(mCurrentPoint, mAnchorPoint));
+                pixel_cr.fill();
+            } pixel_cr.restore();
+
+            pixel_cr.save(); {
+                //double[] dashes = [ 4.0, 4.0 ];
+                //pixel_cr.setDash(dashes, 0.0);
                 pixel_cr.setSourceRgba(0.0, 0.0, 0.5, 1.0);
                 pixel_cr.setLineWidth(LINE_WIDTH);
                 //writefln("Drawing rectangle: %s", Rectangle(mCurrentPoint, mAnchorPoint));