Revision 41964 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/tools/ZoomOutListenerImpl.java
ZoomOutListenerImpl.java | ||
---|---|---|
103 | 103 |
* @see com.iver.cit.gvsig.fmap.tools.Listeners.PointListener#point(com.iver.cit.gvsig.fmap.tools.Events.PointEvent) |
104 | 104 |
*/ |
105 | 105 |
public void point(PointEvent event) { |
106 |
ViewPort vp = mapControl.getMapContext().getViewPort();
|
|
107 |
Point2D p2 = vp.toMapPoint(event.getPoint());
|
|
106 |
ViewPort vp = mapControl.getMapContext().getViewPort();
|
|
107 |
Point2D p2 = vp.toMapPoint(event.getPoint());
|
|
108 | 108 |
|
109 |
double nuevoX; |
|
110 |
double nuevoY; |
|
111 |
double factor = 1/MapContext.ZOOMOUTFACTOR; |
|
109 |
double nuevoX; |
|
110 |
double nuevoY; |
|
111 |
double factor = 1 / MapContext.ZOOMOUTFACTOR; |
|
112 |
if (vp.getExtent() != null) { |
|
113 |
nuevoX = p2.getX() - ((vp.getExtent().getWidth() * factor) / 2.0); |
|
114 |
nuevoY = p2.getY() - ((vp.getExtent().getHeight() * factor) / 2.0); |
|
115 |
double x = nuevoX; |
|
116 |
double y = nuevoY; |
|
117 |
double width = vp.getExtent().getWidth() * factor; |
|
118 |
double height = vp.getExtent().getHeight() * factor; |
|
112 | 119 |
|
113 |
nuevoX = p2.getX() - ((vp.getExtent().getWidth() * factor) / 2.0);
|
|
114 |
nuevoY = p2.getY() - ((vp.getExtent().getHeight() * factor) / 2.0);
|
|
115 |
double x = nuevoX;
|
|
116 |
double y = nuevoY;
|
|
117 |
double width = vp.getExtent().getWidth() * factor;
|
|
118 |
double height = vp.getExtent().getHeight() * factor;
|
|
120 |
try {
|
|
121 |
vp.setEnvelope(geomManager.createEnvelope(x, y, x + width, y + height, SUBTYPES.GEOM2D));
|
|
122 |
} catch (CreateEnvelopeException e) {
|
|
123 |
logger.warn("Error creating the envelope", e);
|
|
124 |
}
|
|
125 |
}
|
|
119 | 126 |
|
120 |
Envelope r; |
|
121 |
try { |
|
122 |
r = geomManager.createEnvelope(x,y, x+width, y+height, SUBTYPES.GEOM2D); |
|
123 |
vp.setEnvelope(r); |
|
124 |
} catch (CreateEnvelopeException e) { |
|
125 |
logger.error("Error creating the envelope", e); |
|
126 |
} |
|
127 | 127 |
} |
128 | 128 |
|
129 | 129 |
/* |
Also available in: Unified diff