⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 renderinghints.java

📁 gcc的组建
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* RenderingHints.java --   Copyright (C) 2000, 2001, 2002, 2004, 2005  Free Software FoundationThis file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package java.awt;import java.util.Collection;import java.util.Collections;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/** * A collection of (key, value) items that provide 'hints' for the  * {@link java.awt.Graphics2D} rendering pipeline.  Because these * items are hints only, they may be ignored by a particular * {@link java.awt.Graphics2D} implementation. * * @author Rolf W. Rasmussen (rolfwr@ii.uib.no) * @author Eric Blake (ebb9@email.byu.edu) */public class RenderingHints implements Map, Cloneable{  /**   * The base class used to represent keys.   */  public abstract static class Key  {    private final int key;    /**     * Creates a new key.     *      * @param privateKey  the private key.     */    protected Key(int privateKey)    {      key = privateKey;    }    /**     * Returns <code>true</code> if the specified value is compatible with     * this key, and <code>false</code> otherwise.     *      * @param value  the value (<code>null</code> permitted).     *      * @return A boolean.     */    public abstract boolean isCompatibleValue(Object value);    /**     * Returns the private key for this instance.     *      * @return The private key.     */    protected final int intKey()    {      return key;    }    /**     * Returns a hash code for the key.     *      * @return A hash code.     */    public final int hashCode()    {      return System.identityHashCode(this);    }    /**     * Checks this key for equality with an arbitrary object.     *      * @param other  the object (<code>null</code> permitted)     *      * @return A boolean.     */    public final boolean equals(Object other)    {      return this == other;    }  } // class Key  private static final class KeyImpl extends Key  {    final String description;    final Object v1;    final Object v2;    final Object v3;    KeyImpl(int privateKey, String description,            Object v1, Object v2, Object v3)    {      super(privateKey);      this.description = description;      this.v1 = v1;      this.v2 = v2;      this.v3 = v3;    }    /**     * Returns <code>true</code> if the specified value is compatible with     * this key, and <code>false</code> otherwise.     *      * @param value  the value (<code>null</code> permitted).     *      * @return A boolean.     */    public boolean isCompatibleValue(Object value)    {      return value == v1 || value == v2 || value == v3;    }    /**     * Returns a string representation of the key.     *      * @return A string.     */    public String toString()    {      return description;    }  } // class KeyImpl  private HashMap hintMap = new HashMap();  /**   * A key for the 'antialiasing' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_ANTIALIAS_OFF}</td>   *   <td>Render without antialiasing (better speed).</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_ANTIALIAS_ON}</td>   *   <td>Render with antialiasing (better quality).</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_ANTIALIAS_DEFAULT}</td>   *   <td>Use the default value for antialiasing.</td>   * </tr>   * </table>   */  public static final Key KEY_ANTIALIASING;  /**   * This value is for use with the {@link #KEY_ANTIALIASING} key.   */  public static final Object VALUE_ANTIALIAS_ON    = "Antialiased rendering mode";  /**   * This value is for use with the {@link #KEY_ANTIALIASING} key.   */  public static final Object VALUE_ANTIALIAS_OFF    = "Nonantialiased rendering mode";  /**   * This value is for use with the {@link #KEY_ANTIALIASING} key.   */  public static final Object VALUE_ANTIALIAS_DEFAULT    = "Default antialiasing rendering mode";  /**   * A key for the 'rendering' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_RENDER_SPEED}</td>   *   <td>Prefer speed over quality when rendering.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_RENDER_QUALITY}</td>   *   <td>Prefer quality over speed when rendering.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_RENDER_DEFAULT}</td>   *   <td>Use the default value for quality vs. speed when rendering.</td>   * </tr>   * </table>   */  public static final Key KEY_RENDERING;  /**   * This value is for use with the {@link #KEY_RENDERING} key.   */  public static final Object VALUE_RENDER_SPEED    = "Fastest rendering methods";  /**   * This value is for use with the {@link #KEY_RENDERING} key.   */  public static final Object VALUE_RENDER_QUALITY    = "Highest quality rendering methods";  /**   * This value is for use with the {@link #KEY_RENDERING} key.   */  public static final Object VALUE_RENDER_DEFAULT    = "Default rendering methods";  /**   * A key for the 'dithering' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_DITHER_DISABLE}</td>   *   <td>Disable dithering.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_DITHER_ENABLE}</td>   *   <td>Enable dithering.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_DITHER_DEFAULT}</td>   *   <td>Use the default value for dithering.</td>   * </tr>   * </table>   */  public static final Key KEY_DITHERING;  /**   * This value is for use with the {@link #KEY_DITHERING} key.   */  public static final Object VALUE_DITHER_DISABLE    = "Nondithered rendering mode";  /**   * This value is for use with the {@link #KEY_DITHERING} key.   */  public static final Object VALUE_DITHER_ENABLE    = "Dithered rendering mode";  /**   * This value is for use with the {@link #KEY_DITHERING} key.   */  public static final Object VALUE_DITHER_DEFAULT    = "Default dithering mode";  /**   * A key for the 'text antialiasing' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_TEXT_ANTIALIAS_ON}</td>   *   <td>Render text with antialiasing (better quality usually).</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_TEXT_ANTIALIAS_OFF}</td>   *   <td>Render test without antialiasing (better speed).</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_TEXT_ANTIALIAS_DEFAULT}</td>   *   <td>Use the default value for text antialiasing.</td>   * </tr>   * </table>   */  public static final Key KEY_TEXT_ANTIALIASING;  /**   * This value is for use with the {@link #KEY_TEXT_ANTIALIASING} key.   */  public static final Object VALUE_TEXT_ANTIALIAS_ON    = "Antialiased text mode";  /**   * This value is for use with the {@link #KEY_TEXT_ANTIALIASING} key.   */  public static final Object VALUE_TEXT_ANTIALIAS_OFF    = "Nonantialiased text mode";  /**   * This value is for use with the {@link #KEY_TEXT_ANTIALIASING} key.   */  public static final Object VALUE_TEXT_ANTIALIAS_DEFAULT    = "Default antialiasing text mode";  /**   * A key for the 'fractional metrics' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_FRACTIONALMETRICS_OFF}</td>   *   <td>Render text with fractional metrics off.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_FRACTIONALMETRICS_ON}</td>   *   <td>Render text with fractional metrics on.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_FRACTIONALMETRICS_DEFAULT}</td>   *   <td>Use the default value for fractional metrics.</td>   * </tr>   * </table>   */  public static final Key KEY_FRACTIONALMETRICS;  /**   * This value is for use with the {@link #KEY_FRACTIONALMETRICS} key.   */  public static final Object VALUE_FRACTIONALMETRICS_OFF    = "Integer text metrics mode";  /**   * This value is for use with the {@link #KEY_FRACTIONALMETRICS} key.   */  public static final Object VALUE_FRACTIONALMETRICS_ON    = "Fractional text metrics mode";  /**   * This value is for use with the {@link #KEY_FRACTIONALMETRICS} key.   */  public static final Object VALUE_FRACTIONALMETRICS_DEFAULT    = "Default fractional text metrics mode";  /**   * A key for the 'interpolation' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_INTERPOLATION_NEAREST_NEIGHBOR}</td>   *   <td>Use nearest neighbour interpolation.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_INTERPOLATION_BILINEAR}</td>   *   <td>Use bilinear interpolation.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_INTERPOLATION_BICUBIC}</td>   *   <td>Use bicubic interpolation.</td>   * </tr>   * </table>   */  public static final Key KEY_INTERPOLATION;  /**   * This value is for use with the {@link #KEY_INTERPOLATION} key.   */  public static final Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR    = "Nearest Neighbor image interpolation mode";  /**   * This value is for use with the {@link #KEY_INTERPOLATION} key.   */  public static final Object VALUE_INTERPOLATION_BILINEAR    = "Bilinear image interpolation mode";  /**   * This value is for use with the {@link #KEY_INTERPOLATION} key.   */  public static final Object VALUE_INTERPOLATION_BICUBIC    = "Bicubic image interpolation mode";  /**   * A key for the 'alpha interpolation' hint.  Permitted values are:   * <p>   * <table>   * <tr>   *   <td>{@link #VALUE_ALPHA_INTERPOLATION_SPEED}</td>   *   <td>Prefer speed over quality.</td>   * </tr>   * <tr>   *   <td>{@link #VALUE_ALPHA_INTERPOLATION_QUALITY}</td>   *   <td>Prefer quality over speed.</td>   * </tr>   * <tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -