1 /* Copyright © 2000 Free Software Foundation
3 This file is part of libgcj.
5 This software is copyrighted work licensed under the terms of the
6 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
12 * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
14 public class RenderingHints implements
19 static abstract class Key
23 protected Key(int privateKey)
28 public abstract boolean isCompatibleValue(Object value);
30 protected final int intKey()
35 public final int hashCode()
37 return System.identityHashCode(this);
40 public final boolean equals(Object other)
42 return (this == other);
46 private static class KeyImpl extends Key
51 KeyImpl(int privateKey, String description,
52 Object v1, Object v2, Object v3)
55 this.description = description;
61 public boolean isCompatibleValue(Object value)
63 return (value == v1) || (value == v2) || (value == v3);
66 public String toString()
73 //java.util.HashMap hintMap;
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";
82 KEY_ANTIALIASING = new KeyImpl(1, "Global antialiasing enable key",
84 VALUE_ANTIALIAS_DEFAULT,
85 VALUE_ANTIALIAS_DEFAULT);
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";
96 KEY_RENDERING = new KeyImpl(2, "Global rendering quality key",
99 VALUE_RENDER_DEFAULT);
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";
110 KEY_DITHERING = new KeyImpl(3, "Dithering quality key",
111 VALUE_DITHER_DISABLE,
113 VALUE_DITHER_DEFAULT);
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";
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);
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";
138 KEY_FRACTIONALMETRICS = new KeyImpl(5, "Fractional metrics enable key",
139 VALUE_FRACTIONALMETRICS_OFF,
140 VALUE_FRACTIONALMETRICS_ON,
141 VALUE_FRACTIONALMETRICS_DEFAULT);
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";
152 KEY_INTERPOLATION = new KeyImpl(6, "Image interpolation method key",
153 VALUE_INTERPOLATION_NEAREST_NEIGHBOR,
154 VALUE_INTERPOLATION_BILINEAR,
155 VALUE_INTERPOLATION_BICUBIC);
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";
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);
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";
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);
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";
194 KEY_STROKE_CONTROL = new KeyImpl(9, "Stroke normalization control key",
195 VALUE_STROKE_DEFAULT,
196 VALUE_STROKE_NORMALIZE,
200 //public RenderingHints(Map init);
202 public RenderingHints(Key key, Object value)
204 throw new UnsupportedOperationException("FIXME, not implemented yet");
209 throw new UnsupportedOperationException("FIXME, not implemented yet");
212 public boolean isEmpty()
214 throw new UnsupportedOperationException("FIXME, not implemented yet");
217 public boolean containsKey(Object key)
219 throw new UnsupportedOperationException("FIXME, not implemented yet");
222 public boolean containsValue(Object value)
224 throw new UnsupportedOperationException("FIXME, not implemented yet");
227 public Object get(Object key)
229 throw new UnsupportedOperationException("FIXME, not implemented yet");
232 public Object put(Object key, Object value)
234 throw new UnsupportedOperationException("FIXME, not implemented yet");
237 public void add(RenderingHints hints)
239 throw new UnsupportedOperationException("FIXME, not implemented yet");
244 throw new UnsupportedOperationException("FIXME, not implemented yet");
247 public Object remove(Object key)
249 throw new UnsupportedOperationException("FIXME, not implemented yet");
253 public void putAll(Map m)
255 throw new UnsupportedOperationException("FIXME, not implemented yet");
262 throw new UnsupportedOperationException("FIXME, not implemented yet");
267 public Collection values()
269 throw new UnsupportedOperationException("FIXME, not implemented yet");
274 public Set entrySet()
276 throw new UnsupportedOperationException("FIXME, not implemented yet");
280 public boolean equals(Object o)
282 throw new UnsupportedOperationException("FIXME, not implemented yet");
285 public int hashCode()
287 throw new UnsupportedOperationException("FIXME, not implemented yet");
290 public Object clone()
292 throw new UnsupportedOperationException("FIXME, not implemented yet");
295 public String toString()
297 throw new UnsupportedOperationException("FIXME, not implemented yet");