Class FractionBasedPainter
- java.lang.Object
-
- org.pushingpixels.radiance.theming.api.painter.FractionBasedPainter
-
- All Implemented Interfaces:
RadianceTrait
- Direct Known Subclasses:
FractionBasedBorderPainter
,FractionBasedDecorationPainter
,FractionBasedFillPainter
public abstract class FractionBasedPainter extends java.lang.Object implements RadianceTrait
Base painter with fraction-based stops and a color query associated with each stop. This class allows creating multi-stop gradients with exact control over which color is used at every gradient control point.
-
-
Field Summary
Fields Modifier and Type Field Description protected ColorSchemeSingleColorQuery[]
colorQueries
The color queries of this painter.private java.lang.String
displayName
The display name of this painter.protected float[]
fractions
The fractions of this painter.
-
Constructor Summary
Constructors Constructor Description FractionBasedPainter(java.lang.String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries)
Creates a new fraction-based border painter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ColorSchemeSingleColorQuery[]
getColorQueries()
Returns the color queries of this painter.java.lang.String
getDisplayName()
Returns the display name ofthis
trait.float[]
getFractions()
Returns the fractions of this painter.
-
-
-
Field Detail
-
displayName
private java.lang.String displayName
The display name of this painter.
-
fractions
protected float[] fractions
The fractions of this painter. If the constructor has not thrown anIllegalArgumentException
, the entries in this array are strictly increasing, starting from 0.0 and ending at 1.0.
-
colorQueries
protected ColorSchemeSingleColorQuery[] colorQueries
The color queries of this painter. Each entry in this array corresponds to the matching index in thefractions
, specifying which color will be used at the relevant gradient control point. If the constructor has not thrown anIllegalArgumentException
, the size of this array is identical to the size offractions
, and there are nonull
entries in this array. Note that the application code can still cause an exception at runtime by throwing it in the implementation of theColorSchemeSingleColorQuery.query(RadianceColorScheme)
method.
-
-
Constructor Detail
-
FractionBasedPainter
public FractionBasedPainter(java.lang.String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries)
Creates a new fraction-based border painter.- Parameters:
displayName
- The display name of this painter.fractions
- The fractions of this painter. Must be strictly increasing, starting from 0.0 and ending at 1.0.colorQueries
- The color queries of this painter. Must have the same size as the fractions array, and all entries must be non-null
.
-
-
Method Detail
-
getDisplayName
public java.lang.String getDisplayName()
Description copied from interface:RadianceTrait
Returns the display name ofthis
trait. This method is part of officially supported API.- Specified by:
getDisplayName
in interfaceRadianceTrait
- Returns:
- The display name of
this
trait.
-
getFractions
public float[] getFractions()
Returns the fractions of this painter.- Returns:
- Fractions of this painter.
-
getColorQueries
public ColorSchemeSingleColorQuery[] getColorQueries()
Returns the color queries of this painter.- Returns:
- Color queries of this painter.
-
-