comparison doodle/dia/standard_tools.d @ 80:b759414d2b72

Switched from cairo to Drawable abstraction
author "David Bryant <bagnose@gmail.com>"
date Sun, 15 Aug 2010 23:43:04 +0930
parents eb5436b47d13
children a98116479793
comparison
equal deleted inserted replaced
79:535bae7a7305 80:b759414d2b72
13 super("Pan"); 13 super("Pan");
14 } 14 }
15 15
16 override bool handleButtonPress(scope IViewport viewport, in ButtonEvent event) { 16 override bool handleButtonPress(scope IViewport viewport, in ButtonEvent event) {
17 if (event.buttonName == ButtonName.MIDDLE) { 17 if (event.buttonName == ButtonName.MIDDLE) {
18 mLastPosition = event.pixelPoint; 18 mLastPosition = event.screenPoint;
19 return true; 19 return true;
20 } 20 }
21 else { 21 else {
22 return false; 22 return false;
23 } 23 }
24 } 24 }
25 25
26 override bool handleMotion(scope IViewport viewport, in MotionEvent event) { 26 override bool handleMotion(scope IViewport viewport, in MotionEvent event) {
27 if (event.mask.isSet(Modifier.MIDDLE_BUTTON)) { 27 if (event.mask.isSet(Modifier.MIDDLE_BUTTON)) {
28 viewport.panRelative(mLastPosition - event.pixelPoint); 28 viewport.panRelative(mLastPosition - event.screenPoint);
29 mLastPosition = event.pixelPoint; 29 mLastPosition = event.screenPoint;
30 30
31 return true; 31 return true;
32 } 32 }
33 else { 33 else {
34 return false; 34 return false;
104 } 104 }
105 105
106 override bool handleScroll(scope IViewport viewport, in ScrollEvent event) { 106 override bool handleScroll(scope IViewport viewport, in ScrollEvent event) {
107 if (event.mask.isSet(Modifier.CONTROL)) { 107 if (event.mask.isSet(Modifier.CONTROL)) {
108 if (event.scrollDirection == ScrollDirection.DOWN) { 108 if (event.scrollDirection == ScrollDirection.DOWN) {
109 viewport.zoomRelative(event.pixelPoint, 1.0 / ZOOM); 109 viewport.zoomRelative(event.screenPoint, 1.0 / ZOOM);
110 return true; 110 return true;
111 } 111 }
112 else if (event.scrollDirection == ScrollDirection.UP) { 112 else if (event.scrollDirection == ScrollDirection.UP) {
113 viewport.zoomRelative(event.pixelPoint, ZOOM); 113 viewport.zoomRelative(event.screenPoint, ZOOM);
114 return true; 114 return true;
115 } 115 }
116 else { 116 else {
117 return false; 117 return false;
118 } 118 }