Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.compat / org.gvsig.compat.se / src / main / java / org / gvsig / compat / se / lang / SEGraphUtils.java @ 40435

History | View | Annotate | Download (2.44 KB)

1
package org.gvsig.compat.se.lang;
2

    
3
import java.awt.Font;
4
import java.awt.Graphics2D;
5
import java.awt.RenderingHints;
6
import java.awt.Toolkit;
7
import java.awt.image.BufferedImage;
8
import java.awt.image.WritableRaster;
9
import java.util.prefs.Preferences;
10

    
11
import org.gvsig.compat.lang.GraphicsUtils;
12
import org.gvsig.compat.print.PrintAttributes;
13
import org.gvsig.compat.se.print.SePrintAttributes;
14

    
15
/**
16
 * JSE (Desktop Java) implementation of {@link GraphicsUtils}
17
 * 
18
 * @author Juan Lucas Dominguez Rubio jldominguez at prodevelop.es
19
 * 
20
 * @see GraphicsUtils
21
 *
22
 */
23
public class SEGraphUtils implements GraphicsUtils{
24

    
25
        public BufferedImage copyBufferedImage(BufferedImage img) {
26
                
27
                BufferedImage image = new BufferedImage(img.getWidth(), img.getHeight(), img.getType());
28
                WritableRaster w = image.getRaster();
29
                img.copyData(w);
30
                return image;
31
        }
32

    
33
        public BufferedImage createBufferedImage(int w, int h, int type) {
34
                BufferedImage res = new BufferedImage(
35
                                w,
36
                                h,
37
                                type);
38
                return res;
39
        }
40

    
41
        public PrintAttributes createPrintAttributes() {
42
                return new SePrintAttributes();
43
        }
44

    
45
        public Font deriveFont(Font srcfont, float newheight) {
46
                return srcfont.deriveFont(newheight);
47
        }
48

    
49
        /**
50
         * Tries to use DPI value from gvSIG preferences. If this does not exist, gets
51
         * value from Java Toolkit. 
52
         */
53
        public int getScreenDPI() {
54
                
55
                Preferences prefsResolution = Preferences.userRoot().node("gvsig.configuration.screen");
56
                Toolkit kit = Toolkit.getDefaultToolkit();
57
                int dpi = prefsResolution.getInt("dpi", kit.getScreenResolution());
58
                return dpi;
59
        }
60

    
61
        public void translate(Graphics2D g, double x, double y) {
62
                g.translate(x, y);
63
                
64
        }
65

    
66
        public void setRenderingHintsForDrawing(Graphics2D g) {
67
                
68
                RenderingHints renderHints = new RenderingHints(
69
                                RenderingHints.KEY_ANTIALIASING,
70
                                RenderingHints.VALUE_ANTIALIAS_ON);
71
                renderHints.put(RenderingHints.KEY_RENDERING,
72
                                RenderingHints.VALUE_RENDER_QUALITY);
73
                renderHints.put(RenderingHints.KEY_TEXT_ANTIALIASING,
74
                                RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
75
                g.setRenderingHints(renderHints);
76
                
77
        }
78

    
79
        public void setRenderingHintsForPrinting(Graphics2D g) {
80
                
81
                RenderingHints renderHints = new RenderingHints(
82
                                RenderingHints.KEY_ANTIALIASING,
83
                                RenderingHints.VALUE_ANTIALIAS_ON);
84
                renderHints.put(RenderingHints.KEY_RENDERING,
85
                                RenderingHints.VALUE_RENDER_QUALITY);
86
                g.setRenderingHints(renderHints);
87
                
88
        }
89

    
90
}