FileDocCategorySizeDatePackage
Paint.javaAPI DocJava SE 5 API3175Fri Aug 26 14:56:46 BST 2005java.awt

Paint

public interface Paint implements Transparency
This Paint interface defines how color patterns can be generated for {@link Graphics2D} operations. A class implementing the Paint interface is added to the Graphics2D context in order to define the color pattern used by the draw and fill methods.

Instances of classes implementing Paint must be read-only because the Graphics2D does not clone these objects when they are set as an attribute with the setPaint method or when the Graphics2D object is itself cloned.

see
PaintContext
see
Color
see
GradientPaint
see
TexturePaint
see
Graphics2D#setPaint
version
1.27, 12/19/03

Fields Summary
Constructors Summary
Methods Summary
public java.awt.PaintContextcreateContext(java.awt.image.ColorModel cm, java.awt.Rectangle deviceBounds, java.awt.geom.Rectangle2D userBounds, java.awt.geom.AffineTransform xform, java.awt.RenderingHints hints)
Creates and returns a {@link PaintContext} used to generate the color pattern. Since the ColorModel argument to createContext is only a hint, implementations of Paint should accept a null argument for ColorModel. Note that if the application does not prefer a specific ColorModel, the null ColorModel argument will give the Paint implementation full leeway in using the most efficient ColorModel it prefers for its raster processing.

Since the API documentation was not specific about this in releases before 1.4, there may be implementations of Paint that do not accept a null ColorModel argument. If a developer is writing code which passes a null ColorModel argument to the createContext method of Paint objects from arbitrary sources it would be wise to code defensively by manufacturing a non-null ColorModel for those objects which throw a NullPointerException.

param
cm the {@link ColorModel} that receives the Paint data. This is used only as a hint.
param
deviceBounds the device space bounding box of the graphics primitive being rendered
param
userBounds the user space bounding box of the graphics primitive being rendered
param
xform the {@link AffineTransform} from user space into device space
param
hints the hint that the context object uses to choose between rendering alternatives
return
the PaintContext for generating color patterns
see
PaintContext