Class DelegateFractionBasedBorderPainter
- java.lang.Object
-
- org.pushingpixels.substance.api.painter.border.DelegateFractionBasedBorderPainter
-
- All Implemented Interfaces:
SubstanceBorderPainter,SubstanceTrait
public class DelegateFractionBasedBorderPainter extends java.lang.Object implements SubstanceBorderPainter
Delegate border painter that allows tweaking the visual appearance of borders.
-
-
Field Summary
Fields Modifier and Type Field Description protected FractionBasedBorderPainterdelegateThe delegate border painter.protected java.lang.StringdisplayNameDisplay name of this border painter.protected int[]masks8-digit hexadecimal masks applied on the colors painted bydelegate.protected ColorSchemeTransformtransformTransformation to be applied on the color schemes prior to compute the colors to be used for border painting.protected static org.pushingpixels.substance.internal.utils.LazyResettableHashMap<SubstanceColorScheme>transformMapMap 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.StringgetDisplayName()Returns the display name ofthistrait.java.awt.ColorgetRepresentativeColor(SubstanceColorScheme borderScheme)booleanisPaintingInnerContour()Returns boolean indication whether this border painter is painting the inner contours.voidpaintBorder(java.awt.Graphics g, java.awt.Component c, float width, float height, java.awt.Shape contour, java.awt.Shape innerContour, SubstanceColorScheme 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 org.pushingpixels.substance.internal.utils.LazyResettableHashMap<SubstanceColorScheme> 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:SubstanceBorderPainterReturns boolean indication whether this border painter is painting the inner contours.- Specified by:
isPaintingInnerContourin interfaceSubstanceBorderPainter- Returns:
trueif this border painter is painting the inner contours,falseotherwise.
-
paintBorder
public void paintBorder(java.awt.Graphics g, java.awt.Component c, float width, float height, java.awt.Shape contour, java.awt.Shape innerContour, SubstanceColorScheme borderScheme)Description copied from interface:SubstanceBorderPainterPaints the control border.- Specified by:
paintBorderin interfaceSubstanceBorderPainter- 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:SubstanceTraitReturns the display name ofthistrait. This method is part of officially supported API.- Specified by:
getDisplayNamein interfaceSubstanceTrait- Returns:
- The display name of
thistrait.
-
getRepresentativeColor
public java.awt.Color getRepresentativeColor(SubstanceColorScheme borderScheme)
- Specified by:
getRepresentativeColorin interfaceSubstanceBorderPainter
-
-