org.jvnet.substance.painter.border
Class StandardBorderPainter

java.lang.Object
  extended by org.jvnet.substance.painter.border.StandardBorderPainter
All Implemented Interfaces:
SubstanceTrait, SubstanceBorderPainter
Direct Known Subclasses:
ClassicBorderPainter, DelegateBorderPainter, FlatBorderPainter, GlassBorderPainter, SimplisticSoftBorderPainter

public class StandardBorderPainter
extends java.lang.Object
implements SubstanceBorderPainter

The default border painter. This class is part of officially supported API.

Author:
Kirill Grouchnikov

Constructor Summary
StandardBorderPainter()
           
 
Method Summary
 java.awt.Color getBottomBorderColor(SubstanceColorScheme interpolationScheme1, SubstanceColorScheme interpolationScheme2, double cycleCoef, boolean useCyclePosAsInterpolation)
          Computes the color of the bottom portion of the border.
 java.lang.String getDisplayName()
          Returns the display name of this trait.
 java.awt.Color getMidBorderColor(SubstanceColorScheme interpolationScheme1, SubstanceColorScheme interpolationScheme2, double cycleCoef, boolean useCyclePosAsInterpolation)
          Computes the color of the middle portion of the border.
 java.awt.Color getTopBorderColor(SubstanceColorScheme interpolationScheme1, SubstanceColorScheme interpolationScheme2, double cycleCoef, boolean useCyclePosAsInterpolation)
          Computes the color of the top portion of the border.
 boolean isPaintingInnerContour()
          Returns boolean indication whether this border painter is painting the inner contours.
 void paintBorder(java.awt.Graphics g, java.awt.Component c, int width, int height, java.awt.Shape contour, java.awt.Shape innerContour, SubstanceColorScheme colorScheme1, SubstanceColorScheme colorScheme2, float cyclePos, boolean useCyclePosAsInterpolation)
          Paints the control border.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardBorderPainter

public StandardBorderPainter()
Method Detail

getDisplayName

public java.lang.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.

isPaintingInnerContour

public boolean isPaintingInnerContour()
Description copied from interface: SubstanceBorderPainter
Returns boolean indication whether this border painter is painting the inner contours.

Specified by:
isPaintingInnerContour in interface SubstanceBorderPainter
Returns:
true if this border painter is painting the inner contours, false otherwise.

paintBorder

public void paintBorder(java.awt.Graphics g,
                        java.awt.Component c,
                        int width,
                        int height,
                        java.awt.Shape contour,
                        java.awt.Shape innerContour,
                        SubstanceColorScheme colorScheme1,
                        SubstanceColorScheme colorScheme2,
                        float cyclePos,
                        boolean useCyclePosAsInterpolation)
Description copied from interface: SubstanceBorderPainter
Paints the control border.

Specified by:
paintBorder in interface SubstanceBorderPainter
Parameters:
g - Graphics.
c - Component.
width - Width of a UI component.
height - Height of a UI component.
contour - Contour of a UI component.
innerContour - Inner contour of a UI component. May be ignored if the specific implementation paints only the outside border.
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.
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.

getTopBorderColor

public java.awt.Color getTopBorderColor(SubstanceColorScheme interpolationScheme1,
                                        SubstanceColorScheme interpolationScheme2,
                                        double cycleCoef,
                                        boolean useCyclePosAsInterpolation)
Computes the color of the top portion of the border. Override to provide different visual.

Parameters:
interpolationScheme1 - The first interpolation scheme.
interpolationScheme2 - The second interpolation scheme.
cycleCoef - Cycle coefficient.
useCyclePosAsInterpolation - Indicates whether the cycle coefficient should be used as the interpolation parameter.
Returns:
The color of the top portion of the border.

getMidBorderColor

public java.awt.Color getMidBorderColor(SubstanceColorScheme interpolationScheme1,
                                        SubstanceColorScheme interpolationScheme2,
                                        double cycleCoef,
                                        boolean useCyclePosAsInterpolation)
Computes the color of the middle portion of the border. Override to provide different visual.

Parameters:
interpolationScheme1 - The first interpolation scheme.
interpolationScheme2 - The second interpolation scheme.
cycleCoef - Cycle coefficient.
useCyclePosAsInterpolation - Indicates whether the cycle coefficient should be used as the interpolation parameter.
Returns:
The color of the middle portion of the border.

getBottomBorderColor

public java.awt.Color getBottomBorderColor(SubstanceColorScheme interpolationScheme1,
                                           SubstanceColorScheme interpolationScheme2,
                                           double cycleCoef,
                                           boolean useCyclePosAsInterpolation)
Computes the color of the bottom portion of the border. Override to provide different visual.

Parameters:
interpolationScheme1 - The first interpolation scheme.
interpolationScheme2 - The second interpolation scheme.
cycleCoef - Cycle coefficient.
useCyclePosAsInterpolation - Indicates whether the cycle coefficient should be used as the interpolation parameter.
Returns:
The color of the bottom portion of the border.