org.jvnet.substance.colorscheme
Class BaseColorScheme

java.lang.Object
  extended by org.jvnet.substance.colorscheme.BaseColorScheme
All Implemented Interfaces:
SchemeBaseColors, SchemeDerivedColors, SubstanceColorScheme, SubstanceTrait
Direct Known Subclasses:
BaseDarkColorScheme, BaseLightColorScheme, BlendBiColorScheme, HueShiftColorScheme, InvertedColorScheme, NegatedColorScheme, SaturatedColorScheme, ShiftColorScheme

public abstract class BaseColorScheme
extends java.lang.Object
implements SubstanceColorScheme

Base class for Substance color schemes.

Author:
kirillg

Field Summary
protected  SchemeDerivedColors derivedColorsResolver
          Resolver for the derived colors.
protected  java.lang.String displayName
          Display name of this color scheme.
protected  boolean isDark
          Indicates whether this color scheme is dark.
 
Constructor Summary
protected BaseColorScheme(java.lang.String displayName, boolean isDark)
          Constructs the basic functionality of a color scheme.
 
Method Summary
 java.awt.Color getBackgroundFillColor()
          Returns the background fill color for this scheme.
 java.lang.String getDisplayName()
          Returns the display name of this trait.
 java.awt.Color getFocusRingColor()
          Returns the focus ring color for this scheme.
 java.awt.Color getLineColor()
          Returns the line color for this scheme.
 java.awt.Color getSelectionBackgroundColor()
          Returns the selection background color for this scheme.
 java.awt.Color getSelectionForegroundColor()
          Returns the selection foreground color for this scheme.
 java.awt.Color getTextBackgroundFillColor()
          Returns the text background fill color for this scheme.
 java.awt.Color getWatermarkDarkColor()
          Returns the watermark dark color for this scheme.
 java.awt.Color getWatermarkLightColor()
          Returns the watermark light color for this scheme.
 java.awt.Color getWatermarkStampColor()
          Returns the watermark stamp color for this scheme.
 SubstanceColorScheme hueShift(double hueShiftFactor)
          Creates a hue-shifted (in HSB space) version of this color scheme.
 SubstanceColorScheme invert()
          Creates an inverted version of this scheme.
 boolean isDark()
          Returns indication whether this color scheme uses dark colors.
 SubstanceColorScheme named(java.lang.String colorSchemeDisplayName)
          This method is a fluent-interface builder utility for setting the display name for this color scheme.
 SubstanceColorScheme negate()
          Creates a negated version of this scheme.
 SubstanceColorScheme saturate(double saturateFactor)
          Creates a saturated or desaturated version of this scheme.
 SubstanceColorScheme shade(double shadeFactor)
          Creates a shaded (shifted towards black) version of this color scheme.
 SubstanceColorScheme shift(java.awt.Color backgroundShiftColor, double backgroundShiftFactor, java.awt.Color foregroundShiftColor, double foregroundShiftFactor)
          Creates a shift version of this scheme.
 SubstanceColorScheme shiftBackground(java.awt.Color backgroundShiftColor, double backgroundShiftFactor)
          Creates a shift version of this scheme.
 SubstanceColorScheme tint(double tintFactor)
          Creates a tinted (shifted towards white) version of this color scheme.
 SubstanceColorScheme tone(double toneFactor)
          Creates a toned (shifted towards gray) version of this color scheme.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jvnet.substance.api.SchemeBaseColors
getDarkColor, getExtraLightColor, getForegroundColor, getLightColor, getMidColor, getUltraDarkColor, getUltraLightColor
 

Field Detail

isDark

protected boolean isDark
Indicates whether this color scheme is dark.


displayName

protected java.lang.String displayName
Display name of this color scheme.


derivedColorsResolver

protected SchemeDerivedColors derivedColorsResolver
Resolver for the derived colors.

Constructor Detail

BaseColorScheme

protected BaseColorScheme(java.lang.String displayName,
                          boolean isDark)
Constructs the basic functionality of a color scheme.

Parameters:
displayName - Display name.
isDark - Indication whether the color scheme is dark.
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.

isDark

public boolean isDark()
Description copied from interface: SubstanceColorScheme
Returns indication whether this color scheme uses dark colors. Note that this method may be removed in the future.

Specified by:
isDark in interface SubstanceColorScheme
Returns:
true if this color scheme uses dark colors, false otherwise.

shift

public SubstanceColorScheme shift(java.awt.Color backgroundShiftColor,
                                  double backgroundShiftFactor,
                                  java.awt.Color foregroundShiftColor,
                                  double foregroundShiftFactor)
Description copied from interface: SubstanceColorScheme
Creates a shift version of this scheme.

Specified by:
shift in interface SubstanceColorScheme
Parameters:
backgroundShiftColor - Shift color for background colors. Should have full opacity.
backgroundShiftFactor - Value in 0.0...1.0 range. Larger values shift more towards the specified color.
foregroundShiftColor - Shift color for foreground colors. Should have full opacity.
foregroundShiftFactor - Value in 0.0...1.0 range. Larger values shift more towards the specified color.
Returns:
Shift version of this scheme.

shiftBackground

public SubstanceColorScheme shiftBackground(java.awt.Color backgroundShiftColor,
                                            double backgroundShiftFactor)
Description copied from interface: SubstanceColorScheme
Creates a shift version of this scheme.

Specified by:
shiftBackground in interface SubstanceColorScheme
Parameters:
backgroundShiftColor - Shift color for background colors. Should have full opacity.
backgroundShiftFactor - Value in 0.0...1.0 range. Larger values shift more towards the specified color.
Returns:
Shift version of this scheme that does not change the foreground color.

tint

public SubstanceColorScheme tint(double tintFactor)
Description copied from interface: SubstanceColorScheme
Creates a tinted (shifted towards white) version of this color scheme.

Specified by:
tint in interface SubstanceColorScheme
Parameters:
tintFactor - Value in 0.0...1.0 range. Larger values shift more towards white color.
Returns:
Tinted version of this scheme.

tone

public SubstanceColorScheme tone(double toneFactor)
Description copied from interface: SubstanceColorScheme
Creates a toned (shifted towards gray) version of this color scheme.

Specified by:
tone in interface SubstanceColorScheme
Parameters:
toneFactor - Value in 0.0...1.0 range. Larger values shift more towards gray color.
Returns:
Toned version of this scheme.

shade

public SubstanceColorScheme shade(double shadeFactor)
Description copied from interface: SubstanceColorScheme
Creates a shaded (shifted towards black) version of this color scheme.

Specified by:
shade in interface SubstanceColorScheme
Parameters:
shadeFactor - Value in 0.0...1.0 range. Larger values shift more towards black color.
Returns:
Shaded version of this scheme.

saturate

public SubstanceColorScheme saturate(double saturateFactor)
Description copied from interface: SubstanceColorScheme
Creates a saturated or desaturated version of this scheme. The value and brightness stay the same.

Specified by:
saturate in interface SubstanceColorScheme
Parameters:
saturateFactor - Value in -1.0...1.0 range. Positive values create more saturated colors. Negative values create more desaturated colors.
Returns:
Saturated version of this scheme.

invert

public SubstanceColorScheme invert()
Description copied from interface: SubstanceColorScheme
Creates an inverted version of this scheme.

Specified by:
invert in interface SubstanceColorScheme
Returns:
Inverted version of this scheme.

negate

public SubstanceColorScheme negate()
Description copied from interface: SubstanceColorScheme
Creates a negated version of this scheme.

Specified by:
negate in interface SubstanceColorScheme
Returns:
Negated version of this scheme.

hueShift

public SubstanceColorScheme hueShift(double hueShiftFactor)
Description copied from interface: SubstanceColorScheme
Creates a hue-shifted (in HSB space) version of this color scheme.

Specified by:
hueShift in interface SubstanceColorScheme
Parameters:
hueShiftFactor - Value in -1.0...1.0 range.
Returns:
Hue-shifted version of this scheme.

getBackgroundFillColor

public java.awt.Color getBackgroundFillColor()
Description copied from interface: SchemeDerivedColors
Returns the background fill color for this scheme.

Specified by:
getBackgroundFillColor in interface SchemeDerivedColors
Returns:
The background fill color for this scheme.

getFocusRingColor

public java.awt.Color getFocusRingColor()
Description copied from interface: SchemeDerivedColors
Returns the focus ring color for this scheme.

Specified by:
getFocusRingColor in interface SchemeDerivedColors
Returns:
The focus ring color for this scheme.

getLineColor

public java.awt.Color getLineColor()
Description copied from interface: SchemeDerivedColors
Returns the line color for this scheme.

Specified by:
getLineColor in interface SchemeDerivedColors
Returns:
The line color for this scheme.

getSelectionForegroundColor

public java.awt.Color getSelectionForegroundColor()
Description copied from interface: SchemeDerivedColors
Returns the selection foreground color for this scheme.

Specified by:
getSelectionForegroundColor in interface SchemeDerivedColors
Returns:
The selection foreground color for this scheme.

getSelectionBackgroundColor

public java.awt.Color getSelectionBackgroundColor()
Description copied from interface: SchemeDerivedColors
Returns the selection background color for this scheme.

Specified by:
getSelectionBackgroundColor in interface SchemeDerivedColors
Returns:
The selection background color for this scheme.

getWatermarkDarkColor

public java.awt.Color getWatermarkDarkColor()
Description copied from interface: SchemeDerivedColors
Returns the watermark dark color for this scheme.

Specified by:
getWatermarkDarkColor in interface SchemeDerivedColors
Returns:
Watermark dark color for this scheme.

getWatermarkLightColor

public java.awt.Color getWatermarkLightColor()
Description copied from interface: SchemeDerivedColors
Returns the watermark light color for this scheme.

Specified by:
getWatermarkLightColor in interface SchemeDerivedColors
Returns:
Watermark light color for this scheme.

getWatermarkStampColor

public java.awt.Color getWatermarkStampColor()
Description copied from interface: SchemeDerivedColors
Returns the watermark stamp color for this scheme.

Specified by:
getWatermarkStampColor in interface SchemeDerivedColors
Returns:
Watermark stamp color for this scheme.

getTextBackgroundFillColor

public java.awt.Color getTextBackgroundFillColor()
Description copied from interface: SchemeDerivedColors
Returns the text background fill color for this scheme.

Specified by:
getTextBackgroundFillColor in interface SchemeDerivedColors
Returns:
The text background fill color for this scheme.

named

public SubstanceColorScheme named(java.lang.String colorSchemeDisplayName)
Description copied from interface: SubstanceColorScheme
This method is a fluent-interface builder utility for setting the display name for this color scheme. The implementation must return the same this instance.

Specified by:
named in interface SubstanceColorScheme
Parameters:
colorSchemeDisplayName - New display name for this color scheme.
Returns:
This color scheme.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object