Revision 1789 org.gvsig.raster.georeferencing/trunk/org.gvsig.raster.georeferencing/org.gvsig.raster.georeferencing.swing/org.gvsig.raster.georeferencing.swing.impl/src/main/java/org/gvsig/raster/georeferencing/swing/impl/tool/ZoomWheelTool.java
ZoomWheelTool.java | ||
---|---|---|
44 | 44 |
*/ |
45 | 45 |
@SuppressWarnings("deprecation") |
46 | 46 |
public class ZoomWheelTool extends BaseViewTool implements MouseWheelListener, ActionListener { |
47 |
private Rectangle2D result = null; |
|
48 |
private double x = 0, y = 0, w = 0, h = 0; |
|
49 |
private Cancellable cancel = null; |
|
50 |
//private Drawer drawer = null; |
|
51 |
private Timer timer = new Timer(500, this); |
|
47 |
private Rectangle2D result = null; |
|
48 |
private double x = 0; |
|
49 |
private double y = 0; |
|
50 |
private double w = 0; |
|
51 |
private double h = 0; |
|
52 |
private Cancellable cancel = null; |
|
53 |
private Timer timer = new Timer(500, this); |
|
54 |
private ToolEvent toolEvent = null; |
|
52 | 55 |
|
53 | 56 |
public class MyCancellable implements Cancellable { |
54 | 57 |
private boolean cancel = false; |
... | ... | |
107 | 110 |
this.scale = scale; |
108 | 111 |
} |
109 | 112 |
|
110 |
private ToolEvent toolEvent = null; |
|
111 |
|
|
112 | 113 |
public void mouseWheelMoved(MouseWheelEvent e) { |
113 |
//cancel.setCanceled(true); |
|
114 | 114 |
if(e.getWheelRotation() < 1) { |
115 |
setScale(scale + 0.2);
|
|
115 |
setScale(scale + 0.1);
|
|
116 | 116 |
} else { |
117 |
setScale(scale - 0.2); |
|
117 |
setScale(scale - 0.02);
|
|
118 | 118 |
} |
119 | 119 |
|
120 | 120 |
double centerX = e.getX(); |
... | ... | |
143 | 143 |
double shiftY = centerY - (centerY * scale); |
144 | 144 |
canvas.setActiveMoveRedraw(false); |
145 | 145 |
canvas.setZoomAffineTransform(scale, scale, shiftX, shiftY); |
146 |
//System.out.println(scale + " " + scale + " " + shiftX + " " + shiftY + " : " + canvas.getAtZoom().toString()); |
|
146 | 147 |
canvas.repaint(); |
147 | 148 |
|
148 | 149 |
x = y = w = h = 0; |
149 | 150 |
|
150 | 151 |
if(toolEvent == null) |
151 |
toolEvent = new ToolEvent(this, getParentView(), null);
|
|
152 |
toolEvent.setResult(result);
|
|
153 |
|
|
152 |
toolEvent = new ToolEvent(this, getParentView(), cancel);
|
|
153 |
//cancel.setCanceled(true);
|
|
154 |
|
|
154 | 155 |
timer.restart(); |
155 |
// |
|
156 |
// cancel.setCanceled(true); |
|
157 |
// cancel = new MyCancellable(); |
|
158 |
// ToolEvent event = new ToolEvent(this, getParentView(), cancel); |
|
159 |
// for (int i = 0; i < listeners.size(); i++) { |
|
160 |
// ((ToolListener)listeners.get(i)).endAction(event); |
|
161 |
// } |
|
162 |
// //BufferedImage img = (BufferedImage)event.getResult(); |
|
163 |
// |
|
164 |
// canvas.setActiveMoveRedraw(true); |
|
165 |
// setScale(1); |
|
166 | 156 |
} |
167 |
|
|
168 |
|
|
169 |
/*public class Drawer extends Thread { |
|
170 |
public void run() { |
|
171 |
cancel = new MyCancellable(); |
|
172 |
for (int i = 0; i < listeners.size(); i++) |
|
173 |
((ToolListener)listeners.get(i)).endAction(new ToolEvent(this, getParentView(), cancel)); |
|
174 |
canvas.setActiveMoveRedraw(true); |
|
175 |
setScale(1); |
|
176 |
//canvas.repaint(); |
|
177 |
} |
|
178 |
} |
|
179 |
|
|
180 |
public Drawer getDrawer() { |
|
181 |
if(drawer == null) |
|
182 |
drawer = new Drawer(); |
|
183 |
return drawer; |
|
184 |
}*/ |
|
185 | 157 |
|
186 | 158 |
public void actionPerformed(ActionEvent e) { |
187 |
//cancel = new MyCancellable(); |
|
159 |
//cancel.setCanceled(false); |
|
160 |
toolEvent.setResult(result); |
|
188 | 161 |
for (int i = 0; i < listeners.size(); i++) |
189 | 162 |
((ToolListener)listeners.get(i)).endAction(toolEvent); |
190 | 163 |
canvas.setActiveMoveRedraw(true); |
Also available in: Unified diff