org.jvnet.substance.api.painter.fill
Class FractionBasedFillPainter

java.lang.Object
  extended by org.jvnet.substance.api.painter.FractionBasedPainter
      extended by org.jvnet.substance.api.painter.fill.FractionBasedFillPainter
All Implemented Interfaces:
SubstanceTrait, SubstanceGradientPainter

public class FractionBasedFillPainter
extends FractionBasedPainter
implements SubstanceGradientPainter

Fill painter with fraction-based stops and a color query associated with each stop. This class allows creating multi-gradient fills with exact control over which color is used at every gradient control point.

Author:
Kirill Grouchnikov

Field Summary
 
Fields inherited from class org.jvnet.substance.api.painter.FractionBasedPainter
colorQueries, fractions
 
Constructor Summary
FractionBasedFillPainter(java.lang.String displayName, float[] fractions, ColorSchemeSingleColorQuery[] colorQueries)
          Creates a new fraction-based fill painter.
 
Method Summary
 void paintContourBackground(java.awt.Graphics g, java.awt.Component comp, int width, int height, java.awt.Shape contour, boolean isFocused, SubstanceColorScheme colorScheme1, SubstanceColorScheme colorScheme2, float cyclePos, boolean hasShine, boolean useCyclePosAsInterpolation)
          Paints the background that matches the specified parameters.
 
Methods inherited from class org.jvnet.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.jvnet.substance.api.trait.SubstanceTrait
getDisplayName
 

Constructor Detail

FractionBasedFillPainter

public FractionBasedFillPainter(java.lang.String displayName,
                                float[] fractions,
                                ColorSchemeSingleColorQuery[] colorQueries)
Creates a new fraction-based fill 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

paintContourBackground

public void paintContourBackground(java.awt.Graphics g,
                                   java.awt.Component comp,
                                   int width,
                                   int height,
                                   java.awt.Shape contour,
                                   boolean isFocused,
                                   SubstanceColorScheme colorScheme1,
                                   SubstanceColorScheme colorScheme2,
                                   float cyclePos,
                                   boolean hasShine,
                                   boolean useCyclePosAsInterpolation)
Description copied from interface: SubstanceGradientPainter
Paints the background that matches the specified parameters.

Specified by:
paintContourBackground in interface SubstanceGradientPainter
Parameters:
g - Graphics context.
comp - Component to paint.
width - Width of a UI component.
height - Height of a UI component.
contour - Contour of a UI component.
isFocused - Indication whether component owns the focus.
colorScheme1 - The first color scheme.
colorScheme2 - The second color scheme.
cyclePos - Cycle position. Is used for rollover and pulsation effects. Must be in 0..1 range.
hasShine - Indication whether the returned image should have a 3D shine spot in its top half.
useCyclePosAsInterpolation - Indicates the algorithm to use for computing various colors. If true, the cyclePos is used to interpolate colors between different color components of both color schemes. If false, the cyclePos is used to interpolate colors between different color components of the first color scheme.