java.awt

Class GradientPaint

Implemented Interfaces:
Paint, Transparency

public class GradientPaint
extends Object
implements Paint

A paint object that can be used to color a region by blending two colors. Instances of this class are immutable.

Fields inherited from interface java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Constructor Summary

GradientPaint(float x1, float y1, Color c1, float x2, float y2, Color c2)
Creates a new acyclic GradientPaint.
GradientPaint(float x1, float y1, Color c1, float x2, float y2, Color c2, boolean cyclic)
Creates a new cyclic or acyclic GradientPaint.
GradientPaint(Point2D p1, Color c1, Point2D p2, Color c2)
Creates a new acyclic GradientPaint.
GradientPaint(Point2D p1, Color c1, Point2D p2, Color c2, boolean cyclic)
Creates a new cyclic or acyclic GradientPaint.

Method Summary

PaintContext
createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
Returns the PaintContext used to generate the color pattern.
Color
getColor1()
Returns the first color.
Color
getColor2()
Returns the second color.
Point2D
getPoint1()
Returns a point with the same coordinates as the anchor point for color 1.
Point2D
getPoint2()
Returns a point with the same coordinates as the anchor point for color 2.
int
getTransparency()
Returns the transparency code for this GradientPaint instance.
boolean
isCyclic()
Returns true if this GradientPaint instance is cyclic, and false otherwise.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

GradientPaint

public GradientPaint(float x1,
                     float y1,
                     Color c1,
                     float x2,
                     float y2,
                     Color c2)
Creates a new acyclic GradientPaint.
Parameters:
x1 - the x-coordinate of the anchor point for color 1.
y1 - the y-coordinate of the anchor point for color 1.
c1 - color 1 (null not permitted).
x2 - the x-coordinate of the anchor point for color 2.
y2 - the y-coordinate of the anchor point for color 2.
c2 - the second color (null not permitted).

GradientPaint

public GradientPaint(float x1,
                     float y1,
                     Color c1,
                     float x2,
                     float y2,
                     Color c2,
                     boolean cyclic)
Creates a new cyclic or acyclic GradientPaint.
Parameters:
x1 - the x-coordinate of the anchor point for color 1.
y1 - the y-coordinate of the anchor point for color 1.
c1 - color 1 (null not permitted).
x2 - the x-coordinate of the anchor point for color 2.
y2 - the y-coordinate of the anchor point for color 2.
c2 - the second color (null not permitted).
cyclic - a flag that controls whether the gradient is cyclic or acyclic.

GradientPaint

public GradientPaint(Point2D p1,
                     Color c1,
                     Point2D p2,
                     Color c2)
Creates a new acyclic GradientPaint.
Parameters:
p1 - anchor point 1 (null not permitted).
c1 - color 1 (null not permitted).
p2 - anchor point 2 (null not permitted).
c2 - color 2 (null not permitted).

GradientPaint

public GradientPaint(Point2D p1,
                     Color c1,
                     Point2D p2,
                     Color c2,
                     boolean cyclic)
Creates a new cyclic or acyclic GradientPaint.
Parameters:
p1 - anchor point 1 (null not permitted).
c1 - color 1 (null not permitted).
p2 - anchor point 2 (null not permitted).
c2 - color 2 (null not permitted).
cyclic - a flag that controls whether the gradient is cyclic or acyclic.

Method Details

createContext

public PaintContext createContext(ColorModel cm,
                                  Rectangle deviceBounds,
                                  Rectangle2D userBounds,
                                  AffineTransform xform,
                                  RenderingHints hints)
Returns the PaintContext used to generate the color pattern.
Specified by:
createContext in interface Paint
Parameters:
cm - the color model, used as a hint (ignored in this implementation).
deviceBounds - the device space bounding box of the painted area.
userBounds - the user space bounding box of the painted area.
xform - the transformation from user space to device space.
hints - any hints for choosing between rendering alternatives.
Returns:
The context for performing the paint

getColor1

public Color getColor1()
Returns the first color.
Returns:
The color (never null).

getColor2

public Color getColor2()
Returns the second color.
Returns:
The color (never null).

getPoint1

public Point2D getPoint1()
Returns a point with the same coordinates as the anchor point for color 1. Note that if you modify this point, the GradientPaint remains unchanged.
Returns:
A point with the same coordinates as the anchor point for color 1.

getPoint2

public Point2D getPoint2()
Returns a point with the same coordinates as the anchor point for color 2. Note that if you modify this point, the GradientPaint remains unchanged.
Returns:
A point with the same coordinates as the anchor point for color 2.

getTransparency

public int getTransparency()
Returns the transparency code for this GradientPaint instance. This is derived from the two Color objects used in creating this object: if both colors are opaque, this method returns Transparency.OPAQUE, otherwise it returns Transparency.TRANSLUCENT.
Specified by:
getTransparency in interface Transparency

isCyclic

public boolean isCyclic()
Returns true if this GradientPaint instance is cyclic, and false otherwise.
Returns:
A boolean.

GradientPaint.java -- Copyright (C) 2002, 2005, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the 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, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.