Revision 12768 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/geolocation/behavior/ScaleBehavior.java
ScaleBehavior.java | ||
---|---|---|
28 | 28 |
import java.awt.geom.AffineTransform; |
29 | 29 |
import java.awt.geom.NoninvertibleTransformException; |
30 | 30 |
import java.awt.geom.Point2D; |
31 |
import java.awt.geom.Rectangle2D; |
|
32 | 31 |
|
33 | 32 |
import javax.swing.ImageIcon; |
34 | 33 |
import javax.swing.JOptionPane; |
35 | 34 |
|
35 |
import org.gvsig.raster.datastruct.Extent; |
|
36 |
|
|
36 | 37 |
import com.iver.andami.PluginServices; |
37 | 38 |
import com.iver.cit.gvsig.fmap.ViewPort; |
38 | 39 |
import com.iver.cit.gvsig.fmap.tools.BehaviorException; |
... | ... | |
349 | 350 |
* Cuando movemos el rat?n detecta si estamos en el marco de la |
350 | 351 |
* imagen y pone el icono del cursor del rat?n adecuado. |
351 | 352 |
*/ |
352 |
public boolean mouseMoved(MouseEvent e) throws BehaviorException { |
|
353 |
public boolean mouseMoved(MouseEvent ev) throws BehaviorException {
|
|
353 | 354 |
ViewPort vp = grBehavior.getMapControl().getMapContext().getViewPort(); |
354 | 355 |
resetBorderSelected(); |
355 | 356 |
|
... | ... | |
359 | 360 |
return false; |
360 | 361 |
} |
361 | 362 |
|
362 |
Rectangle2D ext = lyr.getFullExtent(); |
|
363 |
/*Point2D a = new Point2D.Double(ext.getMinX(), ext.getMaxY()); |
|
364 |
Point2D b = new Point2D.Double(ext.getMaxX(), ext.getMinY()); |
|
365 |
try { |
|
366 |
lyr.getAffineTransform().inverseTransform(a, a); |
|
367 |
lyr.getAffineTransform().inverseTransform(b, b); |
|
368 |
AffineTransform at = new AffineTransform(1, 0, 0, 1, lyr.getAffineTransform().getTranslateX(), lyr.getAffineTransform().getTranslateY()); |
|
369 |
at.transform(a, a); |
|
370 |
at.transform(b, b); |
|
371 |
} catch (NoninvertibleTransformException ex) { |
|
372 |
return false; |
|
373 |
} |
|
363 |
Extent ext = lyr.getMultiRasterDataset().getExtent(); |
|
364 |
AffineTransform at = lyr.getAffineTransform(); |
|
374 | 365 |
|
375 |
Point2D p1 = vp.fromMapPoint(a.getX(), a.getY()); |
|
376 |
Point2D p2 = vp.fromMapPoint(b.getX(), b.getY());*/ |
|
366 |
//Establecer una escala entre las coordenadas de la vista y las coordenadas pixel |
|
367 |
//Escalar PX_SELEC y LONG_CORNER para tenerlo en coordenadas pixel |
|
368 |
//Pasar coordenadas del punto a coordenadas reales y luego a coordenadas pixel |
|
369 |
//Comprobar si est? dentro del raster |
|
377 | 370 |
|
378 |
Point2D p1 = vp.fromMapPoint(ext.getMinX(), ext.getMaxY()); |
|
379 |
Point2D p2 = vp.fromMapPoint(ext.getMaxX(), ext.getMinY()); |
|
371 |
Point2D p1 = vp.fromMapPoint(ext.minX(), ext.maxY()); |
|
372 |
Point2D p2 = vp.fromMapPoint(ext.maxX(), ext.minY()); |
|
373 |
Point2D e = new Point2D.Double(ev.getX(), ev.getY()); |
|
374 |
|
|
380 | 375 |
//Fuera del raster |
381 | 376 |
if(e.getX() < p1.getX() || e.getX() > p2.getX() || e.getY() < p1.getY() || e.getY() > p2.getY() ) { |
382 | 377 |
setActiveTool(false); |
Also available in: Unified diff