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

# Class DelegateBorderPainter

java.lang.Object
org.pushingpixels.substance.api.painter.border.StandardBorderPainter
org.pushingpixels.substance.api.painter.border.DelegateBorderPainter

All Implemented Interfaces:
  `SubstanceBorderPainter`, `SubstanceTrait`

public class DelegateBorderPainter extends StandardBorderPainter
Delegate border painter that allows tweaking the visual appearance of borders.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected int`
`bottomMask`
8-digit hexadecimal mask applied on the bottom color painted by `delegate`.
`protected StandardBorderPainter`
`delegate`
The delegate border painter.
`protected String`
`displayName`
Display name of this border painter.
`protected int`
`midMask`
8-digit hexadecimal mask applied on the middle color painted by `delegate`.
`protected int`
`topMask`
8-digit hexadecimal mask applied on the top color 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
`DelegateBorderPainter(String displayName, StandardBorderPainter delegate, int topMask, int midMask, int bottomMask, ColorSchemeTransform transform)`
Creates a new delegate border painter
`DelegateBorderPainter(String displayName, StandardBorderPainter delegate, ColorSchemeTransform transform)`
Creates a new delegate border painter

## Method Summary

Modifier and Type
Method
Description
`Color`
`getBottomBorderColor(SubstanceColorScheme borderScheme)`
Computes the color of the bottom portion of the border.
`String`
`getDisplayName()`
Returns the display name of `this` trait.
`Color`
`getMidBorderColor(SubstanceColorScheme borderScheme)`
Computes the color of the middle portion of the border.
`Color`
`getTopBorderColor(SubstanceColorScheme borderScheme)`
Computes the color of the top portion of the border.
`void`
`paintBorder(Graphics g, Component c, int width, int height, Shape contour, Shape innerContour, SubstanceColorScheme borderScheme)`
Paints the control border.

### Methods inherited from class org.pushingpixels.substance.api.painter.border.StandardBorderPainter

`isPaintingInnerContour`

### 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 StandardBorderPainter delegate
The delegate border painter.

### topMask

protected int topMask
8-digit hexadecimal mask applied on the top color painted by `delegate`. Can be used to apply custom translucency. For example, value 0x80FFFFFF will result in 50% translucency of the original top border color.

### midMask

protected int midMask
8-digit hexadecimal mask applied on the middle color painted by `delegate`. Can be used to apply custom translucency. For example, value 0x80FFFFFF will result in 50% translucency of the original middle border color.

### bottomMask

protected int bottomMask
8-digit hexadecimal mask applied on the bottom color painted by `delegate`. Can be used to apply custom translucency. For example, value 0x80FFFFFF will result in 50% translucency of the original bottom 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

### DelegateBorderPainter

public DelegateBorderPainter(String displayName, StandardBorderPainter delegate, ColorSchemeTransform transform)
Creates a new delegate border painter

Parameters:
  `displayName` - Display name of this border painter.
  `delegate` - The delegate border painter.
  `transform` - Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.

### DelegateBorderPainter

public DelegateBorderPainter(String displayName, StandardBorderPainter delegate, int topMask, int midMask, int bottomMask, ColorSchemeTransform transform)
Creates a new delegate border painter

Parameters:
  `displayName` - Display name of this border painter.
  `delegate` - The delegate border painter.
  `topMask` - 8-digit hexadecimal mask applied on the top color painted by the `delegate`.
  `midMask` - 8-digit hexadecimal mask applied on the middle color painted by the `delegate`.
  `bottomMask` - 8-digit hexadecimal mask applied on the bottom color 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

### getTopBorderColor

public Color getTopBorderColor(SubstanceColorScheme borderScheme)
Description copied from class: `StandardBorderPainter`
Computes the color of the top portion of the border. Override to provide different visual.

Overrides:
  `getTopBorderColor` in class `StandardBorderPainter`
Parameters:
  `borderScheme` - The border color scheme.
Returns:
  The color of the top portion of the border.

### getMidBorderColor

public Color getMidBorderColor(SubstanceColorScheme borderScheme)
Description copied from class: `StandardBorderPainter`
Computes the color of the middle portion of the border. Override to provide different visual.

Overrides:
  `getMidBorderColor` in class `StandardBorderPainter`
Parameters:
  `borderScheme` - The border color scheme.
Returns:
  The color of the middle portion of the border.

### getBottomBorderColor

public Color getBottomBorderColor(SubstanceColorScheme borderScheme)
Description copied from class: `StandardBorderPainter`
Computes the color of the bottom portion of the border. Override to provide different visual.

Overrides:
  `getBottomBorderColor` in class `StandardBorderPainter`
Parameters:
  `borderScheme` - The border color scheme.
Returns:
  The color of the bottom portion of the border.

### 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`
Overrides:
  `paintBorder` in class `StandardBorderPainter`
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`
Overrides:
  `getDisplayName` in class `StandardBorderPainter`
Returns:
  The display name of `this` trait.