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 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.