Class DelegateFractionBasedBorderPainter
- java.lang.Object
-
- org.pushingpixels.radiance.theming.api.painter.border.DelegateFractionBasedBorderPainter
-
- All Implemented Interfaces:
RadianceBorderPainter
,RadianceTrait
public class DelegateFractionBasedBorderPainter extends java.lang.Object implements RadianceBorderPainter
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 java.lang.String
displayName
Display name of this border painter.protected int[]
masks
8-digit hexadecimal masks applied on the colors 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<RadianceColorScheme>
transformMap
Map of transformed color schemes (to speed up the subsequent lookups).
-
Constructor Summary
Constructors Constructor Description DelegateFractionBasedBorderPainter(java.lang.String displayName, FractionBasedBorderPainter delegate, int[] masks, ColorSchemeTransform transform)
Creates a new delegate border painter
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDisplayName()
Returns the display name ofthis
trait.java.awt.Color
getRepresentativeColor(RadianceColorScheme borderScheme)
private RadianceColorScheme
getShiftScheme(RadianceColorScheme orig)
Retrieves a transformed color scheme.boolean
isPaintingInnerContour()
Returns boolean indication whether this border painter is painting the inner contours.void
paintBorder(java.awt.Graphics g, java.awt.Component c, float width, float height, java.awt.Shape contour, java.awt.Shape innerContour, RadianceColorScheme borderScheme)
Paints the control border.
-
-
-
Field Detail
-
displayName
protected java.lang.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 bydelegate
. 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 Detail
-
DelegateFractionBasedBorderPainter
public DelegateFractionBasedBorderPainter(java.lang.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 thedelegate
.transform
- Transformation to be applied on the color schemes prior to compute the colors to be used for border painting.
-
-
Method Detail
-
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 interfaceRadianceBorderPainter
- Returns:
true
if this border painter is painting the inner contours,false
otherwise.
-
paintBorder
public void paintBorder(java.awt.Graphics g, java.awt.Component c, float width, float height, java.awt.Shape contour, java.awt.Shape innerContour, RadianceColorScheme borderScheme)
Description copied from interface:RadianceBorderPainter
Paints the control border.- Specified by:
paintBorder
in interfaceRadianceBorderPainter
- 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 java.lang.String getDisplayName()
Description copied from interface:RadianceTrait
Returns the display name ofthis
trait. This method is part of officially supported API.- Specified by:
getDisplayName
in interfaceRadianceTrait
- 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 java.awt.Color getRepresentativeColor(RadianceColorScheme borderScheme)
- Specified by:
getRepresentativeColor
in interfaceRadianceBorderPainter
-
-