Revision 11101 branches/v10/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
FLayers.java | ||
---|---|---|
431 | 431 |
///// CHEMA ComposedLayer |
432 | 432 |
long tg1 = System.currentTimeMillis(); |
433 | 433 |
ComposedLayer group = null; |
434 |
ArrayList pendingEvents= new ArrayList();
|
|
434 |
ArrayList pendingEvents= new ArrayList(); |
|
435 | 435 |
boolean fireAfterDrawEvent = true; |
436 | 436 |
///// CHEMA ComposedLayer |
437 | 437 |
|
438 |
|
|
439 |
|
|
438 |
|
|
439 |
|
|
440 | 440 |
// while (iter.hasNext()) |
441 | 441 |
// { |
442 | 442 |
for (int i=0; i < layers.size(); i++) { |
... | ... | |
446 | 446 |
FLayer lyr = (FLayer) layers.get(i); |
447 | 447 |
|
448 | 448 |
|
449 |
///// CHEMA ComposedLayer
|
|
449 |
///// CHEMA ComposedLayer |
|
450 | 450 |
fireAfterDrawEvent = true; |
451 | 451 |
///// CHEMA ComposedLayer |
452 |
|
|
453 |
|
|
452 |
|
|
453 |
|
|
454 | 454 |
/* if (lyr instanceof FLyrVect && ((FLyrVect)lyr).isBroken()){ |
455 | 455 |
continue; |
456 | 456 |
} |
... | ... | |
497 | 497 |
group = null; |
498 | 498 |
} |
499 | 499 |
///// CHEMA ComposedLayer |
500 |
|
|
501 | 500 |
|
501 |
|
|
502 | 502 |
// Copiamos la imagen actual |
503 | 503 |
BufferedImage buff = new BufferedImage(image.getWidth(), image.getHeight(), image.getType()); |
504 | 504 |
WritableRaster w = buff.getRaster(); |
... | ... | |
516 | 516 |
// prepareDrawing de FMap. |
517 | 517 |
if (lyr.isDirty()) |
518 | 518 |
{ |
519 |
|
|
520 |
|
|
519 |
|
|
520 |
|
|
521 | 521 |
///// CHEMA ComposedLayer |
522 | 522 |
// Checks for draw group (ComposedLayer) |
523 | 523 |
if (group != null) { |
... | ... | |
528 | 528 |
group = null; |
529 | 529 |
} |
530 | 530 |
///// CHEMA ComposedLayer |
531 |
|
|
532 | 531 |
|
532 |
|
|
533 | 533 |
g.drawImage(lyr.getCacheImageDrawnLayers(), 0, 0, null); |
534 | 534 |
System.err.println("Pinto con acelerado lo que hab?a antes de " + lyr.getName()); |
535 | 535 |
} |
... | ... | |
539 | 539 |
// Si la capa est? "sucia" o alguna de las de abajo est? sucia |
540 | 540 |
// hay que volver a dibujar. |
541 | 541 |
if (lyr.isDirty() || bNeedRecalculateCache) |
542 |
{
|
|
542 |
{ |
|
543 | 543 |
if (!lyr.getFLayerStatus().isDriverLoaded()) |
544 | 544 |
{ |
545 | 545 |
continue; |
546 | 546 |
} |
547 |
|
|
547 |
|
|
548 | 548 |
///// CHEMA ComposedLayer |
549 | 549 |
//lyr.draw(image, g, viewPort, cancel,scale); |
550 | 550 |
//bNeedRecalculateCache = true; |
551 | 551 |
//System.err.println("Pinto sin acelerado " + lyr.getName()); |
552 | 552 |
///// CHEMA ComposedLayer |
553 |
|
|
553 |
|
|
554 | 554 |
///// CHEMA ComposedLayer |
555 | 555 |
// Checks for draw group (ComposedLayer) |
556 | 556 |
if (group != null) { |
... | ... | |
567 | 567 |
|
568 | 568 |
// gets a new group instance |
569 | 569 |
group = lyr.newComposedLayer(); |
570 |
// if layer hasn't group, draws it inmediately
|
|
570 |
// if layer hasn't group, draws it inmediately |
|
571 | 571 |
if (group == null) { |
572 | 572 |
lyr.draw(image, g, viewPort, cancel,scale); |
573 | 573 |
} else { |
... | ... | |
580 | 580 |
} else { |
581 | 581 |
// gets a new group instance |
582 | 582 |
group = lyr.newComposedLayer(); |
583 |
// if layer hasn't group, draws it inmediately
|
|
583 |
// if layer hasn't group, draws it inmediately |
|
584 | 584 |
if (group == null) { |
585 | 585 |
lyr.draw(image, g, viewPort, cancel,scale); |
586 | 586 |
} else { |
... | ... | |
615 | 615 |
fmap.fireLayerDrawingEvent(afterEvent); |
616 | 616 |
|
617 | 617 |
} |
618 |
///// CHEMA ComposedLayer
|
|
618 |
///// CHEMA ComposedLayer |
|
619 | 619 |
if (group != null) { |
620 |
//si tenemos un grupo pendiente de pintar, pintamos
|
|
620 |
//si tenemos un grupo pendiente de pintar, pintamos |
|
621 | 621 |
group.draw(image, g, viewPort, cancel,scale); |
622 | 622 |
fireLayerDrawingEvents(pendingEvents); |
623 | 623 |
|
624 | 624 |
} |
625 |
///// CHEMA ComposedLayer
|
|
625 |
///// CHEMA ComposedLayer |
|
626 | 626 |
if (getVirtualLayers() != null) { |
627 | 627 |
getVirtualLayers().draw(image, g, viewPort, cancel,scale); |
628 | 628 |
} |
... | ... | |
632 | 632 |
// System.err.println(e.getMessage()); |
633 | 633 |
// } |
634 | 634 |
} |
635 |
|
|
635 |
|
|
636 | 636 |
private void fireLayerDrawingEvents(Collection events) { |
637 | 637 |
Iterator iter = events.iterator(); |
638 | 638 |
LayerDrawEvent afterEvent; |
... | ... | |
642 | 642 |
fmap.fireLayerDrawingEvent(afterEvent); |
643 | 643 |
} |
644 | 644 |
} |
645 |
|
|
645 |
|
|
646 | 646 |
/** |
647 | 647 |
* @see com.iver.cit.gvsig.fmap.layers.FLayer#print(java.awt.Graphics2D, |
648 | 648 |
* com.iver.cit.gvsig.fmap.ViewPort, |
... | ... | |
788 | 788 |
xml.putProperty("LayerNames", s); |
789 | 789 |
|
790 | 790 |
for (int i = 0; i < layers.size(); i++) { |
791 |
try{ |
|
791 | 792 |
xml.addChild(((FLayer) layers.get(i)).getXMLEntity()); |
793 |
}catch (XMLException e) { |
|
794 |
e.printStackTrace(); |
|
795 |
} |
|
792 | 796 |
} |
793 | 797 |
|
794 | 798 |
return xml; |
Also available in: Unified diff