OSDN Git Service

2994a8bba76b129fa7dc8e05677aa47a09143c43
[pf3gnuchains/gcc-fork.git] / libjava / java / awt / RenderingHints.java
1 /* Copyright © 2000  Free Software Foundation
2
3    This file is part of libgcj.
4
5 This software is copyrighted work licensed under the terms of the
6 Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
7 details.  */
8
9 package java.awt;
10
11 /**
12  * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
13  */
14 public class RenderingHints implements
15     //java.util.Map,
16     Cloneable
17 {
18
19   static abstract class Key
20   {
21     private int intKey;
22
23     protected Key(int privateKey)
24     {
25       intKey = privateKey;
26     }
27
28     public abstract boolean isCompatibleValue(Object value);
29     
30     protected final int intKey() 
31     {
32       return intKey;
33     }    
34
35     public final int hashCode() 
36     {
37       return System.identityHashCode(this);
38     }
39     
40     public final boolean equals(Object other) 
41     {
42       return (this == other);
43     }
44   }
45
46   private static class KeyImpl extends Key
47   {
48     String description;
49     Object v1, v2, v3;
50
51     KeyImpl(int privateKey, String description,
52             Object v1, Object v2, Object v3)
53     {
54       super(privateKey);
55       this.description = description;
56       this.v1 = v1;
57       this.v2 = v2;
58       this.v3 = v3;
59     }
60     
61     public boolean isCompatibleValue(Object value) 
62     {
63       return (value == v1) || (value == v2) || (value == v3);
64     }
65
66     public String toString() 
67     {
68       return description;
69     }
70   }
71
72
73   //java.util.HashMap hintMap;
74
75   public static final Key KEY_ANTIALIASING;
76   public static final Object
77     VALUE_ANTIALIAS_ON = "Antialiased rendering mode",
78     VALUE_ANTIALIAS_DEFAULT = "Default antialiasing rendering mode";
79
80   static 
81   {
82     KEY_ANTIALIASING = new KeyImpl(1, "Global antialiasing enable key",
83                                    VALUE_ANTIALIAS_ON,
84                                    VALUE_ANTIALIAS_DEFAULT,
85                                    VALUE_ANTIALIAS_DEFAULT);
86   }
87
88   public static final Key KEY_RENDERING;
89   public static final Object 
90     VALUE_RENDER_SPEED = "Fastest rendering methods",
91     VALUE_RENDER_QUALITY = "Highest quality rendering methods",
92     VALUE_RENDER_DEFAULT = "Default rendering methods";
93
94   static
95   {
96     KEY_RENDERING = new KeyImpl(2, "Global rendering quality key",
97                                 VALUE_RENDER_SPEED,
98                                 VALUE_RENDER_QUALITY,
99                                 VALUE_RENDER_DEFAULT);
100   }
101   
102   public static final Key KEY_DITHERING;
103   public static final Object
104     VALUE_DITHER_DISABLE = "Nondithered rendering mode",
105     VALUE_DITHER_ENABLE = "Dithered rendering mode",
106     VALUE_DITHER_DEFAULT = "Default dithering mode";
107
108   static
109   {
110     KEY_DITHERING = new KeyImpl(3, "Dithering quality key",
111                                 VALUE_DITHER_DISABLE,
112                                 VALUE_DITHER_ENABLE,
113                                 VALUE_DITHER_DEFAULT);
114   }
115   
116   public static final Key KEY_TEXT_ANTIALIASING;
117   public static final Object
118     VALUE_TEXT_ANTIALIAS_ON = "Antialiased text mode",
119     VALUE_TEXT_ANTIALIAS_OFF = "Nonantialiased text mode",
120     VALUE_TEXT_ANTIALIAS_DEFAULT = "Default antialiasing text mode";
121
122   static 
123   {
124     KEY_TEXT_ANTIALIASING = new KeyImpl(4, "Text-specific antialiasing enable key",
125                                         VALUE_TEXT_ANTIALIAS_ON,
126                                         VALUE_TEXT_ANTIALIAS_OFF,
127                                         VALUE_TEXT_ANTIALIAS_DEFAULT);
128   }
129   
130   public static final Key KEY_FRACTIONALMETRICS;
131   public static final Object
132     VALUE_FRACTIONALMETRICS_OFF = "Integer text metrics mode",
133     VALUE_FRACTIONALMETRICS_ON = "Fractional text metrics mode",
134     VALUE_FRACTIONALMETRICS_DEFAULT = "Default fractional text metrics mode";
135
136   static 
137   {
138     KEY_FRACTIONALMETRICS = new KeyImpl(5, "Fractional metrics enable key",
139                                         VALUE_FRACTIONALMETRICS_OFF,
140                                         VALUE_FRACTIONALMETRICS_ON,
141                                         VALUE_FRACTIONALMETRICS_DEFAULT);
142   }
143   
144   public static final Key KEY_INTERPOLATION;
145   public static final Object
146     VALUE_INTERPOLATION_NEAREST_NEIGHBOR = "Nearest Neighbor image interpolation mode",
147     VALUE_INTERPOLATION_BILINEAR = "Bilinear image interpolation mode",
148     VALUE_INTERPOLATION_BICUBIC = "Bicubic image interpolation mode";
149
150   static 
151   {
152     KEY_INTERPOLATION = new KeyImpl(6, "Image interpolation method key",
153                                     VALUE_INTERPOLATION_NEAREST_NEIGHBOR,
154                                     VALUE_INTERPOLATION_BILINEAR,
155                                     VALUE_INTERPOLATION_BICUBIC);
156   }
157   
158   public static final Key KEY_ALPHA_INTERPOLATION;
159   public static final Object
160     VALUE_ALPHA_INTERPOLATION_SPEED = "Fastest alpha blending methods",
161     VALUE_ALPHA_INTERPOLATION_QUALITY = "Highest quality alpha blending methods",
162     VALUE_ALPHA_INTERPOLATION_DEFAULT = "Default alpha blending methods";
163
164   static
165   {
166     KEY_ALPHA_INTERPOLATION = new KeyImpl(7, "Alpha blending interpolation method key",
167                                           VALUE_ALPHA_INTERPOLATION_SPEED,
168                                           VALUE_ALPHA_INTERPOLATION_QUALITY,
169                                           VALUE_ALPHA_INTERPOLATION_DEFAULT);
170   }
171   
172   public static final Key KEY_COLOR_RENDERING;
173   public static final Object
174     VALUE_COLOR_RENDER_SPEED = "Fastest color rendering mode",
175     VALUE_COLOR_RENDER_QUALITY = "Highest quality color rendering mode",
176     VALUE_COLOR_RENDER_DEFAULT = "Default color rendering mode";
177
178   static 
179   {
180     KEY_COLOR_RENDERING = new KeyImpl(8, "Color rendering quality key",
181                                       VALUE_COLOR_RENDER_SPEED,
182                                       VALUE_COLOR_RENDER_QUALITY,
183                                       VALUE_COLOR_RENDER_DEFAULT);
184   }
185
186   public static final Key KEY_STROKE_CONTROL;
187   public static final Object
188     VALUE_STROKE_DEFAULT = "Default stroke control mode",
189     VALUE_STROKE_NORMALIZE = "Normalize stroke control mode",
190     VALUE_STROKE_PURE = "Pure stroke control mode";
191
192   static 
193   {
194     KEY_STROKE_CONTROL = new KeyImpl(9, "Stroke normalization control key",
195                                      VALUE_STROKE_DEFAULT,
196                                      VALUE_STROKE_NORMALIZE,
197                                      VALUE_STROKE_PURE);
198   }
199   
200   //public RenderingHints(Map init);
201
202   public RenderingHints(Key key, Object value)
203   {
204     throw new UnsupportedOperationException("FIXME, not implemented yet");
205   }
206
207   public int size() 
208   {
209     throw new UnsupportedOperationException("FIXME, not implemented yet");
210   }
211   
212   public boolean isEmpty() 
213   {
214     throw new UnsupportedOperationException("FIXME, not implemented yet");
215   }
216
217   public boolean containsKey(Object key) 
218   {      
219     throw new UnsupportedOperationException("FIXME, not implemented yet");
220   }
221   
222   public boolean containsValue(Object value) 
223   {
224     throw new UnsupportedOperationException("FIXME, not implemented yet");
225   }
226   
227   public Object get(Object key)
228   {
229     throw new UnsupportedOperationException("FIXME, not implemented yet");
230   }
231   
232   public Object put(Object key, Object value) 
233   {
234     throw new UnsupportedOperationException("FIXME, not implemented yet");
235   }
236   
237   public void add(RenderingHints hints) 
238   {
239     throw new UnsupportedOperationException("FIXME, not implemented yet");
240   }
241
242   public void clear() 
243   {
244     throw new UnsupportedOperationException("FIXME, not implemented yet");
245   }
246   
247   public Object remove(Object key) 
248   {
249     throw new UnsupportedOperationException("FIXME, not implemented yet");
250   }
251   
252   /*
253   public void putAll(Map m) 
254   {
255     throw new UnsupportedOperationException("FIXME, not implemented yet");
256   }
257   */
258   
259   /*
260   public Set keySet() 
261   {
262     throw new UnsupportedOperationException("FIXME, not implemented yet");
263   }
264   */
265   
266   /*
267   public Collection values() 
268   {
269     throw new UnsupportedOperationException("FIXME, not implemented yet");
270   }
271   */
272   
273   /*
274   public Set entrySet() 
275   {
276     throw new UnsupportedOperationException("FIXME, not implemented yet");
277   }
278   */
279   
280   public boolean equals(Object o) 
281   {
282     throw new UnsupportedOperationException("FIXME, not implemented yet");
283   }
284   
285   public int hashCode() 
286   {
287     throw new UnsupportedOperationException("FIXME, not implemented yet");
288   }
289   
290   public Object clone() 
291   {
292     throw new UnsupportedOperationException("FIXME, not implemented yet");
293   }
294   
295   public String toString() 
296   {
297     throw new UnsupportedOperationException("FIXME, not implemented yet");
298   }
299 }