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

View differences:

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