/* * @(#)PaintContext.java 1.25 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.awt; import java.awt.color.ColorSpace; import java.awt.image.Raster; import java.awt.image.ColorModel; /** * The PaintContext interface defines the encapsulated * and optimized environment to generate color patterns in device * space for fill or stroke operations on a * {@link Graphics2D}. The PaintContext provides * the necessary colors for Graphics2D operations in the * form of a {@link Raster} associated with a {@link ColorModel}. * The PaintContext maintains state for a particular paint * operation. In a multi-threaded environment, several * contexts can exist simultaneously for a single {@link Paint} object. * @see Paint * @version 10 Feb 1997 */ public interface PaintContext { /** * Releases the resources allocated for the operation. */ public void dispose(); /** * Returns the ColorModel of the output. Note that * this ColorModel might be different from the hint * specified in the * {@link Paint#createContext(ColorModel, Rectangle, Rectangle2D, AffineTransform, RenderingHints) createContext} method of * Paint. Not all PaintContext objects are * capable of generating color patterns in an arbitrary * ColorModel. * @return the ColorModel of the output. */ ColorModel getColorModel(); /** * Returns a Raster containing the colors generated for * the graphics operation. * @param x the x coordinate of the area in device space * for which colors are generated. * @param y the y coordinate of the area in device space * for which colors are generated. * @param w the width of the area in device space * @param h the height of the area in device space * @return a Raster representing the specified * rectangular area and containing the colors generated for * the graphics operation. */ Raster getRaster(int x, int y, int w, int h); }