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/ViewRasterRequestManager.java

View differences:

ViewRasterRequestManager.java
28 28
import java.awt.geom.Rectangle2D;
29 29
import java.awt.image.BufferedImage;
30 30

  
31
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
31 32
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
32 33
import org.gvsig.fmap.dal.exception.ReadException;
33 34
import org.gvsig.fmap.geom.GeometryLocator;
......
51 52
public class ViewRasterRequestManager implements IViewRequestManager {
52 53
	private GeometryManager          geomManager       = GeometryLocator.getGeometryManager();
53 54
	private GeoreferencingView       view              = null;
54
	private RasterDataStore          store             = null;
55 55
	private Color                    backGroundColor   = null;
56 56
	private FLyrRaster               lyr               = null;
57 57
	
......
60 60
	 * @param lyr
61 61
	 */
62 62
	public ViewRasterRequestManager(GeoreferencingView view, RasterDataStore store) {
63
		this.store = store;
64 63
		this.view = view;
65 64
		lyr = new DefaultFLyrRaster();
66 65
		try {
......
135 134
	public void setBackGroundColor(Color backGroundColor) {
136 135
		this.backGroundColor = backGroundColor;
137 136
	}
137
	
138
	public Rectangle2D getRasterExtent() {
139
		Extent ex = lyr.getDataStore().getExtent();
140
		return ex.toRectangle2D();//new Rectangle2D.Double(0, 0, ex.width(), ex.height());
141
	}
138 142

  
139 143
	public void fullExtent() throws InvalidRequestException {
140
		this.initRequest(store.getExtent().toRectangle2D());
144
		this.initRequest(getRasterExtent());
141 145
	}
142 146

  
143
	public Rectangle2D request(Rectangle2D extent) throws InvalidRequestException {
144
		if(extent == null)
145
			return store.getExtent().toRectangle2D();
147
	public Rectangle2D request(Rectangle2D req) throws InvalidRequestException {
148
		if(req == null || view.getCanvasWidth() == 0 || view.getCanvasHeight() == 0)
149
			return getRasterExtent();
146 150
		
147
		if(store.getExtent() == null) {
151
		if(lyr.getDataStore().getExtent() == null) {
148 152
			GeoreferencingSwingImplLibrary.messageBoxError("error_set_view", this, null);
149 153
			return null;
150 154
		}
......
166 170
			ViewPort vp = new ViewPort();
167 171
			vp.setImageSize(new Dimension(view.getCanvasWidth(), view.getCanvasHeight()));
168 172
			Envelope env = geomManager.createEnvelope(
169
					extent.getMinX(), 
170
					extent.getMinY(), 
171
					extent.getMaxX(), 
172
					extent.getMaxY(), 
173
					req.getMinX(), 
174
					getRasterExtent().getHeight() - req.getMaxY(), 
175
					req.getMaxX(), 
176
					getRasterExtent().getHeight() - req.getMinY(), 
173 177
					SUBTYPES.GEOM2D);
174 178
			//Envelope env = geomManager.createEnvelope(ext.getMin().getX(), ext.getMin().getY(), ext.getMax().getX(), ext.getMax().getY(), SUBTYPES.GEOM2D);
175 179
			vp.setEnvelope(env);
......
183 187
			}
184 188
			lyr.draw(initImg, g2d, vp, null, 1);
185 189
		
186
			setDrawParams(initImg, extent);
190
			setDrawParams(initImg, req);
187 191
			
188 192
			//if(graphicLayer != null)
189 193
				//graphicLayer.recalcPixelDrawCoordinates();
......
193 197
		} catch (CreateEnvelopeException e) {
194 198
			throw new InvalidRequestException("Error asignando el ?rea de la petici?n", e);
195 199
		}
196
		return extent;
200
		return req;
197 201
	}
198 202

  
199 203
	public void setGCPsGraphicLayer(IGraphicLayer gl) {

Also available in: Unified diff