Mercurial > projects > doodle
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 } |