Revision 27098 branches/v2_0_0_prep/extensions/extGeoreferencing/src/org/gvsig/georeferencing/ui/zoom/CanvasZone.java
CanvasZone.java | ||
---|---|---|
30 | 30 |
|
31 | 31 |
import javax.swing.JPanel; |
32 | 32 |
|
33 |
import org.gvsig.fmap.geom.primitive.DefaultEnvelope; |
|
34 | 33 |
import org.gvsig.fmap.geom.primitive.Envelope; |
34 |
import org.gvsig.fmap.geom.util.UtilFunctions; |
|
35 | 35 |
import org.gvsig.georeferencing.ui.zoom.tools.BaseViewTool; |
36 | 36 |
import org.gvsig.raster.util.MathUtils; |
37 | 37 |
|
... | ... | |
134 | 134 |
int h = getVisibleRect().height; |
135 | 135 |
double cx = extent.getMinimum(0) + ((p.getX() * extent.getLength(0)) / w); |
136 | 136 |
double cy = 0; |
137 |
if(minxMaxyUL) //Cuando las Y decrecen de arriba a abajo
|
|
137 |
if(minxMaxyUL) {
|
|
138 | 138 |
cy = extent.getMaximum(1) - (p.getY() * extent.getLength(1)) / h; |
139 |
else //Cuando las Y crecen de arriba a abajo
|
|
139 |
} else {
|
|
140 | 140 |
cy = extent.getMinimum(1) + (p.getY() * extent.getLength(1)) / h; |
141 |
} |
|
141 | 142 |
return new Point2D.Double(cx, cy); |
142 | 143 |
} |
143 | 144 |
|
... | ... | |
151 | 152 |
int h = getVisibleRect().height; |
152 | 153 |
double cx = ((p.getX() - extent.getMinimum(0)) * w) / extent.getLength(0); |
153 | 154 |
double cy = 0; |
154 |
if(minxMaxyUL) //Cuando las Y decrecen de arriba a abajo
|
|
155 |
if(minxMaxyUL) {
|
|
155 | 156 |
cy = ((extent.getMaximum(1) - p.getY()) * h) / extent.getLength(1); |
156 |
else //Cuando las Y crecen de arriba a abajo
|
|
157 |
} else {
|
|
157 | 158 |
cy = ((p.getY() - extent.getMinimum(1)) * h) / extent.getLength(1); |
159 |
} |
|
158 | 160 |
return new Point2D.Double(cx, cy); |
159 | 161 |
} |
160 | 162 |
|
... | ... | |
163 | 165 |
* @return Rectangle2D |
164 | 166 |
*/ |
165 | 167 |
public Envelope getEnvelope() { |
166 |
if(lastExtent == null) |
|
168 |
if(lastExtent == null) {
|
|
167 | 169 |
return extent; |
170 |
} |
|
168 | 171 |
return lastExtent; |
169 | 172 |
} |
170 | 173 |
|
... | ... | |
297 | 300 |
* con los datos de escala y desplazamiento seleccionados. |
298 | 301 |
*/ |
299 | 302 |
protected void paintComponent(Graphics g) { |
300 |
if(image == null) |
|
303 |
if(image == null) {
|
|
301 | 304 |
return; |
305 |
} |
|
302 | 306 |
|
303 |
if(viewListener != null) |
|
307 |
if(viewListener != null) {
|
|
304 | 308 |
viewListener.startDraw(viewEvent); |
309 |
} |
|
305 | 310 |
|
306 | 311 |
int w = getVisibleRect().width; |
307 | 312 |
int h = getVisibleRect().height; |
308 | 313 |
Envelope ext = getCanvasEnvelope(w, h, scale); |
309 | 314 |
|
310 | 315 |
if(lastImage == null || !equal(lastExtent, ext)) { |
311 |
lastImage = new BufferedImage((int)w, (int)h, BufferedImage.TYPE_INT_RGB);
|
|
312 |
lastImageWithLayers = new BufferedImage((int)w, (int)h, BufferedImage.TYPE_INT_RGB);
|
|
316 |
lastImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
|
|
317 |
lastImageWithLayers = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
|
|
313 | 318 |
} |
314 | 319 |
|
315 | 320 |
if(clear) { |
... | ... | |
322 | 327 |
Graphics graphicsDB = draw(ext, w, h); |
323 | 328 |
|
324 | 329 |
//Dibujamos todas las capas registradas |
325 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
330 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
326 | 331 |
((IGraphicLayer)graphicLayers.get(i)).draw((Graphics2D)graphicsDB, ext, w, h); |
332 |
} |
|
327 | 333 |
|
328 | 334 |
lastExtent = ext; |
329 | 335 |
|
330 |
if(selectedTool != null) |
|
336 |
if(selectedTool != null) {
|
|
331 | 337 |
selectedTool.draw(graphicsDB); |
338 |
} |
|
332 | 339 |
|
333 |
if(showInfo) |
|
340 |
if(showInfo) {
|
|
334 | 341 |
showInfo(graphicsDB); |
342 |
} |
|
335 | 343 |
|
336 | 344 |
g.drawImage(lastImageWithLayers, 0, 0, this); |
337 | 345 |
graphicsDB.dispose(); |
338 | 346 |
|
339 |
if(viewListener != null) |
|
347 |
if(viewListener != null) {
|
|
340 | 348 |
viewListener.endDraw(viewEvent); |
349 |
} |
|
341 | 350 |
} |
342 | 351 |
|
343 | 352 |
/** |
... | ... | |
378 | 387 |
double minY = center.getY() - tH; |
379 | 388 |
double width = Math.abs((center.getX() + tW) - minX); |
380 | 389 |
double height = Math.abs((center.getY() + tH) - minY); |
381 |
return new DefaultEnvelope(minX, minY, minX+width, minY+height); |
|
390 |
return UtilFunctions.createEnvelope(minX, minY, minX + width, minY |
|
391 |
+ height); |
|
382 | 392 |
} |
383 | 393 |
|
384 | 394 |
/** |
... | ... | |
422 | 432 |
} |
423 | 433 |
xValue += step; |
424 | 434 |
} |
425 |
if(viewListener != null) |
|
435 |
if(viewListener != null) {
|
|
426 | 436 |
viewListener.zoomViewChanged(viewEvent); |
437 |
} |
|
427 | 438 |
forceRequest = false; |
428 |
} else |
|
439 |
} else {
|
|
429 | 440 |
((Graphics2D)lastImageWithLayers.getGraphics()).drawImage(lastImage, 0, 0, null); |
441 |
} |
|
430 | 442 |
|
431 | 443 |
return lastImageWithLayers.getGraphics(); |
432 | 444 |
} |
... | ... | |
436 | 448 |
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent) |
437 | 449 |
*/ |
438 | 450 |
public void mouseClicked(MouseEvent e) { |
439 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
451 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
440 | 452 |
((IGraphicLayer)graphicLayers.get(i)).mouseClicked(e); |
453 |
} |
|
441 | 454 |
repaint(); |
442 | 455 |
} |
443 | 456 |
|
... | ... | |
446 | 459 |
* @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent) |
447 | 460 |
*/ |
448 | 461 |
public void mouseEntered(MouseEvent e) { |
449 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
462 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
450 | 463 |
((IGraphicLayer)graphicLayers.get(i)).mouseEntered(e); |
464 |
} |
|
451 | 465 |
repaint(); |
452 | 466 |
} |
453 | 467 |
|
... | ... | |
456 | 470 |
* @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent) |
457 | 471 |
*/ |
458 | 472 |
public void mouseExited(MouseEvent e) { |
459 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
473 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
460 | 474 |
((IGraphicLayer)graphicLayers.get(i)).mouseExited(e); |
475 |
} |
|
461 | 476 |
repaint(); |
462 | 477 |
} |
463 | 478 |
|
... | ... | |
466 | 481 |
* @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent) |
467 | 482 |
*/ |
468 | 483 |
public void mousePressed(MouseEvent e) { |
469 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
484 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
470 | 485 |
((IGraphicLayer)graphicLayers.get(i)).mousePressed(e); |
486 |
} |
|
471 | 487 |
repaint(); |
472 | 488 |
} |
473 | 489 |
|
... | ... | |
476 | 492 |
* @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent) |
477 | 493 |
*/ |
478 | 494 |
public void mouseReleased(MouseEvent e) { |
479 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
495 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
480 | 496 |
((IGraphicLayer)graphicLayers.get(i)).mouseReleased(e); |
497 |
} |
|
481 | 498 |
repaint(); |
482 | 499 |
} |
483 | 500 |
|
... | ... | |
486 | 503 |
* @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent) |
487 | 504 |
*/ |
488 | 505 |
public void mouseDragged(MouseEvent e) { |
489 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
506 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
490 | 507 |
((IGraphicLayer)graphicLayers.get(i)).mouseDragged(e); |
508 |
} |
|
491 | 509 |
repaint(); |
492 | 510 |
} |
493 | 511 |
|
... | ... | |
496 | 514 |
* @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent) |
497 | 515 |
*/ |
498 | 516 |
public void mouseMoved(MouseEvent e) { |
499 |
realCoord = viewCoordsToWorld((Point2D)e.getPoint());
|
|
517 |
realCoord = viewCoordsToWorld(e.getPoint()); |
|
500 | 518 |
//viewCoord = e.getPoint(); |
501 |
for (int i = 0; i < graphicLayers.size(); i++) |
|
519 |
for (int i = 0; i < graphicLayers.size(); i++) {
|
|
502 | 520 |
((IGraphicLayer)graphicLayers.get(i)).mouseMoved(e); |
521 |
} |
|
503 | 522 |
repaint(); |
504 | 523 |
} |
505 | 524 |
|
Also available in: Unified diff