Revision 466 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/data/GvSIGLayerDataRaster.java
GvSIGLayerDataRaster.java | ||
---|---|---|
42 | 42 |
import org.cresques.cts.IProjection; |
43 | 43 |
import org.slf4j.Logger; |
44 | 44 |
import org.slf4j.LoggerFactory; |
45 |
|
|
46 | 45 |
import org.gvsig.fmap.crs.CRSFactory; |
47 | 46 |
import org.gvsig.fmap.dal.exception.ReadException; |
48 | 47 |
import org.gvsig.fmap.geom.Geometry.SUBTYPES; |
... | ... | |
53 | 52 |
import org.gvsig.fmap.mapcontext.MapContext; |
54 | 53 |
import org.gvsig.fmap.mapcontext.ViewPort; |
55 | 54 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
55 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
56 |
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelable; |
|
56 | 57 |
import org.gvsig.tools.task.Cancellable; |
57 | 58 |
|
58 | 59 |
/** |
... | ... | |
195 | 196 |
viewPort.refreshExtent(); |
196 | 197 |
|
197 | 198 |
try { |
199 |
|
|
198 | 200 |
layer.draw(image, (Graphics2D) image.getGraphics(), viewPort, |
199 |
new Cancellable() { |
|
201 |
getCancel(), getScale(viewPort)); |
|
202 |
|
|
203 |
if (layer instanceof FLyrVect && layer instanceof ILabelable) { |
|
204 |
|
|
205 |
ILabelable labelable = (ILabelable) layer; |
|
206 |
|
|
207 |
if (labelable.isLabeled() |
|
208 |
&& labelable.getLabelingStrategy() != null |
|
209 |
&& labelable.getLabelingStrategy().shouldDrawLabels( |
|
210 |
getScale(viewPort))) { |
|
211 |
|
|
212 |
labelable.drawLabels(image, (Graphics2D) image |
|
213 |
.getGraphics(), viewPort, getCancel(), |
|
214 |
getScale(viewPort), mapContext.getViewPort().getDPI()); |
|
215 |
} |
|
216 |
} |
|
200 | 217 |
|
201 |
private boolean canceled = false; |
|
202 |
|
|
203 |
public void setCanceled(boolean flag) { |
|
204 |
canceled = flag; |
|
205 |
} |
|
206 |
|
|
207 |
public boolean isCanceled() { |
|
208 |
return canceled; |
|
209 |
} |
|
210 |
}, getScale(viewPort)); |
|
211 |
|
|
212 | 218 |
} catch (ReadException e) { |
213 | 219 |
LOG.warn( |
214 | 220 |
"Can't draw required zone of layer {}, can't read legend", |
215 | 221 |
layer.getInfoString()); |
216 | 222 |
return; |
217 | 223 |
} |
218 |
|
|
219 | 224 |
BufferedImageRaster bufferedImageRaster = |
220 | 225 |
new BufferedImageRaster(overlap, image); |
221 | 226 |
bufferedImageRaster.drawOnTo(canvas); |
... | ... | |
338 | 343 |
new GvSIGLayerDataRaster(mapContext, layer, params); |
339 | 344 |
return subRaster; |
340 | 345 |
} |
346 |
|
|
347 |
private Cancellable getCancel(){ |
|
348 |
Cancellable cancel = new Cancellable() { |
|
349 |
|
|
350 |
private boolean canceled = false; |
|
351 |
|
|
352 |
public void setCanceled(boolean flag) { |
|
353 |
canceled = flag; |
|
354 |
} |
|
355 |
|
|
356 |
public boolean isCanceled() { |
|
357 |
return canceled; |
|
358 |
} |
|
359 |
}; |
|
360 |
|
|
361 |
return cancel; |
|
362 |
} |
|
341 | 363 |
} |
Also available in: Unified diff