Revision 1725 org.gvsig.raster.georeferencing/trunk/org.gvsig.raster.georeferencing/org.gvsig.raster.georeferencing.app/org.gvsig.raster.georeferencing.app.georeferencingclient/src/main/java/org/gvsig/raster/georeferencing/app/georeferencingclient/listener/ViewMapRequestManager.java
ViewMapRequestManager.java | ||
---|---|---|
56 | 56 |
|
57 | 57 |
public ViewMapRequestManager(GeoreferencingView view, MapControl mapControl) { |
58 | 58 |
this.mapControl = mapControl; |
59 |
this.lyrs = mapControl.getMapContext().getLayers(); |
|
59 |
if(mapControl != null) |
|
60 |
this.lyrs = mapControl.getMapContext().getLayers(); |
|
60 | 61 |
this.view = view; |
61 | 62 |
} |
62 | 63 |
/** |
... | ... | |
134 | 135 |
* (non-Javadoc) |
135 | 136 |
* @see org.gvsig.rastertools.georeferencing.ui.zoom.IExtensionRequest#request(java.awt.geom.Rectangle2D) |
136 | 137 |
*/ |
137 |
public Rectangle2D request(Rectangle2D extent) throws InvalidRequestException { |
|
138 |
if(extent == null) { |
|
138 |
public Rectangle2D request(Rectangle2D req) throws InvalidRequestException { |
|
139 |
if(view.getCanvasWidth() == 0 || view.getCanvasHeight() == 0) |
|
140 |
return req; |
|
141 |
|
|
142 |
if(req == null) { |
|
139 | 143 |
Envelope e = lyrs.getFullEnvelope(); |
140 | 144 |
Rectangle2D r = new Rectangle2D.Double(e.getMinimum(0), e.getMinimum(1), e.getLength(0), e.getLength(1)); |
141 | 145 |
return r; |
... | ... | |
145 | 149 |
//Obtenemos el viewport y calculamos la matriz de transformaci?n |
146 | 150 |
ViewPort vp = new ViewPort(null); |
147 | 151 |
vp.setImageSize(new Dimension(view.getCanvasWidth(), view.getCanvasHeight())); |
148 |
Envelope e = GeometryLocator.getGeometryManager().createEnvelope(extent.getMinX(), extent.getMinY(), extent.getMaxX(), extent.getMaxY(), SUBTYPES.GEOM2D);
|
|
152 |
Envelope e = GeometryLocator.getGeometryManager().createEnvelope(req.getMinX(), req.getMinY(), req.getMaxX(), req.getMaxY(), SUBTYPES.GEOM2D);
|
|
149 | 153 |
vp.setEnvelope(e); |
150 | 154 |
vp.setProjection(mapControl.getMapContext().getProjection()); |
151 | 155 |
|
... | ... | |
171 | 175 |
mapContextDrawer.draw(lyrs, initImg, img, c, mapControl.getMapContext().getScaleView()); |
172 | 176 |
//lyrs.draw(initImg, img, vp, new CancellableClass(), mapControl.getMapContext().getScaleView()); |
173 | 177 |
|
174 |
setDrawParams(initImg, extent);
|
|
178 |
setDrawParams(initImg, req);
|
|
175 | 179 |
|
176 | 180 |
//if(graphicLayer != null) |
177 | 181 |
//graphicLayer.recalcMapDrawCoordinates(); |
... | ... | |
179 | 183 |
} catch (Exception ex) { |
180 | 184 |
throw new InvalidRequestException("Error en al acceso al fichero", ex); |
181 | 185 |
} |
182 |
return extent;
|
|
186 |
return req;
|
|
183 | 187 |
} |
184 | 188 |
|
185 | 189 |
/* |
Also available in: Unified diff