Class BaseColorScheme
- java.lang.Object
-
- org.pushingpixels.substance.api.colorscheme.BaseColorScheme
-
- All Implemented Interfaces:
SchemeBaseColors,SchemeDerivedColors,SubstanceColorScheme,SubstanceTrait
- Direct Known Subclasses:
BaseDarkColorScheme,BaseLightColorScheme
public abstract class BaseColorScheme extends java.lang.Object implements SubstanceColorScheme
Base class for Substance color schemes.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringdisplayNameDisplay name of this color scheme.protected booleanisDarkIndicates whether this color scheme is dark.
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseColorScheme(java.lang.String displayName, boolean isDark)Constructs the basic functionality of a color scheme.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SubstanceColorSchemeblendWith(SubstanceColorScheme otherScheme, double likenessToThisScheme)Creates a blended version ofthiscolor scheme based on another color scheme.java.awt.ColorgetAccentedBackgroundFillColor()Returns the accented background fill color forthisscheme.java.awt.ColorgetBackgroundFillColor()Returns the background fill color forthisscheme.java.lang.StringgetDisplayName()Returns the display name ofthistrait.java.awt.ColorgetEchoColor()Returns the echo color forthisscheme.java.awt.ColorgetFocusRingColor()Returns the focus ring color forthisscheme.java.awt.ColorgetLineColor()Returns the line color forthisscheme.java.awt.ColorgetMarkColor()Returns the mark color forthisscheme.java.awt.ColorgetSelectionBackgroundColor()Returns the selection background color forthisscheme.java.awt.ColorgetSelectionForegroundColor()Returns the selection foreground color forthisscheme.java.awt.ColorgetSeparatorPrimaryColor()Returns the primary separator color forthisscheme.java.awt.ColorgetSeparatorSecondaryColor()Returns the secondary separator color forthisscheme.java.awt.ColorgetTextBackgroundFillColor()Returns the text background fill color forthisscheme.SubstanceColorSchemehueShift(double hueShiftFactor)Creates a hue-shifted (in HSB space) version ofthiscolor scheme.SubstanceColorSchemeinvert()Creates an inverted version ofthisscheme.booleanisDark()Returns indication whether this color scheme uses dark colors.SubstanceColorSchemenamed(java.lang.String colorSchemeDisplayName)This method is a fluent-interface builder utility for setting the display name for this color scheme.SubstanceColorSchemenegate()Creates a negated version ofthisscheme.SubstanceColorSchemesaturate(double saturateFactor)Creates a saturated or desaturated version ofthisscheme.SubstanceColorSchemeshade(double shadeFactor)Creates a shaded (shifted towards black) version ofthiscolor scheme.SubstanceColorSchemeshift(java.awt.Color backgroundShiftColor, double backgroundShiftFactor, java.awt.Color foregroundShiftColor, double foregroundShiftFactor)Creates a shift version ofthisscheme.SubstanceColorSchemeshiftBackground(java.awt.Color backgroundShiftColor, double backgroundShiftFactor)Creates a shift version ofthisscheme.SubstanceColorSchemetint(double tintFactor)Creates a tinted (shifted towards white) version ofthiscolor scheme.SubstanceColorSchemetone(double toneFactor)Creates a toned (shifted towards gray) version ofthiscolor scheme.java.lang.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pushingpixels.substance.api.colorscheme.SchemeBaseColors
getDarkColor, getExtraLightColor, getForegroundColor, getLightColor, getMidColor, getUltraDarkColor, getUltraLightColor, toImage
-
-
-
-
Method Detail
-
getDisplayName
public final java.lang.String getDisplayName()
Description copied from interface:SubstanceTraitReturns the display name ofthistrait. This method is part of officially supported API.- Specified by:
getDisplayNamein interfaceSubstanceTrait- Returns:
- The display name of
thistrait.
-
isDark
public final boolean isDark()
Description copied from interface:SubstanceColorSchemeReturns indication whether this color scheme uses dark colors. Note that this method may be removed in the future. It is highly recommended to use one of the colors from the parentSchemeBaseColorsandSchemeDerivedColorsinterfaces instead.- Specified by:
isDarkin interfaceSubstanceColorScheme- Returns:
trueif this color scheme uses dark colors,falseotherwise.
-
shift
public final SubstanceColorScheme shift(java.awt.Color backgroundShiftColor, double backgroundShiftFactor, java.awt.Color foregroundShiftColor, double foregroundShiftFactor)
Description copied from interface:SubstanceColorSchemeCreates a shift version ofthisscheme.- Specified by:
shiftin interfaceSubstanceColorScheme- 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
thisscheme.
-
shiftBackground
public final SubstanceColorScheme shiftBackground(java.awt.Color backgroundShiftColor, double backgroundShiftFactor)
Description copied from interface:SubstanceColorSchemeCreates a shift version ofthisscheme.- Specified by:
shiftBackgroundin interfaceSubstanceColorScheme- 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
thisscheme that does not change the foreground color.
-
tint
public SubstanceColorScheme tint(double tintFactor)
Description copied from interface:SubstanceColorSchemeCreates a tinted (shifted towards white) version ofthiscolor scheme.- Specified by:
tintin interfaceSubstanceColorScheme- Parameters:
tintFactor- Value in 0.0...1.0 range. Larger values shift more towards white color.- Returns:
- Tinted version of
thisscheme.
-
tone
public SubstanceColorScheme tone(double toneFactor)
Description copied from interface:SubstanceColorSchemeCreates a toned (shifted towards gray) version ofthiscolor scheme.- Specified by:
tonein interfaceSubstanceColorScheme- Parameters:
toneFactor- Value in 0.0...1.0 range. Larger values shift more towards gray color.- Returns:
- Toned version of
thisscheme.
-
shade
public SubstanceColorScheme shade(double shadeFactor)
Description copied from interface:SubstanceColorSchemeCreates a shaded (shifted towards black) version ofthiscolor scheme.- Specified by:
shadein interfaceSubstanceColorScheme- Parameters:
shadeFactor- Value in 0.0...1.0 range. Larger values shift more towards black color.- Returns:
- Shaded version of
thisscheme.
-
saturate
public SubstanceColorScheme saturate(double saturateFactor)
Description copied from interface:SubstanceColorSchemeCreates a saturated or desaturated version ofthisscheme. The value and brightness stay the same.- Specified by:
saturatein interfaceSubstanceColorScheme- 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
thisscheme.
-
invert
public SubstanceColorScheme invert()
Description copied from interface:SubstanceColorSchemeCreates an inverted version ofthisscheme.- Specified by:
invertin interfaceSubstanceColorScheme- Returns:
- Inverted version of
thisscheme.
-
negate
public SubstanceColorScheme negate()
Description copied from interface:SubstanceColorSchemeCreates a negated version ofthisscheme.- Specified by:
negatein interfaceSubstanceColorScheme- Returns:
- Negated version of
thisscheme.
-
hueShift
public SubstanceColorScheme hueShift(double hueShiftFactor)
Description copied from interface:SubstanceColorSchemeCreates a hue-shifted (in HSB space) version ofthiscolor scheme.- Specified by:
hueShiftin interfaceSubstanceColorScheme- Parameters:
hueShiftFactor- Value in -1.0...1.0 range.- Returns:
- Hue-shifted version of
thisscheme.
-
blendWith
public SubstanceColorScheme blendWith(SubstanceColorScheme otherScheme, double likenessToThisScheme)
Description copied from interface:SubstanceColorSchemeCreates a blended version ofthiscolor scheme based on another color scheme.- Specified by:
blendWithin interfaceSubstanceColorScheme- Parameters:
otherScheme- The other color scheme for blending colors.likenessToThisScheme- Defines how close the colors of the resulting color scheme are to this scheme. Value of 1.0 returns a color scheme with the exact colors of this color scheme. Value of 0.0 returns a color scheme with the exact colors of the other color scheme.- Returns:
- Blended color scheme.
-
getBackgroundFillColor
public java.awt.Color getBackgroundFillColor()
Description copied from interface:SchemeDerivedColorsReturns the background fill color forthisscheme.- Specified by:
getBackgroundFillColorin interfaceSchemeDerivedColors- Returns:
- The background fill color for
thisscheme.
-
getAccentedBackgroundFillColor
public java.awt.Color getAccentedBackgroundFillColor()
Description copied from interface:SchemeDerivedColorsReturns the accented background fill color forthisscheme.- Specified by:
getAccentedBackgroundFillColorin interfaceSchemeDerivedColors- Returns:
- The accented background fill color for
thisscheme.
-
getFocusRingColor
public java.awt.Color getFocusRingColor()
Description copied from interface:SchemeDerivedColorsReturns the focus ring color forthisscheme.- Specified by:
getFocusRingColorin interfaceSchemeDerivedColors- Returns:
- The focus ring color for
thisscheme. - See Also:
SubstanceSkin.getOverlayColor(SubstanceSlices.ColorOverlayType, SubstanceSlices.DecorationAreaType, ComponentState)
-
getLineColor
public java.awt.Color getLineColor()
Description copied from interface:SchemeDerivedColorsReturns the line color forthisscheme.- Specified by:
getLineColorin interfaceSchemeDerivedColors- Returns:
- The line color for
thisscheme. - See Also:
SubstanceSkin.getOverlayColor(SubstanceSlices.ColorOverlayType, SubstanceSlices.DecorationAreaType, ComponentState)
-
getSelectionForegroundColor
public java.awt.Color getSelectionForegroundColor()
Description copied from interface:SchemeDerivedColorsReturns the selection foreground color forthisscheme.- Specified by:
getSelectionForegroundColorin interfaceSchemeDerivedColors- Returns:
- The selection foreground color for
thisscheme.
-
getSelectionBackgroundColor
public java.awt.Color getSelectionBackgroundColor()
Description copied from interface:SchemeDerivedColorsReturns the selection background color forthisscheme.- Specified by:
getSelectionBackgroundColorin interfaceSchemeDerivedColors- Returns:
- The selection background color for
thisscheme.
-
getTextBackgroundFillColor
public java.awt.Color getTextBackgroundFillColor()
Description copied from interface:SchemeDerivedColorsReturns the text background fill color forthisscheme.- Specified by:
getTextBackgroundFillColorin interfaceSchemeDerivedColors- Returns:
- The text background fill color for
thisscheme.
-
getSeparatorPrimaryColor
public java.awt.Color getSeparatorPrimaryColor()
Description copied from interface:SchemeDerivedColorsReturns the primary separator color forthisscheme.- Specified by:
getSeparatorPrimaryColorin interfaceSchemeDerivedColors- Returns:
- The primary separator color for
thisscheme.
-
getSeparatorSecondaryColor
public java.awt.Color getSeparatorSecondaryColor()
Description copied from interface:SchemeDerivedColorsReturns the secondary separator color forthisscheme.- Specified by:
getSeparatorSecondaryColorin interfaceSchemeDerivedColors- Returns:
- The secondary separator color for
thisscheme.
-
getMarkColor
public java.awt.Color getMarkColor()
Description copied from interface:SchemeDerivedColorsReturns the mark color forthisscheme. Mark color is used on checkboxes, radio buttons, scrollbar arrows, combo arrows, menu arrows, etc.- Specified by:
getMarkColorin interfaceSchemeDerivedColors- Returns:
- The mark color for
thisscheme.
-
getEchoColor
public java.awt.Color getEchoColor()
Description copied from interface:SchemeDerivedColorsReturns the echo color forthisscheme. Echo color is used for drawing slight echo / drop shadow around title pane texts and similar "primary" elements.- Specified by:
getEchoColorin interfaceSchemeDerivedColors- Returns:
- The echo color for
thisscheme.
-
named
public final SubstanceColorScheme named(java.lang.String colorSchemeDisplayName)
Description copied from interface:SubstanceColorSchemeThis method is a fluent-interface builder utility for setting the display name for this color scheme. The implementation must return the samethisinstance.- Specified by:
namedin interfaceSubstanceColorScheme- Parameters:
colorSchemeDisplayName- New display name for this color scheme.- Returns:
- This color scheme.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-