comparison doodle/dia/standard_tools.d @ 56:b190a9d9352e

Checkpoint
author "David Bryant <bagnose@gmail.com>"
date Sun, 08 Aug 2010 21:56:54 +0930
parents 1b4c9ba58673
children 9960c4fbd0dd
comparison
equal deleted inserted replaced
55:4922e746dd76 56:b190a9d9352e
89 private { 89 private {
90 static invariant double ZOOM = sqrt(2.0); 90 static invariant double ZOOM = sqrt(2.0);
91 } 91 }
92 } 92 }
93 93
94 final class LassoTool : Tool { // TODO convert to SelectTool 94 final class SelectTool : Tool {
95 override bool handleButtonPress(scope Viewport viewport, in ButtonEvent event) { 95 override bool handleButtonPress(scope Viewport viewport, in ButtonEvent event) {
96 if (event.button_name == ButtonName.LEFT) { 96 if (event.button_name == ButtonName.LEFT) {
97 _active = true; 97 _active = true;
98 _anchorPoint = _currentPoint = event.pixelPoint; 98 _anchorPoint = _currentPoint = event.pixelPoint;
99 viewport.setCursor(Cursor.HAND); 99 viewport.setCursor(Cursor.HAND);
125 125
126 return false; 126 return false;
127 } 127 }
128 128
129 override void draw(in Viewport viewport, 129 override void draw(in Viewport viewport,
130 in Rectangle pixelDamage, scope Context pixelCr, 130 in Rectangle pixelDamage, scope Context pixelCr) const {
131 in Rectangle modelDamage, scope Context modelCr) const {
132 if (_active) { 131 if (_active) {
132 /*
133 pixelCr.save; { 133 pixelCr.save; {
134 pixelCr.setSourceRgba(0.0, 0.0, 0.8, 0.3); 134 pixelCr.setSourceRgba(0.0, 0.0, 0.8, 0.3);
135 rectangle(pixelCr, Rectangle(_currentPoint, _anchorPoint)); 135 rectangle(pixelCr, Rectangle(_currentPoint, _anchorPoint));
136 pixelCr.fill(); 136 pixelCr.fill();
137 } pixelCr.restore(); 137 } pixelCr.restore();
138 */
138 139
139 pixelCr.save(); { 140 pixelCr.save(); {
140 //double[] dashes = [ 4.0, 4.0 ]; 141 double[] dashes = [ 4.0, 4.0 ];
141 //pixelCr.setDash(dashes, 0.0); 142 pixelCr.setDash(dashes, 0.0);
142 pixelCr.setSourceRgba(0.0, 0.0, 0.5, 1.0); 143 pixelCr.setSourceRgba(0.0, 0.0, 0.5, 1.0);
143 pixelCr.setLineWidth(LINE_WIDTH); 144 pixelCr.setLineWidth(LINE_WIDTH);
144 //writefln("Drawing rectangle: %s", Rectangle(_currentPoint, _anchorPoint));
145 rectangle(pixelCr, Rectangle(_currentPoint, _anchorPoint)); 145 rectangle(pixelCr, Rectangle(_currentPoint, _anchorPoint));
146 pixelCr.stroke; 146 pixelCr.stroke;
147 } pixelCr.restore; 147 } pixelCr.restore;
148 } 148 }
149 } 149 }