Revision 27361 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/saveraster/operations/RasterizerLayer.java

View differences:

RasterizerLayer.java
28 28
import org.gvsig.gui.beans.incrementabletask.IIncrementable;
29 29
import org.gvsig.raster.dataset.IBuffer;
30 30
import org.gvsig.raster.dataset.IDataWriter;
31
import org.gvsig.raster.process.RasterTask;
32
import org.gvsig.raster.process.RasterTaskQueue;
31 33

  
32 34
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
33 35
import com.iver.andami.PluginServices;
......
124 126

  
125 127
	/**
126 128
	 * Compatibilidad con el piloto de raster
129
	 * @throws InterruptedException 
127 130
	 * @see readData
128 131
	 */
129
	public int[] readARGBData(int sX, int sY, int nBand){
132
	public int[] readARGBData(int sX, int sY, int nBand) throws InterruptedException {
130 133
		return readData( sX, sY, nBand);
131 134
	}
132 135

  
133
	public int[] readData(int sX, int sY, int nBand) {
136
	public int[] readData(int sX, int sY, int nBand) throws InterruptedException {
137
		RasterTask task = RasterTaskQueue.get(Thread.currentThread().toString());
134 138
		if (nBand == 0) { // Con nBand==0 se devuelven las 3 bandas
135 139
			nBlocks = (int) Math.ceil(imgHeight / (double) blockSize);
136 140
			image = new BufferedImage(sX, sY, BufferedImage.TYPE_INT_RGB);
137 141
			Graphics2D g = (Graphics2D) image.getGraphics();
138 142
			g.setColor(backgroundColor);
139 143
			g.fillRect(0, 0, viewPortBlock.getImageWidth(), viewPortBlock.getImageHeight());
144
			
145
			if(task.getEvent() != null)
146
				task.manageEvent(task.getEvent());
147
			
140 148
			try {
141 149
				// TODO: FUNCIONALIDAD: Salvar los m?ximos y m?nimos para salvar 16 bits
142 150

  
......
166 174
				DefaultMapContextDrawer mapContextDrawer = new DefaultMapContextDrawer();
167 175
				mapContextDrawer.setMapContext(flayers.getMapContext());
168 176
				mapContextDrawer.setViewPort(viewPortBlock);
177
				if(task.getEvent() != null)
178
					task.manageEvent(task.getEvent());
169 179
				mapContextDrawer.draw(flayers, image, g, cancel, flayers.getMapContext().getScaleView());
170 180

  
171 181
				// Si es el ?ltimo bloque vaciamos el historial de m?ximos y m?nimos
......
195 205
				wcIntervalo = (lastBlock * wcAlto) / viewPort.getImageHeight();
196 206
			}
197 207

  
208
			if(task.getEvent() != null)
209
				task.manageEvent(task.getEvent());
210
			
198 211
			calcViewPort(viewPortBlock);
199 212

  
200 213
			percent = (int) ((100 * (contBlocks)) / nBlocks);

Also available in: Unified diff