Class DelegateFractionBasedBorderPainter

java.lang.Object
org.pushingpixels.radiance.theming.api.painter.border.DelegateFractionBasedBorderPainter
All Implemented Interfaces:
RadianceBorderPainter, RadianceTrait

public class DelegateFractionBasedBorderPainter extends Object implements RadianceBorderPainter
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<RadianceColorScheme> 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: RadianceBorderPainter
      Returns boolean indication whether this border painter is painting the inner contours.
      Specified by:
      isPaintingInnerContour in interface RadianceBorderPainter
      Returns:
      true if this border painter is painting the inner contours, false otherwise.
    • paintBorder

      public void paintBorder(Graphics g, Component c, float width, float height, Shape contour, Shape innerContour, RadianceColorScheme borderScheme)
      Description copied from interface: RadianceBorderPainter
      Paints the control border.
      Specified by:
      paintBorder in interface RadianceBorderPainter
      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: RadianceTrait
      Returns the display name of this trait. This method is part of officially supported API.
      Specified by:
      getDisplayName in interface RadianceTrait
      Returns:
      The display name of this trait.
    • getShiftScheme

      private RadianceColorScheme getShiftScheme(RadianceColorScheme orig)
      Retrieves a transformed color scheme.
      Parameters:
      orig - Original color scheme.
      Returns:
      Transformed color scheme.
    • getRepresentativeColor

      public Color getRepresentativeColor(RadianceColorScheme borderScheme)
      Specified by:
      getRepresentativeColor in interface RadianceBorderPainter