DGP - 1st printing
[debian/openrocket] / src / net / sf / openrocket / gui / print / PaperSize.java
1 /*
2  * PaperSize.java
3  */
4 package net.sf.openrocket.gui.print;
5
6 import com.itextpdf.text.PageSize;
7 import com.itextpdf.text.Rectangle;
8 import com.itextpdf.text.RectangleReadOnly;
9
10 import javax.print.attribute.standard.MediaSizeName;
11 import java.util.HashMap;
12 import java.util.Map;
13
14 /**
15  * Various mappings of paper sizes.
16  */
17 public class PaperSize {
18     
19     private static Map<String, MediaSizeName> paperNames = new HashMap<String, MediaSizeName>();
20     private static Map<MediaSizeName, Rectangle> paperItext = new HashMap<MediaSizeName, Rectangle>();
21     
22     static {
23         populateNameMap();
24         populateITextSizeMap();
25     }
26     private PaperSize() {}
27     
28     public static MediaSizeName convert(String name) {
29         return paperNames.get(name);
30     }
31
32     public static Rectangle convert(MediaSizeName name) {
33         return paperItext.get(name);
34     }
35     
36     private static void populateNameMap() {
37         paperNames.put("iso-a0", MediaSizeName.ISO_A0);
38         paperNames.put("iso-a1", MediaSizeName.ISO_A1);
39         paperNames.put("iso-a2", MediaSizeName.ISO_A2);
40         paperNames.put("iso-a3", MediaSizeName.ISO_A3);
41         paperNames.put("iso-a4", MediaSizeName.ISO_A4);
42         paperNames.put("iso-a5", MediaSizeName.ISO_A5);
43         paperNames.put("iso-a6", MediaSizeName.ISO_A6);
44         paperNames.put("iso-a7", MediaSizeName.ISO_A7);
45         paperNames.put("iso-a8", MediaSizeName.ISO_A8);
46         paperNames.put("iso-a9", MediaSizeName.ISO_A9);
47         paperNames.put("iso-a10", MediaSizeName.ISO_A10);
48         paperNames.put("iso-b0", MediaSizeName.ISO_B0);
49         paperNames.put("iso-b1", MediaSizeName.ISO_B1);
50         paperNames.put("iso-b2", MediaSizeName.ISO_B2);
51         paperNames.put("iso-b3", MediaSizeName.ISO_B3);
52         paperNames.put("iso-b4", MediaSizeName.ISO_B4);
53         paperNames.put("iso-b5", MediaSizeName.ISO_B5);
54         paperNames.put("iso-b6", MediaSizeName.ISO_B6);
55         paperNames.put("iso-b7", MediaSizeName.ISO_B7);
56         paperNames.put("iso-b8", MediaSizeName.ISO_B8);
57         paperNames.put("iso-b9", MediaSizeName.ISO_B9);
58         paperNames.put("iso-b10", MediaSizeName.ISO_B10);
59         paperNames.put("na-letter", MediaSizeName.NA_LETTER);
60         paperNames.put("na-legal", MediaSizeName.NA_LEGAL);
61         paperNames.put("na-8x10", MediaSizeName.NA_8X10);
62         paperNames.put("na-5x7", MediaSizeName.NA_5X7);
63         paperNames.put("executive", MediaSizeName.EXECUTIVE);
64         paperNames.put("folio", MediaSizeName.FOLIO);
65         paperNames.put("invoice", MediaSizeName.INVOICE);
66         paperNames.put("tabloid", MediaSizeName.TABLOID);
67         paperNames.put("ledger", MediaSizeName.LEDGER);
68         paperNames.put("quarto", MediaSizeName.QUARTO);
69         paperNames.put("iso-c0", MediaSizeName.ISO_C0);
70         paperNames.put("iso-c1", MediaSizeName.ISO_C1);
71         paperNames.put("iso-c2", MediaSizeName.ISO_C2);
72         paperNames.put("iso-c3", MediaSizeName.ISO_C3);
73         paperNames.put("iso-c4", MediaSizeName.ISO_C4);
74         paperNames.put("iso-c5", MediaSizeName.ISO_C5);
75         paperNames.put("iso-c6", MediaSizeName.ISO_C6);
76         paperNames.put("iso-designated-long", MediaSizeName.ISO_DESIGNATED_LONG);
77         paperNames.put("jis-b0", MediaSizeName.JIS_B0);
78         paperNames.put("jis-b1", MediaSizeName.JIS_B1);
79         paperNames.put("jis-b2", MediaSizeName.JIS_B2);
80         paperNames.put("jis-b3", MediaSizeName.JIS_B3);
81         paperNames.put("jis-b4", MediaSizeName.JIS_B4);
82         paperNames.put("jis-b5", MediaSizeName.JIS_B5);
83         paperNames.put("jis-b6", MediaSizeName.JIS_B6);
84         paperNames.put("jis-b7", MediaSizeName.JIS_B7);
85         paperNames.put("jis-b8", MediaSizeName.JIS_B8);
86         paperNames.put("jis-b9", MediaSizeName.JIS_B9);
87         paperNames.put("jis-b10", MediaSizeName.JIS_B10);
88         paperNames.put("a", MediaSizeName.A);
89         paperNames.put("b", MediaSizeName.B);
90         paperNames.put("c", MediaSizeName.C);
91         paperNames.put("d", MediaSizeName.D);
92         paperNames.put("e", MediaSizeName.E);
93     }
94
95     private static void populateITextSizeMap() {
96         paperItext.put(MediaSizeName.ISO_A0, PageSize.A0);
97         paperItext.put(MediaSizeName.ISO_A1, PageSize.A1);
98         paperItext.put(MediaSizeName.ISO_A2, PageSize.A2);
99         paperItext.put(MediaSizeName.ISO_A3, PageSize.A3);
100         paperItext.put(MediaSizeName.ISO_A4, PageSize.A4);
101         paperItext.put(MediaSizeName.ISO_A5, PageSize.A5);
102         paperItext.put(MediaSizeName.ISO_A6, PageSize.A6);
103         paperItext.put(MediaSizeName.ISO_A7, PageSize.A7);
104         paperItext.put(MediaSizeName.ISO_A8, PageSize.A8);
105         paperItext.put(MediaSizeName.ISO_A9, PageSize.A9);
106         paperItext.put(MediaSizeName.ISO_A10, PageSize.A10);
107         paperItext.put(MediaSizeName.ISO_B0, PageSize.B0);
108         paperItext.put(MediaSizeName.ISO_B1, PageSize.B1);
109         paperItext.put(MediaSizeName.ISO_B2, PageSize.B2);
110         paperItext.put(MediaSizeName.ISO_B3, PageSize.B3);
111         paperItext.put(MediaSizeName.ISO_B4, PageSize.B4);
112         paperItext.put(MediaSizeName.ISO_B5, PageSize.B5);
113         paperItext.put(MediaSizeName.ISO_B6, PageSize.B6);
114         paperItext.put(MediaSizeName.ISO_B7, PageSize.B7);
115         paperItext.put(MediaSizeName.ISO_B8, PageSize.B8);
116         paperItext.put(MediaSizeName.ISO_B9, PageSize.B9);
117         paperItext.put(MediaSizeName.ISO_B10, PageSize.B10);
118         paperItext.put(MediaSizeName.NA_LETTER, PageSize.LETTER);
119         paperItext.put(MediaSizeName.NA_LEGAL, PageSize.LEGAL);
120         paperItext.put(MediaSizeName.EXECUTIVE, PageSize.EXECUTIVE);
121         paperItext.put(MediaSizeName.A, PageSize.LETTER);
122         paperItext.put(MediaSizeName.B, PageSize._11X17);
123         paperItext.put(MediaSizeName.C, new RectangleReadOnly(PrintUnit.INCHES.toPoints(17), PrintUnit.INCHES.toPoints(22)));
124         paperItext.put(MediaSizeName.D, new RectangleReadOnly(PrintUnit.INCHES.toPoints(22), PrintUnit.INCHES.toPoints(34)));
125         paperItext.put(MediaSizeName.E, new RectangleReadOnly(PrintUnit.INCHES.toPoints(34), PrintUnit.INCHES.toPoints(44)));
126     }
127     
128 }