Package org.pushingpixels.substance.api.painter

# Class FractionBasedPainter

java.lang.Object
org.pushingpixels.substance.api.painter.FractionBasedPainter

All Implemented Interfaces:
  `SubstanceTrait`

Direct Known Subclasses:
  `FractionBasedBorderPainter`, `FractionBasedDecorationPainter`, `FractionBasedFillPainter`, `FractionBasedHighlightPainter`

public abstract class FractionBasedPainter extends Object implements SubstanceTrait
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.
`protected float[]`
`fractions`
The fractions of this painter.

## Constructor Summary

Constructors
Constructor
Description
`FractionBasedPainter(String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries)`
Creates a new fraction-based border painter.

## Method Summary

Modifier and Type
Method
Description
`ColorSchemeSingleColorQuery[]`
`getColorQueries()`
Returns the color queries of this painter.
`String`
`getDisplayName()`
Returns the display name of `this` trait.
`float[]`
`getFractions()`
Returns the fractions of this painter.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### fractions

protected float[] fractions
The fractions of this painter. If the constructor has not thrown an `IllegalArgumentException`, 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 the `fractions`, specifying which color will be used at the relevant gradient control point. If the constructor has not thrown an `IllegalArgumentException`, the size of this array is identical to the size of `fractions`, and there are no `null` entries in this array. Note that the application code can still cause an exception at runtime by throwing it in the implementation of the `ColorSchemeSingleColorQuery.query(SubstanceColorScheme)` method.

## Constructor Details

### FractionBasedPainter

public FractionBasedPainter(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 Details

### getDisplayName

public String getDisplayName()
Description copied from interface: `SubstanceTrait`
Returns the display name of `this` trait. This method is part of officially supported API.

Specified by:
  `getDisplayName` in interface `SubstanceTrait`
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.