📄 renderinghints.java
字号:
* <td>{@link #VALUE_ALPHA_INTERPOLATION_DEFAULT}</td> * <td>Use the default setting.</td> * </tr> * </table> */ public static final Key KEY_ALPHA_INTERPOLATION; /** * This value is for use with the {@link #KEY_ALPHA_INTERPOLATION} key. */ public static final Object VALUE_ALPHA_INTERPOLATION_SPEED = "Fastest alpha blending methods"; /** * This value is for use with the {@link #KEY_ALPHA_INTERPOLATION} key. */ public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY = "Highest quality alpha blending methods"; /** * This value is for use with the {@link #KEY_ALPHA_INTERPOLATION} key. */ public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT = "Default alpha blending methods"; /** * A key for the 'color rendering' hint. Permitted values are: * <p> * <table> * <tr> * <td>{@link #VALUE_COLOR_RENDER_SPEED}</td> * <td>Prefer speed over quality.</td> * </tr> * <tr> * <td>{@link #VALUE_COLOR_RENDER_QUALITY}</td> * <td>Prefer quality over speed.</td> * </tr> * <tr> * <td>{@link #VALUE_COLOR_RENDER_DEFAULT}</td> * <td>Use the default setting.</td> * </tr> * </table> */ public static final Key KEY_COLOR_RENDERING; /** * This value is for use with the {@link #KEY_COLOR_RENDERING} key. */ public static final Object VALUE_COLOR_RENDER_SPEED = "Fastest color rendering mode"; /** * This value is for use with the {@link #KEY_COLOR_RENDERING} key. */ public static final Object VALUE_COLOR_RENDER_QUALITY = "Highest quality color rendering mode"; /** * This value is for use with the {@link #KEY_COLOR_RENDERING} key. */ public static final Object VALUE_COLOR_RENDER_DEFAULT = "Default color rendering mode"; /** * A key for the 'stroke control' hint. Permitted values are: * <p> * <table> * <tr> * <td>{@link #VALUE_STROKE_DEFAULT}</td> * <td>Use the default setting.</td> * </tr> * <tr> * <td>{@link #VALUE_STROKE_NORMALIZE}</td> * <td>XXX</td> * </tr> * <tr> * <td>{@link #VALUE_STROKE_PURE}</td> * <td>XXX</td> * </tr> * </table> */ public static final Key KEY_STROKE_CONTROL; /** * This value is for use with the {@link #KEY_STROKE_CONTROL} key. */ public static final Object VALUE_STROKE_DEFAULT = "Default stroke normalization"; /** * This value is for use with the {@link #KEY_STROKE_CONTROL} key. */ public static final Object VALUE_STROKE_NORMALIZE = "Normalize strokes for consistent rendering"; /** * This value is for use with the {@link #KEY_STROKE_CONTROL} key. */ public static final Object VALUE_STROKE_PURE = "Pure stroke conversion for accurate paths"; static { KEY_ANTIALIASING = new KeyImpl(1, "Global antialiasing enable key", VALUE_ANTIALIAS_ON, VALUE_ANTIALIAS_OFF, VALUE_ANTIALIAS_DEFAULT); KEY_RENDERING = new KeyImpl(2, "Global rendering quality key", VALUE_RENDER_SPEED, VALUE_RENDER_QUALITY, VALUE_RENDER_DEFAULT); KEY_DITHERING = new KeyImpl(3, "Dithering quality key", VALUE_DITHER_DISABLE, VALUE_DITHER_ENABLE, VALUE_DITHER_DEFAULT); KEY_TEXT_ANTIALIASING = new KeyImpl(4, "Text-specific antialiasing enable key", VALUE_TEXT_ANTIALIAS_ON, VALUE_TEXT_ANTIALIAS_OFF, VALUE_TEXT_ANTIALIAS_DEFAULT); KEY_FRACTIONALMETRICS = new KeyImpl(5, "Fractional metrics enable key", VALUE_FRACTIONALMETRICS_OFF, VALUE_FRACTIONALMETRICS_ON, VALUE_FRACTIONALMETRICS_DEFAULT); KEY_INTERPOLATION = new KeyImpl(6, "Image interpolation method key", VALUE_INTERPOLATION_NEAREST_NEIGHBOR, VALUE_INTERPOLATION_BILINEAR, VALUE_INTERPOLATION_BICUBIC); KEY_ALPHA_INTERPOLATION = new KeyImpl(7, "Alpha blending interpolation method key", VALUE_ALPHA_INTERPOLATION_SPEED, VALUE_ALPHA_INTERPOLATION_QUALITY, VALUE_ALPHA_INTERPOLATION_DEFAULT); KEY_COLOR_RENDERING = new KeyImpl(8, "Color rendering quality key", VALUE_COLOR_RENDER_SPEED, VALUE_COLOR_RENDER_QUALITY, VALUE_COLOR_RENDER_DEFAULT); KEY_STROKE_CONTROL = new KeyImpl(9, "Stroke normalization control key", VALUE_STROKE_DEFAULT, VALUE_STROKE_NORMALIZE, VALUE_STROKE_PURE); } /** * Creates a new collection of hints containing all the (key, value) pairs * in the specified map. * * @param init a map containing a collection of hints (<code>null</code> * permitted). */ public RenderingHints(Map init) { if (init != null) putAll(init); } /** * Creates a new collection containing a single (key, value) pair. * * @param key the key. * @param value the value. */ public RenderingHints(Key key, Object value) { put(key, value); } /** * Returns the number of hints in the collection. * * @return The number of hints. */ public int size() { return hintMap.size(); } /** * Returns <code>true</code> if there are no hints in the collection, * and <code>false</code> otherwise. * * @return A boolean. */ public boolean isEmpty() { return hintMap.isEmpty(); } /** * Returns <code>true</code> if the collection of hints contains the * specified key, and <code>false</code> otherwise. * * @param key the key (<code>null</code> not permitted). * * @return A boolean. * * @throws NullPointerException if <code>key</code> is <code>null</code>. * @throws ClassCastException if <code>key</code> is not a {@link Key}. */ public boolean containsKey(Object key) { if (key == null) throw new NullPointerException(); // don't remove the cast, it is necessary to throw the required exception return hintMap.containsKey((Key) key); } /** * Returns <code>true</code> if the collection of hints contains the * specified value, and <code>false</code> otherwise. * * @param value the value. * * @return A boolean. */ public boolean containsValue(Object value) { return hintMap.containsValue(value); } /** * Returns the value associated with the specified key, or <code>null</code> * if there is no value defined for the key. * * @param key the key (<code>null</code> permitted). * * @return The value (possibly <code>null</code>). * * @throws ClassCastException if <code>key</code> is not a {@link Key}. * * @see #containsKey(Object) */ public Object get(Object key) { // don't remove the cast, it is necessary to throw the required exception return hintMap.get((Key) key); } /** * Adds a (key, value) pair to the collection of hints (if the * collection already contains the specified key, then the * value is updated). * * @param key the key. * @param value the value. * * @return the previous value of the key or <code>null</code> if the key * didn't have a value yet. */ public Object put(Object key, Object value) { if (key == null || value == null) throw new NullPointerException(); if (! ((Key) key).isCompatibleValue(value)) throw new IllegalArgumentException(); return hintMap.put(key, value); } /** * Adds all the hints from a collection to this collection. * * @param hints the hint collection. */ public void add(RenderingHints hints) { hintMap.putAll(hints); } /** * Clears all the hints from this collection. */ public void clear() { hintMap.clear(); } /** * Removes a hint from the collection. * * @param key the key. * * @return The value that was associated with the key, or <code>null</code> if * the key was not part of the collection * * @throws ClassCastException if the key is not a subclass of * {@link RenderingHints.Key}. */ public Object remove(Object key) { // don't remove the (Key) cast, it is necessary to throw the exception // required by the spec return hintMap.remove((Key) key); } /** * Adds a collection of (key, value) pairs to the collection. * * @param m a map containing (key, value) items. * * @throws ClassCastException if the map contains a key that is not * a subclass of {@link RenderingHints.Key}. * @throws IllegalArgumentException if the map contains a value that is * not compatible with its key. */ public void putAll(Map m) { // preprocess map to generate appropriate exceptions Iterator iterator = m.keySet().iterator(); while (iterator.hasNext()) { Key key = (Key) iterator.next(); if (!key.isCompatibleValue(m.get(key))) throw new IllegalArgumentException(); } // map is OK, update hintMap.putAll(m); } /** * Returns a set containing the keys from this collection. * * @return A set of keys. */ public Set keySet() { return hintMap.keySet(); } /** * Returns a collection of the values from this hint collection. The * collection is backed by the <code>RenderingHints</code> instance, * so updates to one will affect the other. * * @return A collection of values. */ public Collection values() { return hintMap.values(); } /** * Returns a set of entries from the collection. * * @return A set of entries. */ public Set entrySet() { return Collections.unmodifiableSet(hintMap.entrySet()); } /** * Checks this collection for equality with an arbitrary object. * * @param o the object (<code>null</code> permitted) * * @return A boolean. */ public boolean equals(Object o) { return hintMap.equals(o); } /** * Returns a hash code for the collection of hints. * * @return A hash code. */ public int hashCode() { return hintMap.hashCode(); } /** * Creates a clone of this instance. * * @return A clone. */ public Object clone() { try { RenderingHints copy = (RenderingHints) super.clone(); copy.hintMap = (HashMap) hintMap.clone(); return copy; } catch (CloneNotSupportedException e) { throw (Error) new InternalError().initCause(e); // Impossible } } /** * Returns a string representation of this instance. * * @return A string. */ public String toString() { return hintMap.toString(); }} // class RenderingHints
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -