org.pushingpixels.substance.internal.utils
Class SubstanceColorUtilities

java.lang.Object
  extended by org.pushingpixels.substance.internal.utils.SubstanceColorUtilities

public class SubstanceColorUtilities
extends java.lang.Object

Various color-related utilities. This class is for internal use only.


Constructor Summary
SubstanceColorUtilities()
           
 
Method Summary
static java.awt.Color deriveByBrightness(java.awt.Color original, java.awt.Color brightnessSource)
          Derives a color based on the original color and a brightness source.
static java.lang.String encode(java.awt.Color color)
           
static java.lang.String encode(int number)
           
static java.awt.Color getAlphaColor(java.awt.Color color, int alpha)
          Returns a translucent of the specified color.
static java.awt.Color getBackgroundFillColor(java.awt.Component component)
          Returns the background fill color of the specified component.
static java.awt.Color getBottomBorderColor(SubstanceColorScheme scheme)
          Returns the color of the bottom portion of border in control backgrounds.
static java.awt.Color getBottomFillColor(SubstanceColorScheme scheme)
          Returns the color of the bottom portion of fill in control backgrounds.
static java.awt.Color getBottomShineColor(SubstanceColorScheme scheme)
          Returns the color of the bottom portion of shine in control backgrounds.
static int getColorBrightness(int rgb)
          Returns the brightness of the specified color.
static float getColorStrength(java.awt.Color color)
          Returns the color strength.
static java.awt.Color getDarkerColor(java.awt.Color color, double diff)
          Returns darker version of the specified color.
static javax.swing.plaf.ColorUIResource getDefaultBackgroundColor(boolean toTreatAsTextComponent, SubstanceSkin skin, boolean isDisabled)
          Returns the default background color for the components of the specified class.
static javax.swing.plaf.ColorUIResource getDefaultBackgroundColor(java.awt.Component comp, ComponentState compState)
          Returns the default background color for the specified component.
static java.awt.Color getFocusColor(java.awt.Component comp, TransitionAwareUI transitionAwareUI)
          Returns the color of the focus ring for the specified component.
static java.awt.Color getForegroundColor(java.awt.Component component, StateTransitionTracker.ModelStateInfo modelStateInfo)
          Returns the foreground text color of the specified component.
static javax.swing.plaf.ColorUIResource getForegroundColor(SubstanceColorScheme scheme)
          Returns the foreground color of the specified color scheme.
static java.awt.Color getHueShiftedColor(java.awt.Color color, double hueShift)
          Returns hue-shifted (in HSV space) version of the specified color.
static java.awt.Color getInterpolatedColor(java.awt.Color color1, java.awt.Color color2, double color1Likeness)
          Interpolates color.
static int getInterpolatedRGB(java.awt.Color color1, java.awt.Color color2, double color1Likeness)
          Interpolates color.
static java.awt.Color getLighterColor(java.awt.Color color, double diff)
          Returns lighter version of the specified color.
static java.awt.Color getMarkColor(SubstanceColorScheme colorScheme, boolean isEnabled)
          Returns the color of mark icons (checkbox, radio button, scrollbar arrows, combo arrows, menu arrows etc) for the specified color scheme.
static java.awt.Color getMenuComponentForegroundColor(java.awt.Component menuComponent, StateTransitionTracker.ModelStateInfo modelStateInfo)
          Returns the foreground text color of the specified menu component.
static java.awt.Color getMidBorderColor(SubstanceColorScheme scheme)
          Returns the color of the middle portion of border in control backgrounds.
static java.awt.Color getMidFillColor(SubstanceColorScheme scheme)
          Returns the color of the middle portion of fill in control backgrounds.
static java.awt.Color getNegativeColor(java.awt.Color color)
          Returns a negative of the specified color.
static int getNegativeColor(int rgb)
          Returns a negative of the specified color.
static java.awt.Color getOuterTextComponentBorderColor(java.awt.Color fillBackgroundColor)
           
static java.awt.Color getSaturatedColor(java.awt.Color color, double factor)
          Returns saturated version of the specified color.
static java.awt.Color getStripedBackground(javax.swing.JComponent component, int rowIndex)
          Returns the striped background for the specified component.
static java.awt.Color getTopBorderColor(SubstanceColorScheme scheme)
          Returns the color of the top portion of border in control backgrounds.
static java.awt.Color getTopFillColor(SubstanceColorScheme scheme)
          Returns the color of the top portion of fill in control backgrounds.
static java.awt.Color getTopShineColor(SubstanceColorScheme scheme)
          Returns the color of the top portion of shine in control backgrounds.
static java.awt.Color invertColor(java.awt.Color color)
          Inverts the specified color.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubstanceColorUtilities

public SubstanceColorUtilities()
Method Detail

getTopBorderColor

public static java.awt.Color getTopBorderColor(SubstanceColorScheme scheme)
Returns the color of the top portion of border in control backgrounds.

Parameters:
scheme - The color scheme.
Returns:
The color of the top portion of border in control backgrounds.

getMidBorderColor

public static java.awt.Color getMidBorderColor(SubstanceColorScheme scheme)
Returns the color of the middle portion of border in control backgrounds.

Parameters:
scheme - The color scheme.
Returns:
The color of the middle portion of border in control backgrounds.

getBottomBorderColor

public static java.awt.Color getBottomBorderColor(SubstanceColorScheme scheme)
Returns the color of the bottom portion of border in control backgrounds.

Parameters:
scheme - The color scheme.
Returns:
The color of the bottom portion of border in control backgrounds.

getTopFillColor

public static java.awt.Color getTopFillColor(SubstanceColorScheme scheme)
Returns the color of the top portion of fill in control backgrounds.

Returns:
The color of the top portion of fill in control backgrounds.

getMidFillColor

public static java.awt.Color getMidFillColor(SubstanceColorScheme scheme)
Returns the color of the middle portion of fill in control backgrounds.

Returns:
The color of the middle portion of fill in control backgrounds.

getBottomFillColor

public static java.awt.Color getBottomFillColor(SubstanceColorScheme scheme)
Returns the color of the bottom portion of fill in control backgrounds.

Returns:
The color of the bottom portion of fill in control backgrounds.

getTopShineColor

public static java.awt.Color getTopShineColor(SubstanceColorScheme scheme)
Returns the color of the top portion of shine in control backgrounds.

Returns:
The color of the top portion of shine in control backgrounds.

getBottomShineColor

public static java.awt.Color getBottomShineColor(SubstanceColorScheme scheme)
Returns the color of the bottom portion of shine in control backgrounds.

Returns:
The color of the bottom portion of shine in control backgrounds.

getInterpolatedRGB

public static int getInterpolatedRGB(java.awt.Color color1,
                                     java.awt.Color color2,
                                     double color1Likeness)
Interpolates color.

Parameters:
color1 - The first color
color2 - The second color
color1Likeness - The closer this value is to 0.0, the closer the resulting color will be to color2.
Returns:
Interpolated RGB value.

getInterpolatedColor

public static java.awt.Color getInterpolatedColor(java.awt.Color color1,
                                                  java.awt.Color color2,
                                                  double color1Likeness)
Interpolates color.

Parameters:
color1 - The first color
color2 - The second color
color1Likeness - The closer this value is to 0.0, the closer the resulting color will be to color2.
Returns:
Interpolated color.

invertColor

public static java.awt.Color invertColor(java.awt.Color color)
Inverts the specified color.

Parameters:
color - The original color.
Returns:
The inverted color.

getNegativeColor

public static java.awt.Color getNegativeColor(java.awt.Color color)
Returns a negative of the specified color.

Parameters:
color - Color.
Returns:
Negative of the specified color.

getNegativeColor

public static int getNegativeColor(int rgb)
Returns a negative of the specified color.

Parameters:
rgb - Color RGB.
Returns:
Negative of the specified color.

getAlphaColor

public static java.awt.Color getAlphaColor(java.awt.Color color,
                                           int alpha)
Returns a translucent of the specified color.

Parameters:
color - Color.
alpha - Alpha channel value.
Returns:
Translucent of the specified color that matches the requested alpha channel value.

getSaturatedColor

public static java.awt.Color getSaturatedColor(java.awt.Color color,
                                               double factor)
Returns saturated version of the specified color.

Parameters:
color - Color.
factor - Saturation factor.
Returns:
Saturated color.

getHueShiftedColor

public static java.awt.Color getHueShiftedColor(java.awt.Color color,
                                                double hueShift)
Returns hue-shifted (in HSV space) version of the specified color.

Parameters:
color - Color.
hueShift - hue shift factor.
Returns:
Hue-shifted (in HSV space) color.

deriveByBrightness

public static java.awt.Color deriveByBrightness(java.awt.Color original,
                                                java.awt.Color brightnessSource)
Derives a color based on the original color and a brightness source. The resulting color has the same hue and saturation as the original color, but its brightness is shifted towards the brightness of the brightness source. Thus, a light red color shifted towards dark green will become dark red.

Parameters:
original - Original color.
brightnessSource - Brightness source.
Returns:
Derived color that has the same hue and saturation as the original color, but its brightness is shifted towards the brightness of the brightness source.

getForegroundColor

public static javax.swing.plaf.ColorUIResource getForegroundColor(SubstanceColorScheme scheme)
Returns the foreground color of the specified color scheme.

Parameters:
scheme - Color scheme.
Returns:
Color scheme foreground color.

getLighterColor

public static java.awt.Color getLighterColor(java.awt.Color color,
                                             double diff)
Returns lighter version of the specified color.

Parameters:
color - Color.
diff - Difference factor (values closer to 1.0 will produce results closer to white color).
Returns:
Lighter version of the specified color.

getDarkerColor

public static java.awt.Color getDarkerColor(java.awt.Color color,
                                            double diff)
Returns darker version of the specified color.

Parameters:
color - Color.
diff - Difference factor (values closer to 1.0 will produce results closer to black color).
Returns:
Darker version of the specified color.

getColorBrightness

public static int getColorBrightness(int rgb)
Returns the brightness of the specified color.

Parameters:
rgb - RGB value of a color.
Returns:
The brightness of the specified color.

getFocusColor

public static java.awt.Color getFocusColor(java.awt.Component comp,
                                           TransitionAwareUI transitionAwareUI)
Returns the color of the focus ring for the specified component.

Parameters:
comp - Component.
Returns:
The color of the focus ring for the specified component.

getColorStrength

public static float getColorStrength(java.awt.Color color)
Returns the color strength.

Parameters:
color - Color.
Returns:
Color strength.

getMarkColor

public static java.awt.Color getMarkColor(SubstanceColorScheme colorScheme,
                                          boolean isEnabled)
Returns the color of mark icons (checkbox, radio button, scrollbar arrows, combo arrows, menu arrows etc) for the specified color scheme.

Parameters:
colorScheme - Color scheme.
isEnabled - If true, the mark should be painted in enabled state.
Returns:
Color of mark icons.

getForegroundColor

public static java.awt.Color getForegroundColor(java.awt.Component component,
                                                StateTransitionTracker.ModelStateInfo modelStateInfo)
Returns the foreground text color of the specified component.

Parameters:
component - Component.
modelStateInfo - The mode state info
Returns:
The foreground text color of the specified component.

getMenuComponentForegroundColor

public static java.awt.Color getMenuComponentForegroundColor(java.awt.Component menuComponent,
                                                             StateTransitionTracker.ModelStateInfo modelStateInfo)
Returns the foreground text color of the specified menu component.

Parameters:
menuComponent - Menu component.
modelStateInfo - Model state info for the component.
Returns:
The foreground text color of the specified menu component.

getBackgroundFillColor

public static java.awt.Color getBackgroundFillColor(java.awt.Component component)
Returns the background fill color of the specified component.

Parameters:
component - Component.
Returns:
The background fill color of the specified component.

getOuterTextComponentBorderColor

public static java.awt.Color getOuterTextComponentBorderColor(java.awt.Color fillBackgroundColor)

getDefaultBackgroundColor

public static javax.swing.plaf.ColorUIResource getDefaultBackgroundColor(boolean toTreatAsTextComponent,
                                                                         SubstanceSkin skin,
                                                                         boolean isDisabled)
Returns the default background color for the components of the specified class.

Parameters:
toTreatAsTextComponent - if the component is to be colored as a text component.
skin - Skin.
isDisabled - Indication whether the result should be for disabled components.
Returns:
The default background color for the components of the specified class.

getDefaultBackgroundColor

public static javax.swing.plaf.ColorUIResource getDefaultBackgroundColor(java.awt.Component comp,
                                                                         ComponentState compState)
Returns the default background color for the specified component.

Parameters:
comp - Component.
compState - Component state.
Returns:
The default background color for the components of the specified class.

getStripedBackground

public static java.awt.Color getStripedBackground(javax.swing.JComponent component,
                                                  int rowIndex)
Returns the striped background for the specified component. This method is relevant for components such as trees, tables and lists that use odd-even striping for the alternating rows.

Parameters:
component - Component.
rowIndex - Row index.
Returns:
The striped background for the specified component.

encode

public static java.lang.String encode(int number)

encode

public static java.lang.String encode(java.awt.Color color)