Package org.pushingpixels.substance.api.colorscheme

# 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

Modifier and Type
Method
Description
`final Color`
`getBackgroundFillColor()`
Returns the background fill color for `this` scheme.
`final String`
`getDisplayName()`
Returns the display name of `this` trait.
`final Color`
`getFocusRingColor()`
Returns the focus ring color for `this` scheme.
`final Color`
`getLineColor()`
Returns the line color for `this` scheme.
`protected static SchemeDerivedColorsResolver`
`getResolver(SubstanceColorScheme colorScheme)`
Allows subclasses to determine the best color resolver.
`final Color`
`getSelectionBackgroundColor()`
Returns the selection background color for `this` scheme.
`final Color`
`getSelectionForegroundColor()`
Returns the selection foreground color for `this` scheme.
`final Color`
`getTextBackgroundFillColor()`
Returns the text background fill color for `this` scheme.
`final Color`
`getWatermarkDarkColor()`
Returns the watermark dark color for `this` scheme.
`final Color`
`getWatermarkLightColor()`
Returns the watermark light color for `this` scheme.
`final 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.
`final boolean`
`isDark()`
Returns indication whether this color scheme uses dark colors.
`final 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 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.
`final SubstanceColorScheme`
`shift(Color backgroundShiftColor, double backgroundShiftFactor, Color foregroundShiftColor, double foregroundShiftFactor)`
Creates a shift version of `this` scheme.
`final SubstanceColorScheme`
`shiftBackground(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.
`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 Details

### 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 Details

### 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` - if `derivedColorsResolver` is `null`

## Method Details

### 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 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 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 interface `SubstanceColorScheme`
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 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 final SubstanceColorScheme shiftBackground(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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 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 same `this` instance.

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

### toString

public String toString()

Overrides:
  `toString` in class `Object`