Frames | No Frames |
1: /* Paint.java -- generate colors for Graphics2D operations 2: Copyright (C) 2000, 2002 Free Software Foundation 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 java.awt; 40: 41: import java.awt.geom.AffineTransform; 42: import java.awt.geom.Rectangle2D; 43: import java.awt.image.ColorModel; 44: 45: /** 46: * Defines how color patterns are generated for Graphics2D operations. This 47: * is used to perform the <code>draw</code> and <code>fill</code> methods 48: * of the graphics object. Instances must be immutable, because the graphics 49: * object does not clone them. 50: * 51: * @author Warren Levy (warrenl@cygnus.com) 52: * @see PaintContext 53: * @see Color 54: * @see GradientPaint 55: * @see TexturePaint 56: * @see Graphics2D#setPaint(Paint) 57: * @since 1.1 58: * @status updated to 1.4 59: */ 60: public interface Paint extends Transparency 61: { 62: /** 63: * Create the context necessary for performing the color pattern generation. 64: * The color model is a hint, and may be null for Classpath implementations; 65: * however some legacy code may throw a NullPointerException when passed a 66: * null. Leaving the color model null provides the most efficiency and leeway 67: * in the generation of the color pattern. 68: * 69: * @param cm the color model, used as a hint 70: * @param deviceBounds the device space bounding box of the painted area 71: * @param userBounds the user space bounding box of the painted area 72: * @param xform the transformation from user space to device space 73: * @param hints any hints for choosing between rendering alternatives 74: * @return the context for performing the paint 75: */ 76: PaintContext createContext(ColorModel cm, Rectangle deviceBounds, 77: Rectangle2D userBounds, AffineTransform xform, 78: RenderingHints hints); 79: } // interface Paint