Class SVGMultipleGradientPaint
java.lang.Object
com.github.weisj.jsvg.renderer.jdk.SVGMultipleGradientPaint
- All Implemented Interfaces:
Paint
,Transparency
- Direct Known Subclasses:
SVGRadialGradientPaint
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
.- Since:
- 1.6
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final @NotNull Color @NotNull []
Gradient colors.(package private) final MultipleGradientPaint.ColorSpaceType
The color space in which to perform the gradient interpolation.(package private) final MultipleGradientPaint.CycleMethod
The method to use when painting outside the gradient bounds.(package private) int
(package private) final float @NotNull []
Gradient keyframe values in the range 0 to 1.(package private) SoftReference
<int[]> (package private) SoftReference
<int[][]> (package private) final @NotNull AffineTransform
Transform to apply to gradient.(package private) boolean
(package private) ColorModel
The following fields are used only by MultipleGradientPaintContext to cache certain values that remain constant and do not need to be recalculated for each context created from this paint instance.(package private) float[]
(package private) final int
The transparency of this paint object.Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
Constructor Summary
ConstructorsConstructorDescriptionSVGMultipleGradientPaint
(float @NotNull [] fractions, @NotNull Color @NotNull [] colors, MultipleGradientPaint.CycleMethod cycleMethod, MultipleGradientPaint.ColorSpaceType colorSpace, @NotNull AffineTransform gradientTransform) Package-private constructor. -
Method Summary
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 Details
-
transparency
final int transparencyThe transparency of this paint object. -
fractions
final float @NotNull [] fractionsGradient keyframe values in the range 0 to 1. -
colors
Gradient colors. -
gradientTransform
Transform to apply to gradient. -
cycleMethod
The method to use when painting outside the gradient bounds. -
colorSpace
The color space in which to perform the gradient interpolation. -
model
ColorModel modelThe following fields are used only by MultipleGradientPaintContext to cache certain values that remain constant and do not need to be recalculated for each context created from this paint instance. -
normalizedIntervals
float[] normalizedIntervals -
isSimpleLookup
boolean isSimpleLookup -
gradients
SoftReference<int[][]> gradients -
gradient
SoftReference<int[]> gradient -
fastGradientArraySize
int fastGradientArraySize
-
-
Constructor Details
-
SVGMultipleGradientPaint
SVGMultipleGradientPaint(float @NotNull [] fractions, @NotNull @NotNull Color @NotNull [] colors, @NotNull MultipleGradientPaint.CycleMethod cycleMethod, @NotNull MultipleGradientPaint.ColorSpaceType colorSpace, @NotNull @NotNull AffineTransform gradientTransform) Package-private constructor.- 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
- eitherNO_CYCLE
,REFLECT
, orREPEAT
colorSpace
- which color space to use for interpolation, eitherSRGB
orLINEAR_RGB
gradientTransform
- transform to apply to the gradient- Throws:
NullPointerException
- iffractions
array is null, orcolors
array is null, orgradientTransform
is null, orcycleMethod
is null, orcolorSpace
is nullIllegalArgumentException
- iffractions.length != colors.length
, orcolors
is less than 2 in size, or afractions
value is less than 0.0 or greater than 1.0, or thefractions
are not provided in strictly increasing order
-
-
Method Details
-
getTransparency
public int getTransparency()- Specified by:
getTransparency
in interfaceTransparency
-