Class BaseColorScheme
- java.lang.Object
-
- org.pushingpixels.substance.api.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 Object implements SubstanceColorScheme
Base class for Substance color schemes.
-
-
Field Summary
Fields Modifier and Type Field Description protected SchemeDerivedColorsResolver
derivedColorsResolver
Resolver for the derived colors.protected String
displayName
Display name of this color scheme.protected boolean
isDark
Indicates whether this color scheme is dark.
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseColorScheme(String displayName, boolean isDark)
Constructs the basic functionality of a color scheme.protected
BaseColorScheme(String displayName, SchemeDerivedColorsResolver derivedColorsResolver)
Constructs the basic functionality of a color scheme.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Color
getBackgroundFillColor()
Returns the background fill color forthis
scheme.String
getDisplayName()
Returns the display name ofthis
trait.Color
getFocusRingColor()
Returns the focus ring color forthis
scheme.Color
getLineColor()
Returns the line color forthis
scheme.protected static SchemeDerivedColorsResolver
getResolver(SubstanceColorScheme colorScheme)
Allows subclasses to determine the best color resolver.Color
getSelectionBackgroundColor()
Returns the selection background color forthis
scheme.Color
getSelectionForegroundColor()
Returns the selection foreground color forthis
scheme.Color
getTextBackgroundFillColor()
Returns the text background fill color forthis
scheme.Color
getWatermarkDarkColor()
Returns the watermark dark color forthis
scheme.Color
getWatermarkLightColor()
Returns the watermark light color forthis
scheme.Color
getWatermarkStampColor()
Returns the watermark stamp color forthis
scheme.SubstanceColorScheme
hueShift(double hueShiftFactor)
Creates a hue-shifted (in HSB space) version ofthis
color scheme.SubstanceColorScheme
invert()
Creates an inverted version ofthis
scheme.boolean
isDark()
Returns indication whether this color scheme uses dark colors.SubstanceColorScheme
named(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 ofthis
scheme.SubstanceColorScheme
saturate(double saturateFactor)
Creates a saturated or desaturated version ofthis
scheme.SubstanceColorScheme
shade(double shadeFactor)
Creates a shaded (shifted towards black) version ofthis
color scheme.SubstanceColorScheme
shift(Color backgroundShiftColor, double backgroundShiftFactor, Color foregroundShiftColor, double foregroundShiftFactor)
Creates a shift version ofthis
scheme.SubstanceColorScheme
shiftBackground(Color backgroundShiftColor, double backgroundShiftFactor)
Creates a shift version ofthis
scheme.SubstanceColorScheme
tint(double tintFactor)
Creates a tinted (shifted towards white) version ofthis
color scheme.SubstanceColorScheme
tone(double toneFactor)
Creates a toned (shifted towards gray) version ofthis
color scheme.String
toString()
-
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.SchemeBaseColors
getDarkColor, getExtraLightColor, getForegroundColor, getLightColor, getMidColor, getUltraDarkColor, getUltraLightColor
-
-
-
-
Field Detail
-
isDark
protected boolean isDark
Indicates whether this color scheme is dark.
-
displayName
protected String displayName
Display name of this color scheme.
-
derivedColorsResolver
protected SchemeDerivedColorsResolver derivedColorsResolver
Resolver for the derived colors.
-
-
Constructor Detail
-
BaseColorScheme
protected BaseColorScheme(String displayName, boolean isDark)
Constructs the basic functionality of a color scheme.- Parameters:
displayName
- Display name.isDark
- Indication whether the color scheme is dark.
-
BaseColorScheme
protected BaseColorScheme(String displayName, SchemeDerivedColorsResolver derivedColorsResolver)
Constructs the basic functionality of a color scheme.Subclasses should typically invoke this constructor.
- Parameters:
displayName
- Display name.derivedColorsResolver
- A resolver that determine how derived colors are derived- Throws:
NullPointerException
- ifderivedColorsResolver
isnull
-
-
Method Detail
-
getResolver
protected static SchemeDerivedColorsResolver getResolver(SubstanceColorScheme colorScheme)
Allows subclasses to determine the best color resolver. This is typically used by color scheme that wrap other color scheme, such as color shifting or color inversion.- Parameters:
colorScheme
- the color scheme to test- Returns:
- a resolver for the supplied color scheme
-
getDisplayName
public final String getDisplayName()
Description copied from interface:SubstanceTrait
Returns the display name ofthis
trait. This method is part of officially supported API.- Specified by:
getDisplayName
in interfaceSubstanceTrait
- Returns:
- The display name of
this
trait.
-
isDark
public final 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 interfaceSubstanceColorScheme
- Returns:
true
if this color scheme uses dark colors,false
otherwise.
-
shift
public final SubstanceColorScheme shift(Color backgroundShiftColor, double backgroundShiftFactor, Color foregroundShiftColor, double foregroundShiftFactor)
Description copied from interface:SubstanceColorScheme
Creates a shift version ofthis
scheme.- Specified by:
shift
in 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
this
scheme.
-
shiftBackground
public final SubstanceColorScheme shiftBackground(Color backgroundShiftColor, double backgroundShiftFactor)
Description copied from interface:SubstanceColorScheme
Creates a shift version ofthis
scheme.- Specified by:
shiftBackground
in 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
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 ofthis
color scheme.- Specified by:
tint
in interfaceSubstanceColorScheme
- 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 ofthis
color scheme.- Specified by:
tone
in interfaceSubstanceColorScheme
- 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 ofthis
color scheme.- Specified by:
shade
in interfaceSubstanceColorScheme
- 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 ofthis
scheme. The value and brightness stay the same.- Specified by:
saturate
in 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
this
scheme.
-
invert
public SubstanceColorScheme invert()
Description copied from interface:SubstanceColorScheme
Creates an inverted version ofthis
scheme.- Specified by:
invert
in interfaceSubstanceColorScheme
- Returns:
- Inverted version of
this
scheme.
-
negate
public SubstanceColorScheme negate()
Description copied from interface:SubstanceColorScheme
Creates a negated version ofthis
scheme.- Specified by:
negate
in interfaceSubstanceColorScheme
- 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 ofthis
color scheme.- Specified by:
hueShift
in interfaceSubstanceColorScheme
- Parameters:
hueShiftFactor
- Value in -1.0...1.0 range.- Returns:
- Hue-shifted version of
this
scheme.
-
getBackgroundFillColor
public final Color getBackgroundFillColor()
Description copied from interface:SchemeDerivedColors
Returns the background fill color forthis
scheme.- Specified by:
getBackgroundFillColor
in interfaceSchemeDerivedColors
- Returns:
- The background fill color for
this
scheme.
-
getFocusRingColor
public final Color getFocusRingColor()
Description copied from interface:SchemeDerivedColors
Returns the focus ring color forthis
scheme.- Specified by:
getFocusRingColor
in interfaceSchemeDerivedColors
- Returns:
- The focus ring color for
this
scheme.
-
getLineColor
public final Color getLineColor()
Description copied from interface:SchemeDerivedColors
Returns the line color forthis
scheme.- Specified by:
getLineColor
in interfaceSchemeDerivedColors
- Returns:
- The line color for
this
scheme.
-
getSelectionForegroundColor
public final Color getSelectionForegroundColor()
Description copied from interface:SchemeDerivedColors
Returns the selection foreground color forthis
scheme.- Specified by:
getSelectionForegroundColor
in interfaceSchemeDerivedColors
- Returns:
- The selection foreground color for
this
scheme.
-
getSelectionBackgroundColor
public final Color getSelectionBackgroundColor()
Description copied from interface:SchemeDerivedColors
Returns the selection background color forthis
scheme.- Specified by:
getSelectionBackgroundColor
in interfaceSchemeDerivedColors
- Returns:
- The selection background color for
this
scheme.
-
getWatermarkDarkColor
public final Color getWatermarkDarkColor()
Description copied from interface:SchemeDerivedColors
Returns the watermark dark color forthis
scheme.- Specified by:
getWatermarkDarkColor
in interfaceSchemeDerivedColors
- Returns:
- Watermark dark color for
this
scheme.
-
getWatermarkLightColor
public final Color getWatermarkLightColor()
Description copied from interface:SchemeDerivedColors
Returns the watermark light color forthis
scheme.- Specified by:
getWatermarkLightColor
in interfaceSchemeDerivedColors
- Returns:
- Watermark light color for
this
scheme.
-
getWatermarkStampColor
public final Color getWatermarkStampColor()
Description copied from interface:SchemeDerivedColors
Returns the watermark stamp color forthis
scheme.- Specified by:
getWatermarkStampColor
in interfaceSchemeDerivedColors
- Returns:
- Watermark stamp color for
this
scheme.
-
getTextBackgroundFillColor
public final Color getTextBackgroundFillColor()
Description copied from interface:SchemeDerivedColors
Returns the text background fill color forthis
scheme.- Specified by:
getTextBackgroundFillColor
in interfaceSchemeDerivedColors
- Returns:
- The text background fill color for
this
scheme.
-
named
public final SubstanceColorScheme named(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 samethis
instance.- Specified by:
named
in interfaceSubstanceColorScheme
- Parameters:
colorSchemeDisplayName
- New display name for this color scheme.- Returns:
- This color scheme.
-
-