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.PaintThis 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.- Version:
- $Id: MultipleGradientPaint.java 1804130 2017-08-04 14:41:11Z ssteiner $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultipleGradientPaint.ColorSpaceEnumInner class to allow for typesafe enumerated ColorSpace values.static classMultipleGradientPaint.CycleMethodEnumInner class to allow for typesafe enumerated CycleMethod values.
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.Color[]colorsGradient colors.protected MultipleGradientPaint.ColorSpaceEnumcolorSpaceThe colorSpace in which to perform the interpolation.protected MultipleGradientPaint.CycleMethodEnumcycleMethodThe method to use when painting out of the gradient bounds.protected float[]fractionsGradient keyframe values in the range 0 to 1.protected java.awt.geom.AffineTransformgradientTransformTransform to apply to gradient.static MultipleGradientPaint.ColorSpaceEnumLINEAR_RGBIndicates that the color interpolation should occur in linearized RGB space.static MultipleGradientPaint.CycleMethodEnumNO_CYCLEIndicates (if the gradient starts or ends inside the target region) to use the terminal colors to fill the remaining area.static MultipleGradientPaint.CycleMethodEnumREFLECTIndicates (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.CycleMethodEnumREPEATIndicates (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.ColorSpaceEnumSRGBIndicates that the color interpolation should occur in sRGB space.protected inttransparencyTransparency.
-
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.ColorSpaceEnumgetColorSpace()Returns the enumerated type which specifies color space for interpolation.MultipleGradientPaint.CycleMethodEnumgetCycleMethod()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.AffineTransformgetTransform()Returns a copy of the transform applied to the gradient.intgetTransparency()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:
getTransparencyin 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.
-
-