Class DelegateFractionBasedBorderPainter

java.lang.Object
org.pushingpixels.substance.api.painter.border.DelegateFractionBasedBorderPainter
All Implemented Interfaces:
SubstanceBorderPainter, SubstanceTrait

public class DelegateFractionBasedBorderPainter extends Object implements SubstanceBorderPainter
Delegate border painter that allows tweaking the visual appearance of borders.
  • Field Details

    • displayName

      protected String displayName
      Display name of this border painter.
    • delegate

      protected FractionBasedBorderPainter delegate
      The delegate border painter.
    • masks

      protected int[] masks
      8-digit hexadecimal masks applied on the colors painted by delegate. Can be used to apply custom translucency. For example, value 0x80FFFFFF will result in 50% translucency of the original border color.
    • transform

      protected ColorSchemeTransform transform
      Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.
    • transformMap

      protected static final LazyResettableHashMap<SubstanceColorScheme> transformMap
      Map of transformed color schemes (to speed up the subsequent lookups).
  • Constructor Details

    • DelegateFractionBasedBorderPainter

      public DelegateFractionBasedBorderPainter(String displayName, FractionBasedBorderPainter delegate, int[] masks, ColorSchemeTransform transform)
      Creates a new delegate border painter
      Parameters:
      displayName - Display name of this border painter.
      delegate - The delegate border painter.
      masks - Array of 8-digit hexadecimal masks applied on the relevant colors painted by the delegate.
      transform - Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.
  • Method Details

    • isPaintingInnerContour

      public boolean isPaintingInnerContour()
      Description copied from interface: SubstanceBorderPainter
      Returns boolean indication whether this border painter is painting the inner contours.
      Specified by:
      isPaintingInnerContour in interface SubstanceBorderPainter
      Returns:
      true if this border painter is painting the inner contours, false otherwise.
    • paintBorder

      public void paintBorder(Graphics g, Component c, int width, int height, Shape contour, Shape innerContour, SubstanceColorScheme borderScheme)
      Description copied from interface: SubstanceBorderPainter
      Paints the control border.
      Specified by:
      paintBorder in interface SubstanceBorderPainter
      Parameters:
      g - Graphics.
      c - Component.
      width - Width of a UI component.
      height - Height of a UI component.
      contour - Contour of a UI component.
      innerContour - Inner contour of a UI component. May be ignored if the specific implementation paints only the outside border.
      borderScheme - The border color scheme.
    • getDisplayName

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