Revision 18621 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
FLayers.java | ||
---|---|---|
53 | 53 |
import java.util.Vector; |
54 | 54 |
|
55 | 55 |
import javax.print.attribute.PrintRequestAttributeSet; |
56 |
import javax.print.attribute.standard.PrintQuality; |
|
56 | 57 |
import javax.swing.ImageIcon; |
57 | 58 |
|
58 | 59 |
import org.apache.log4j.Logger; |
... | ... | |
473 | 474 |
public ComposedLayer draw(BufferedImage image, Graphics2D g, ViewPort viewPort, |
474 | 475 |
Cancellable cancel,double scale, ComposedLayer group) throws ReadDriverException { |
475 | 476 |
boolean bNeedRecalculateCache = false; |
476 |
|
|
477 |
double dpi = MapContext.getScreenDPI(); |
|
477 | 478 |
///// CHEMA ComposedLayer |
478 | 479 |
long tg1 = System.currentTimeMillis(); |
479 | 480 |
///// CHEMA ComposedLayer |
... | ... | |
642 | 643 |
///// CHEMA ComposedLayer |
643 | 644 |
|
644 | 645 |
|
645 |
((ILabelable) lyr).drawLabels(image, g, viewPort, cancel, scale); |
|
646 |
((ILabelable) lyr).drawLabels(image, g, viewPort, cancel, scale, dpi);
|
|
646 | 647 |
} |
647 | 648 |
bNeedRecalculateCache = true; |
648 | 649 |
} |
... | ... | |
720 | 721 |
*/ |
721 | 722 |
public ComposedLayer print(Graphics2D g, ViewPort viewPort, Cancellable cancel, double scale, PrintRequestAttributeSet properties, ComposedLayer group) |
722 | 723 |
throws ReadDriverException { |
724 |
double dpi = 72; |
|
723 | 725 |
|
726 |
PrintQuality resolution=(PrintQuality)properties.get(PrintQuality.class); |
|
727 |
if (resolution.equals(PrintQuality.NORMAL)){ |
|
728 |
dpi = 300; |
|
729 |
} else if (resolution.equals(PrintQuality.HIGH)){ |
|
730 |
dpi = 600; |
|
731 |
} else if (resolution.equals(PrintQuality.DRAFT)){ |
|
732 |
dpi = 72; |
|
733 |
} |
|
734 |
|
|
724 | 735 |
// TODO: A la hora de imprimir, isWithinScale falla, porque est? |
725 | 736 |
// calculando la escala en pantalla, no para el layout. |
726 | 737 |
// Revisar esto. |
... | ... | |
760 | 771 |
if (lyr instanceof ILabelable && ((ILabelable) lyr).isLabeled()) { |
761 | 772 |
ILabelable lLayer = (ILabelable) lyr; |
762 | 773 |
|
763 |
lLayer.drawLabels(null, g, viewPort, cancel, scale); |
|
774 |
lLayer.drawLabels(null, g, viewPort, cancel, scale, dpi);
|
|
764 | 775 |
} |
765 | 776 |
} |
766 | 777 |
} else { |
... | ... | |
784 | 795 |
if (lyr instanceof ILabelable && ((ILabelable) lyr).isLabeled()) { |
785 | 796 |
ILabelable lLayer = (ILabelable) lyr; |
786 | 797 |
|
787 |
lLayer.drawLabels(null, g, viewPort, cancel, scale); |
|
798 |
lLayer.drawLabels(null, g, viewPort, cancel, scale, dpi);
|
|
788 | 799 |
} |
789 | 800 |
} |
790 | 801 |
} else { |
Also available in: Unified diff