Frames | No Frames |
1: /* FontUIResource.java 2: Copyright (C) 2002, 2003 Free Software Foundation, Inc. 3: 4: This file is part of GNU Classpath. 5: 6: GNU Classpath is free software; you can redistribute it and/or modify 7: it under the terms of the GNU General Public License as published by 8: the Free Software Foundation; either version 2, or (at your option) 9: any later version. 10: 11: GNU Classpath is distributed in the hope that it will be useful, but 12: WITHOUT ANY WARRANTY; without even the implied warranty of 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: General Public License for more details. 15: 16: You should have received a copy of the GNU General Public License 17: along with GNU Classpath; see the file COPYING. If not, write to the 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 USA. 20: 21: Linking this library statically or dynamically with other modules is 22: making a combined work based on this library. Thus, the terms and 23: conditions of the GNU General Public License cover the whole 24: combination. 25: 26: As a special exception, the copyright holders of this library give you 27: permission to link this library with independent modules to produce an 28: executable, regardless of the license terms of these independent 29: modules, and to copy and distribute the resulting executable under 30: terms of your choice, provided that you also meet, for each linked 31: independent module, the terms and conditions of the license of that 32: module. An independent module is a module which is not derived from 33: or based on this library. If you modify this library, you may extend 34: this exception to your version of the library, but you are not 35: obligated to do so. If you do not wish to do so, delete this 36: exception statement from your version. */ 37: 38: 39: package javax.swing.plaf; 40: 41: import java.awt.Font; 42: 43: 44: /** 45: * A font that is marked as <code>UIResource</code>, which 46: * indicates that it has been installed by a pluggable 47: * LookAndFeel. Such dimensions are replaced when the LookAndFeel 48: * changes. 49: * 50: * @author Andrew Selkirk (aselkirk@sympatico.ca) 51: * @author Sascha Brawer (brawer@dandelis.ch) 52: */ 53: public class FontUIResource extends Font implements UIResource 54: { 55: /** 56: * Constructs a new <code>FontUIResource</code> given 57: * the name, style and size of the font. 58: * 59: * @param name the name of the font. A number of 60: * “logical” names are supported by any Java 61: * implementation. These are 62: * <code>“Dialog”</code>, 63: * <code>“DialogInput”</code>, 64: * <code>“Monospaced”</code>, 65: * <code>“Serif”</code>, and 66: * <code>“SansSerif”</code>. 67: * 68: * @param style the style of the font, for instance {@link 69: * java.awt.Font#BOLD} or {@link java.awt.Font#PLAIN}. 70: * 71: * @param size the size of the font in typographic points, for 72: * instance 10, 12 or 13. Designers of LookAndFeels should be 73: * aware that some languages (like Japanese and Chinese) have 74: * glyphs that are too complex to be legible at small point 75: * sizes. 76: */ 77: public FontUIResource(String name, int style, int size) 78: { 79: super(name, style, size); 80: } 81: 82: 83: /** 84: * Constructs a new <code>FontUIResource</code> given 85: * an existing font. 86: * 87: * @param f the font that serves as a template. 88: */ 89: public FontUIResource(Font f) 90: { 91: /* This implementation will get rid of many font properties, 92: * such as skewing, values of multiple master design axes, 93: * etc., unless they get encoded into the name. It probably 94: * is not a problem for LookAndFeels because user interfaces 95: * are usually not very advanced with respect to typography. 96: */ 97: super(f.getName(), f.getStyle(), f.getSize()); 98: } 99: }