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 bydelegate
.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 bydelegate
.protected int
topMask
8-digit hexadecimal mask applied on the top color painted bydelegate
.protected ColorSchemeTransform
transform
Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.protected static 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 painterDelegateBorderPainter(String displayName, StandardBorderPainter delegate, ColorSchemeTransform transform)
Creates a new delegate border painter
-
Method Summary
All Methods Instance Methods Concrete Methods 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 ofthis
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
-
-
-
-
Field Detail
-
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 bydelegate
. 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 bydelegate
. 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 bydelegate
. 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 Detail
-
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 thedelegate
.midMask
- 8-digit hexadecimal mask applied on the middle color painted by thedelegate
.bottomMask
- 8-digit hexadecimal mask applied on the bottom color painted by thedelegate
.transform
- Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.
-
-
Method Detail
-
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 classStandardBorderPainter
- 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 classStandardBorderPainter
- 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 classStandardBorderPainter
- 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 interfaceSubstanceBorderPainter
- Overrides:
paintBorder
in classStandardBorderPainter
- 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 ofthis
trait. This method is part of officially supported API.- Specified by:
getDisplayName
in interfaceSubstanceTrait
- Overrides:
getDisplayName
in classStandardBorderPainter
- Returns:
- The display name of
this
trait.
-
-