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