Revision 11101 branches/v10/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java

View differences:

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