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 | 40435 | jjdelcerro | 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 | } |