org.jvnet.substance.colorscheme
Class ShiftColorScheme

java.lang.Object
  extended by org.jvnet.substance.colorscheme.BaseColorScheme
      extended by org.jvnet.substance.colorscheme.ShiftColorScheme
All Implemented Interfaces:
SchemeBaseColors, SchemeDerivedColors, SubstanceColorScheme, SubstanceTrait
Direct Known Subclasses:
ShadeColorScheme, TintColorScheme, ToneColorScheme

public class ShiftColorScheme
extends BaseColorScheme

Base class for shifted color schemes. A shifted color scheme is based on some original color scheme, a shift color and a shift factor. All colors of the original color scheme are shifted towards the shift color based on the shift factor. The closer the shift factor value is to 1.0, the closer the colors of the shifted color scheme will be to the shift color.

Author:
Kirill Grouchnikov

Field Summary
protected static LazyResettableHashMap<SubstanceColorScheme> shiftedCache
          Cache of shifted schemes.
 
Fields inherited from class org.jvnet.substance.colorscheme.BaseColorScheme
derivedColorsResolver, displayName, isDark
 
Constructor Summary
ShiftColorScheme(SubstanceColorScheme origScheme, java.awt.Color shiftColor, double shiftFactor)
          Creates a new shifted color scheme.
ShiftColorScheme(SubstanceColorScheme origScheme, java.awt.Color backgroundShiftColor, double backgroundShiftFactor, java.awt.Color foregroundShiftColor, double foregroundShiftFactor, boolean shiftByBrightness)
          Creates a new shifted color scheme.
 
Method Summary
 java.awt.Color getDarkColor()
          Retrieves the dark color.
 java.awt.Color getExtraLightColor()
          Retrieves the extra color.
 java.awt.Color getForegroundColor()
          Retrieves the foreground color.
 java.awt.Color getLightColor()
          Retrieves the light color.
 java.awt.Color getMidColor()
          Retrieves the medium color.
 SubstanceColorScheme getOrigScheme()
          Returns the original color scheme.
static SubstanceColorScheme getShiftedScheme(SubstanceColorScheme orig, java.awt.Color backgroundShiftColor, double backgroundShiftFactor, java.awt.Color foregroundShiftColor, double foregroundShiftFactor)
          Returns a shifted color scheme.
 double getShiftFactor()
          Returns the shift factor.
 java.awt.Color getUltraDarkColor()
          Retrieves the ultra-dark color.
 java.awt.Color getUltraLightColor()
          Retrieves the ultra-light color.
 
Methods inherited from class org.jvnet.substance.colorscheme.BaseColorScheme
getBackgroundFillColor, getDisplayName, getFocusRingColor, getLineColor, getSelectionBackgroundColor, getSelectionForegroundColor, getTextBackgroundFillColor, getWatermarkDarkColor, getWatermarkLightColor, getWatermarkStampColor, hueShift, invert, isDark, named, negate, saturate, shade, shift, shiftBackground, tint, tone, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

shiftedCache

protected static final LazyResettableHashMap<SubstanceColorScheme> shiftedCache
Cache of shifted schemes.

Constructor Detail

ShiftColorScheme

public ShiftColorScheme(SubstanceColorScheme origScheme,
                        java.awt.Color shiftColor,
                        double shiftFactor)
Creates a new shifted color scheme.

Parameters:
origScheme - The original color scheme.
shiftColor - Shift color for the colors.
shiftFactor - Shift factor for the colors. Should be in 0.0-1.0 range.

ShiftColorScheme

public ShiftColorScheme(SubstanceColorScheme origScheme,
                        java.awt.Color backgroundShiftColor,
                        double backgroundShiftFactor,
                        java.awt.Color foregroundShiftColor,
                        double foregroundShiftFactor,
                        boolean shiftByBrightness)
Creates a new shifted color scheme.

Parameters:
origScheme - The original color scheme.
backgroundShiftColor - Shift color for the background colors.
backgroundShiftFactor - Shift factor for the background colors. Should be in 0.0-1.0 range.
foregroundShiftColor - Shift color for the foreground colors.
foregroundShiftFactor - Shift factor for the foreground colors. Should be in 0.0-1.0 range.
shiftByBrightness - If true, the shift will account for the brightness of the original color scheme colors.
Method Detail

getForegroundColor

public java.awt.Color getForegroundColor()
Description copied from interface: SchemeBaseColors
Retrieves the foreground color.

Returns:
Foreground color.

getUltraLightColor

public java.awt.Color getUltraLightColor()
Description copied from interface: SchemeBaseColors
Retrieves the ultra-light color.

Returns:
Ultra-light color.

getExtraLightColor

public java.awt.Color getExtraLightColor()
Description copied from interface: SchemeBaseColors
Retrieves the extra color.

Returns:
Extra color.

getLightColor

public java.awt.Color getLightColor()
Description copied from interface: SchemeBaseColors
Retrieves the light color.

Returns:
Light color.

getMidColor

public java.awt.Color getMidColor()
Description copied from interface: SchemeBaseColors
Retrieves the medium color.

Returns:
Medium color.

getDarkColor

public java.awt.Color getDarkColor()
Description copied from interface: SchemeBaseColors
Retrieves the dark color.

Returns:
Dark color.

getUltraDarkColor

public java.awt.Color getUltraDarkColor()
Description copied from interface: SchemeBaseColors
Retrieves the ultra-dark color.

Returns:
Ultra-dark color.

getOrigScheme

public SubstanceColorScheme getOrigScheme()
Returns the original color scheme.

Returns:
The original color scheme.

getShiftFactor

public double getShiftFactor()
Returns the shift factor.

Returns:
Shift factor.

getShiftedScheme

public static SubstanceColorScheme getShiftedScheme(SubstanceColorScheme orig,
                                                    java.awt.Color backgroundShiftColor,
                                                    double backgroundShiftFactor,
                                                    java.awt.Color foregroundShiftColor,
                                                    double foregroundShiftFactor)
Returns a shifted color scheme. This method is for internal use only.

Parameters:
orig - The original color scheme.
backgroundShiftColor - Shift color for the background color scheme colors. May be null - in this case, the background color scheme colors will not be shifted.
backgroundShiftFactor - Shift factor for the background color scheme colors. If the shift color for the background color scheme colors is null, this value is ignored.
foregroundShiftColor - Shift color for the foreground color scheme colors. May be null - in this case, the foreground color scheme colors will not be shifted.
foregroundShiftFactor - Shift factor for the foreground color scheme colors. If the shift color for the foreground color scheme colors is null, this value is ignored.
Returns:
Shifted scheme.