Package org.apache.batik.ext.awt
Class MultipleGradientPaint
- java.lang.Object
-
- org.apache.batik.ext.awt.MultipleGradientPaint
-
- All Implemented Interfaces:
java.awt.Paint
,java.awt.Transparency
- Direct Known Subclasses:
LinearGradientPaint
,RadialGradientPaint
public abstract class MultipleGradientPaint extends java.lang.Object implements java.awt.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
Nested Classes Modifier and Type Class Description 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
Fields Modifier and Type Field Description protected java.awt.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 java.awt.geom.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.
-
Constructor Summary
Constructors Constructor Description MultipleGradientPaint(float[] fractions, java.awt.Color[] colors, MultipleGradientPaint.CycleMethodEnum cycleMethod, MultipleGradientPaint.ColorSpaceEnum colorSpace, java.awt.geom.AffineTransform gradientTransform)
Superclass constructor, typical user should never have to call this.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.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.java.awt.geom.AffineTransform
getTransform()
Returns a copy of the transform applied to the gradient.int
getTransparency()
Returns the transparency mode for this LinearGradientPaint.
-
-
-
Field Detail
-
transparency
protected int transparency
Transparency.
-
fractions
protected float[] fractions
Gradient keyframe values in the range 0 to 1.
-
colors
protected java.awt.Color[] colors
Gradient colors.
-
gradientTransform
protected java.awt.geom.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, java.awt.Color[] colors, MultipleGradientPaint.CycleMethodEnum cycleMethod, MultipleGradientPaint.ColorSpaceEnum colorSpace, java.awt.geom.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 gradientcolors
- array of colors corresponding to each fractional valuecycleMethod
- either NO_CYCLE, REFLECT, or REPEATcolorSpace
- which colorspace to use for interpolation, either SRGB or LINEAR_RGBgradientTransform
- transform to apply to the gradient- Throws:
java.lang.NullPointerException
- if arrays are null, or gradientTransform is nulljava.lang.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 java.awt.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 interfacejava.awt.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 java.awt.geom.AffineTransform getTransform()
Returns a copy of the transform applied to the gradient.- Returns:
- a copy of the transform applied to the gradient.
-
-