Package org.pushingpixels.substance.api.painter.border

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

Fields
Modifier and Type
Field
Description
`protected FractionBasedBorderPainter`
`delegate`
The delegate border painter.
`protected String`
`displayName`
Display name of this border painter.
`protected int[]`
`masks`
8-digit hexadecimal masks applied on the colors painted by `delegate`.
`protected ColorSchemeTransform`
`transform`
Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.
`protected static final LazyResettableHashMap<SubstanceColorScheme>`
`transformMap`
Map of transformed color schemes (to speed up the subsequent lookups).

## Constructor Summary

Constructors
Constructor
Description
`DelegateFractionBasedBorderPainter(String displayName, FractionBasedBorderPainter delegate, int[] masks, ColorSchemeTransform transform)`
Creates a new delegate border painter

## Method Summary

Modifier and Type
Method
Description
`String`
`getDisplayName()`
Returns the display name of `this` trait.
`boolean`
`isPaintingInnerContour()`
Returns boolean indication whether this border painter is painting the inner contours.
`void`
`paintBorder(Graphics g, Component c, int width, int height, Shape contour, Shape innerContour, SubstanceColorScheme borderScheme)`
Paints the control border.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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