org.apache.batik.ext.awt
Class MultipleGradientPaint

java.lang.Object
  extended by org.apache.batik.ext.awt.MultipleGradientPaint
All Implemented Interfaces:
Paint, Transparency
Direct Known Subclasses:
LinearGradientPaint, RadialGradientPaint

public abstract class MultipleGradientPaint
extends Object
implements Paint

This is the superclass for Paints which use a multiple color gradient to fill in their raster. It provides storage for variables and enumerated values common to LinearGradientPaint and RadialGradientPaint.


Nested Class Summary
static class MultipleGradientPaint.ColorSpaceEnum
          Inner class to allow for typesafe enumerated ColorSpace values.
static class MultipleGradientPaint.CycleMethodEnum
          Inner class to allow for typesafe enumerated CycleMethod values.
 
Field Summary
protected  Color[] colors
          Gradient colors.
protected  MultipleGradientPaint.ColorSpaceEnum colorSpace
          The colorSpace in which to perform the interpolation.
protected  MultipleGradientPaint.CycleMethodEnum cycleMethod
          The method to use when painting out of the gradient bounds.
protected  float[] fractions
          Gradient keyframe values in the range 0 to 1.
protected  AffineTransform gradientTransform
          Transform to apply to gradient.
static MultipleGradientPaint.ColorSpaceEnum LINEAR_RGB
          Indicates that the color interpolation should occur in linearized RGB space.
static MultipleGradientPaint.CycleMethodEnum NO_CYCLE
          Indicates (if the gradient starts or ends inside the target region) to use the terminal colors to fill the remaining area.
static MultipleGradientPaint.CycleMethodEnum REFLECT
          Indicates (if the gradient starts or ends inside the target region), to cycle the gradient colors start-to-end, end-to-start to fill the remaining area.
static MultipleGradientPaint.CycleMethodEnum REPEAT
          Indicates (if the gradient starts or ends inside the target region), to cycle the gradient colors start-to-end, start-to-end to fill the remaining area.
static MultipleGradientPaint.ColorSpaceEnum SRGB
          Indicates that the color interpolation should occur in sRGB space.
protected  int transparency
          Transparency.
 
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
 
Constructor Summary
MultipleGradientPaint(float[] fractions, Color[] colors, MultipleGradientPaint.CycleMethodEnum cycleMethod, MultipleGradientPaint.ColorSpaceEnum colorSpace, AffineTransform gradientTransform)
          Superclass constructor, typical user should never have to call this.
 
Method Summary
 Color[] getColors()
          Returns a copy of the array of colors used by this gradient.
 MultipleGradientPaint.ColorSpaceEnum getColorSpace()
          Returns the enumerated type which specifies color space for interpolation.
 MultipleGradientPaint.CycleMethodEnum getCycleMethod()
          Returns the enumerated type which specifies cycling behavior.
 float[] getFractions()
          Returns a copy of the array of floats used by this gradient to calculate color distribution.
 AffineTransform getTransform()
          Returns a copy of the transform applied to the gradient.
 int getTransparency()
          Returns the transparency mode for this LinearGradientPaint.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.awt.Paint
createContext
 

Field Detail

transparency

protected int transparency
Transparency.


fractions

protected float[] fractions
Gradient keyframe values in the range 0 to 1.


colors

protected Color[] colors
Gradient colors.


gradientTransform

protected AffineTransform gradientTransform
Transform to apply to gradient.


cycleMethod

protected MultipleGradientPaint.CycleMethodEnum cycleMethod
The method to use when painting out of the gradient bounds.


colorSpace

protected MultipleGradientPaint.ColorSpaceEnum colorSpace
The colorSpace in which to perform the interpolation.


NO_CYCLE

public static final MultipleGradientPaint.CycleMethodEnum NO_CYCLE
Indicates (if the gradient starts or ends inside the target region) to use the terminal colors to fill the remaining area. (default)


REFLECT

public static final MultipleGradientPaint.CycleMethodEnum REFLECT
Indicates (if the gradient starts or ends inside the target region), to cycle the gradient colors start-to-end, end-to-start to fill the remaining area.


REPEAT

public static final MultipleGradientPaint.CycleMethodEnum REPEAT
Indicates (if the gradient starts or ends inside the target region), to cycle the gradient colors start-to-end, start-to-end to fill the remaining area.


SRGB

public static final MultipleGradientPaint.ColorSpaceEnum SRGB
Indicates that the color interpolation should occur in sRGB space. (default)


LINEAR_RGB

public static final MultipleGradientPaint.ColorSpaceEnum LINEAR_RGB
Indicates that the color interpolation should occur in linearized RGB space.

Constructor Detail

MultipleGradientPaint

public MultipleGradientPaint(float[] fractions,
                             Color[] colors,
                             MultipleGradientPaint.CycleMethodEnum cycleMethod,
                             MultipleGradientPaint.ColorSpaceEnum colorSpace,
                             AffineTransform gradientTransform)
Superclass constructor, typical user should never have to call this.

Parameters:
fractions - numbers ranging from 0.0 to 1.0 specifying the distribution of colors along the gradient
colors - array of colors corresponding to each fractional value
cycleMethod - either NO_CYCLE, REFLECT, or REPEAT
colorSpace - which colorspace to use for interpolation, either SRGB or LINEAR_RGB
gradientTransform - transform to apply to the gradient
Throws:
NullPointerException - if arrays are null, or gradientTransform is null
IllegalArgumentException - if fractions.length != colors.length, or if colors is less than 2 in size, or if an enumerated value is bad.
Method Detail

getColors

public Color[] getColors()
Returns a copy of the array of colors used by this gradient.

Returns:
a copy of the array of colors used by this gradient

getFractions

public float[] getFractions()
Returns a copy of the array of floats used by this gradient to calculate color distribution.

Returns:
a copy of the array of floats used by this gradient to calculate color distribution

getTransparency

public int getTransparency()
Returns the transparency mode for this LinearGradientPaint.

Specified by:
getTransparency in interface Transparency
Returns:
an integer value representing this LinearGradientPaint object's transparency mode.

getCycleMethod

public MultipleGradientPaint.CycleMethodEnum getCycleMethod()
Returns the enumerated type which specifies cycling behavior.

Returns:
the enumerated type which specifies cycling behavior

getColorSpace

public MultipleGradientPaint.ColorSpaceEnum getColorSpace()
Returns the enumerated type which specifies color space for interpolation.

Returns:
the enumerated type which specifies color space for interpolation

getTransform

public AffineTransform getTransform()
Returns a copy of the transform applied to the gradient.

Returns:
a copy of the transform applied to the gradient.


Copyright © 2008 Apache Software Foundation. All Rights Reserved.