Package org.pushingpixels.substance.api

# Interface SubstanceColorScheme

All Superinterfaces:
  `SchemeBaseColors`, `SchemeDerivedColors`, `SubstanceTrait`

All Known Implementing Classes:
  `AquaColorScheme`, `BarbyPinkColorScheme`, `BaseColorScheme`, `BaseDarkColorScheme`, `BaseLightColorScheme`, `BlendBiColorScheme`, `BottleGreenColorScheme`, `BrownColorScheme`, `CharcoalColorScheme`, `CremeColorScheme`, `DarkGrayColorScheme`, `DarkMetallicColorScheme`, `DarkVioletColorScheme`, `DesertSandColorScheme`, `EbonyColorScheme`, `HueShiftColorScheme`, `InvertedColorScheme`, `JadeForestColorScheme`, `LightAquaColorScheme`, `LightGrayColorScheme`, `LimeGreenColorScheme`, `MetallicColorScheme`, `NegatedColorScheme`, `OliveColorScheme`, `OrangeColorScheme`, `PurpleColorScheme`, `RaspberryColorScheme`, `SaturatedColorScheme`, `SepiaColorScheme`, `ShadeColorScheme`, `ShiftColorScheme`, `SteelBlueColorScheme`, `SunfireRedColorScheme`, `SunGlareColorScheme`, `SunsetColorScheme`, `TerracottaColorScheme`, `TintColorScheme`, `ToneColorScheme`, `UltramarineColorScheme`

public interface SubstanceColorScheme extends SubstanceTrait, SchemeBaseColors, SchemeDerivedColors
General interface for color schemes.

## Method Summary

Modifier and Type
Method
Description
`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(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(Color backgroundShiftColor, double backgroundShiftFactor, Color foregroundShiftColor, double foregroundShiftFactor)`
Creates a shift version of `this` scheme.
`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.

### Methods inherited from interface org.pushingpixels.substance.api.SchemeBaseColors

`getDarkColor, getExtraLightColor, getForegroundColor, getLightColor, getMidColor, getUltraDarkColor, getUltraLightColor`

### Methods inherited from interface org.pushingpixels.substance.api.SchemeDerivedColors

`getBackgroundFillColor, getFocusRingColor, getLineColor, getSelectionBackgroundColor, getSelectionForegroundColor, getTextBackgroundFillColor, getWatermarkDarkColor, getWatermarkLightColor, getWatermarkStampColor`

### Methods inherited from interface org.pushingpixels.substance.api.trait.SubstanceTrait

`getDisplayName`

## Method Details

### isDark

boolean isDark()
Returns indication whether this color scheme uses dark colors. Note that this method may be removed in the future.

Returns:
  `true` if this color scheme uses dark colors, `false` otherwise.

### shift

SubstanceColorScheme shift(Color backgroundShiftColor, double backgroundShiftFactor, Color foregroundShiftColor, double foregroundShiftFactor)
Creates a shift version of `this` scheme.

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

SubstanceColorScheme shiftBackground(Color backgroundShiftColor, double backgroundShiftFactor)
Creates a shift version of `this` scheme.

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

SubstanceColorScheme tint(double tintFactor)
Creates a tinted (shifted towards white) version of `this` color scheme.

Parameters:
  `tintFactor` - Value in 0.0...1.0 range. Larger values shift more towards white color.
Returns:
  Tinted version of `this` scheme.

### tone

SubstanceColorScheme tone(double toneFactor)
Creates a toned (shifted towards gray) version of `this` color scheme.

Parameters:
  `toneFactor` - Value in 0.0...1.0 range. Larger values shift more towards gray color.
Returns:
  Toned version of `this` scheme.

### shade

SubstanceColorScheme shade(double shadeFactor)
Creates a shaded (shifted towards black) version of `this` color scheme.

Parameters:
  `shadeFactor` - Value in 0.0...1.0 range. Larger values shift more towards black color.
Returns:
  Shaded version of `this` scheme.

### saturate

SubstanceColorScheme saturate(double saturateFactor)
Creates a saturated or desaturated version of `this` scheme. The value and brightness stay the same.

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

SubstanceColorScheme invert()
Creates an inverted version of `this` scheme.

Returns:
  Inverted version of `this` scheme.

### negate

SubstanceColorScheme negate()
Creates a negated version of `this` scheme.

Returns:
  Negated version of `this` scheme.

### hueShift

SubstanceColorScheme hueShift(double hueShiftFactor)
Creates a hue-shifted (in HSB space) version of `this` color scheme.

Parameters:
  `hueShiftFactor` - Value in -1.0...1.0 range.
Returns:
  Hue-shifted version of `this` scheme.

### named

SubstanceColorScheme named(String colorSchemeDisplayName)
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.

Parameters:
  `colorSchemeDisplayName` - New display name for this color scheme.
Returns:
  This color scheme.