Package org.pushingpixels.substance.api.painter.decoration

# Class FractionBasedDecorationPainter

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

All Implemented Interfaces:
  `SubstanceDecorationPainter`, `SubstanceTrait`

public class FractionBasedDecorationPainter extends FractionBasedPainter implements SubstanceDecorationPainter
Decoration painter with fraction-based stops and a color query associated with each stop. This class allows creating multi-gradient decorations with exact control over which color is used at every gradient control point.

## Field Summary

### Fields inherited from class org.pushingpixels.substance.api.painter.FractionBasedPainter

`colorQueries, fractions`

## Constructor Summary

Constructors
Constructor
Description
`FractionBasedDecorationPainter(String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries)`
Creates a new fraction-based decoration painter.
`FractionBasedDecorationPainter(String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries, DecorationAreaType... decorationAreas)`
Creates a new fraction-based decoration painter.

## Method Summary

Modifier and Type
Method
Description
`void`
`paintDecorationArea(Graphics2D graphics, Component comp, DecorationAreaType decorationAreaType, int width, int height, SubstanceSkin skin)`
Paints the decoration area.

### Methods inherited from class org.pushingpixels.substance.api.painter.FractionBasedPainter

`getColorQueries, getDisplayName, getFractions`

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

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

### Methods inherited from interface org.pushingpixels.substance.api.trait.SubstanceTrait

`getDisplayName`

## Constructor Details

### FractionBasedDecorationPainter

public FractionBasedDecorationPainter(String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries)
Creates a new fraction-based decoration 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`.

### FractionBasedDecorationPainter

public FractionBasedDecorationPainter(String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries, DecorationAreaType... decorationAreas)
Creates a new fraction-based decoration 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`.
  `decorationAreas` - Decoration areas that should be painted based on the color queries. All the rest will be filled with a solid color from the background color scheme of the matching decoration area.

## Method Details

### paintDecorationArea

public void paintDecorationArea(Graphics2D graphics, Component comp, DecorationAreaType decorationAreaType, int width, int height, SubstanceSkin skin)
Description copied from interface: `SubstanceDecorationPainter`
Paints the decoration area.

Specified by:
  `paintDecorationArea` in interface `SubstanceDecorationPainter`
Parameters:
  `graphics` - Graphics context.
  `comp` - Component.
  `decorationAreaType` - Decoration area type. Must not be `null`.
  `width` - Width.
  `height` - Height.
  `skin` - Skin for painting the decoration area.