Revision 11073 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
FLayers.java | ||
---|---|---|
424 | 424 |
///// CHEMA ComposedLayer |
425 | 425 |
long tg1 = System.currentTimeMillis(); |
426 | 426 |
ComposedLayer group = null; |
427 |
ArrayList pendingEvents= new ArrayList();
|
|
427 |
ArrayList pendingEvents= new ArrayList(); |
|
428 | 428 |
boolean fireAfterDrawEvent = true; |
429 | 429 |
///// CHEMA ComposedLayer |
430 | 430 |
|
431 |
|
|
432 |
|
|
431 |
|
|
432 |
|
|
433 | 433 |
// while (iter.hasNext()) |
434 | 434 |
// { |
435 | 435 |
for (int i=0; i < layers.size(); i++) { |
... | ... | |
439 | 439 |
FLayer lyr = (FLayer) layers.get(i); |
440 | 440 |
|
441 | 441 |
|
442 |
///// CHEMA ComposedLayer
|
|
442 |
///// CHEMA ComposedLayer |
|
443 | 443 |
fireAfterDrawEvent = true; |
444 | 444 |
///// CHEMA ComposedLayer |
445 |
|
|
446 |
|
|
445 |
|
|
446 |
|
|
447 | 447 |
/* if (lyr instanceof FLyrVect && ((FLyrVect)lyr).isBroken()){ |
448 | 448 |
continue; |
449 | 449 |
} |
... | ... | |
452 | 452 |
fmap.fireLayerDrawingEvent(beforeEvent); |
453 | 453 |
if ((lyr.isDirty()) || (lyr.isCachingDrawnLayers() == false)) |
454 | 454 |
bNeedRecalculateCache = true; |
455 |
|
|
455 |
|
|
456 | 456 |
if (lyr.isVisible()) { |
457 | 457 |
|
458 | 458 |
long t1 = System.currentTimeMillis(); |
... | ... | |
490 | 490 |
group = null; |
491 | 491 |
} |
492 | 492 |
///// CHEMA ComposedLayer |
493 |
|
|
494 | 493 |
|
494 |
|
|
495 | 495 |
// Copiamos la imagen actual |
496 | 496 |
BufferedImage buff = new BufferedImage(image.getWidth(), image.getHeight(), image.getType()); |
497 | 497 |
WritableRaster w = buff.getRaster(); |
... | ... | |
509 | 509 |
// prepareDrawing de FMap. |
510 | 510 |
if (lyr.isDirty()) |
511 | 511 |
{ |
512 |
|
|
513 |
|
|
512 |
|
|
513 |
|
|
514 | 514 |
///// CHEMA ComposedLayer |
515 | 515 |
// Checks for draw group (ComposedLayer) |
516 | 516 |
if (group != null) { |
... | ... | |
521 | 521 |
group = null; |
522 | 522 |
} |
523 | 523 |
///// CHEMA ComposedLayer |
524 |
|
|
525 | 524 |
|
525 |
|
|
526 | 526 |
g.drawImage(lyr.getCacheImageDrawnLayers(), 0, 0, null); |
527 | 527 |
System.err.println("Pinto con acelerado lo que hab?a antes de " + lyr.getName()); |
528 | 528 |
} |
... | ... | |
552 | 552 |
|
553 | 553 |
// gets a new group instance |
554 | 554 |
group = lyr.newComposedLayer(); |
555 |
// if layer hasn't group, draws it inmediately
|
|
555 |
// if layer hasn't group, draws it inmediately |
|
556 | 556 |
if (group == null) { |
557 | 557 |
lyr.draw(image, g, viewPort, cancel,scale); |
558 | 558 |
} else { |
... | ... | |
565 | 565 |
} else { |
566 | 566 |
// gets a new group instance |
567 | 567 |
group = lyr.newComposedLayer(); |
568 |
// if layer hasn't group, draws it inmediately
|
|
568 |
// if layer hasn't group, draws it inmediately |
|
569 | 569 |
if (group == null) { |
570 | 570 |
lyr.draw(image, g, viewPort, cancel,scale); |
571 | 571 |
} else { |
... | ... | |
576 | 576 |
} |
577 | 577 |
} |
578 | 578 |
///// CHEMA ComposedLayer |
579 |
|
|
580 |
/*
|
|
579 |
|
|
580 |
/* |
|
581 | 581 |
* (Jaume) |
582 | 582 |
* If the layer is instance of ILabelable then it may have labels. |
583 | 583 |
*/ |
584 | 584 |
if (lyr instanceof ILabelable && ((ILabelable) lyr).isLabeled()) { |
585 |
|
|
586 |
///// CHEMA ComposedLayer
|
|
585 |
|
|
586 |
///// CHEMA ComposedLayer |
|
587 | 587 |
if (group != null) { |
588 | 588 |
//si tenemos un grupo pendiente de pintar, pintamos |
589 | 589 |
// para que se pinten correctamente las etiquetas |
... | ... | |
594 | 594 |
} |
595 | 595 |
///// CHEMA ComposedLayer |
596 | 596 |
|
597 |
|
|
597 |
|
|
598 | 598 |
((ILabelable) lyr).drawLabels(image, g, viewPort, cancel, scale); |
599 | 599 |
} |
600 | 600 |
bNeedRecalculateCache = true; |
... | ... | |
622 | 622 |
///// CHEMA ComposedLayer |
623 | 623 |
LayerDrawEvent afterEvent = new LayerDrawEvent(lyr, g, viewPort, LayerDrawEvent.LAYER_AFTER_DRAW); |
624 | 624 |
fmap.fireLayerDrawingEvent(afterEvent); |
625 |
///// CHEMA ComposedLayer
|
|
625 |
///// CHEMA ComposedLayer |
|
626 | 626 |
} |
627 | 627 |
///// CHEMA ComposedLayer |
628 | 628 |
} |
629 |
|
|
630 |
///// CHEMA ComposedLayer
|
|
629 |
|
|
630 |
///// CHEMA ComposedLayer |
|
631 | 631 |
if (group != null) { |
632 |
//si tenemos un grupo pendiente de pintar, pintamos
|
|
632 |
//si tenemos un grupo pendiente de pintar, pintamos |
|
633 | 633 |
group.draw(image, g, viewPort, cancel,scale); |
634 | 634 |
fireLayerDrawingEvents(pendingEvents); |
635 | 635 |
|
... | ... | |
644 | 644 |
// System.err.println(e.getMessage()); |
645 | 645 |
// } |
646 | 646 |
long tg2 = System.currentTimeMillis(); |
647 |
|
|
647 |
|
|
648 | 648 |
System.out.println("Draw all layer " |
649 | 649 |
+ (tg2-tg1) + " milisecs."); |
650 |
|
|
650 |
|
|
651 | 651 |
} |
652 |
|
|
652 |
|
|
653 | 653 |
private void fireLayerDrawingEvents(Collection events) { |
654 | 654 |
Iterator iter = events.iterator(); |
655 | 655 |
LayerDrawEvent afterEvent; |
... | ... | |
659 | 659 |
fmap.fireLayerDrawingEvent(afterEvent); |
660 | 660 |
} |
661 | 661 |
} |
662 |
|
|
662 |
|
|
663 | 663 |
/** |
664 | 664 |
* @see com.iver.cit.gvsig.fmap.layers.FLayer#print(java.awt.Graphics2D, |
665 | 665 |
* com.iver.cit.gvsig.fmap.ViewPort, |
... | ... | |
674 | 674 |
for (int i=0; i < layers.size(); i++) { |
675 | 675 |
FLayer lyr = (FLayer) layers.get(i); |
676 | 676 |
lyr.print(g, viewPort, cancel, scale, properties); |
677 |
if (lyr instanceof ILabelable) { |
|
678 |
ILabelable lLayer = (ILabelable) lyr; |
|
677 | 679 |
|
680 |
lLayer.drawLabels(null, g, viewPort, cancel, scale); |
|
681 |
} |
|
678 | 682 |
} |
679 | 683 |
if (getVirtualLayers() != null) { |
680 | 684 |
getVirtualLayers().print( g, viewPort, cancel,scale, properties); |
Also available in: Unified diff