Package org.pushingpixels.substance.internal.utils

# Class SubstanceSizeUtils

java.lang.Object
org.pushingpixels.substance.internal.utils.SubstanceSizeUtils

public class SubstanceSizeUtils extends Object
This class is responsible for computing DPI-aware insets, stroke widths, paddings, icon sizes etc. This class if for internal use only.

## Constructor Summary

Constructors
Constructor
Description
`SubstanceSizeUtils()`

## Method Summary

Modifier and Type
Method
Description
`static float`
`getAdjustedSize(int fontSize, float baseSize, int forEachBase, float toAdjustBy)`
Gets the adjusted size.
`static int`
`getAdjustedSize(int fontSize, int baseSize, int forEachBase, int toAdjustBy, boolean toRoundAsEven)`
Gets the adjusted size.
`static float`
`getArrowIconHeight(int fontSize)`
Returns the height of arrow icons under the specified font size.
`static float`
`getArrowIconWidth(int fontSize)`
Returns the width of arrow icons under the specified font size.
`static float`
`getArrowStrokeWidth(int fontSize)`
Returns the stroke width of arrow icons under the specified font size.
`static int`
`getBigDragBumpDiameter(int fontSize)`
Returns the diameter of a big drag bump dot under the specified font size.
`static float`
`getBorderStrokeWidth(int fontSize)`
Returns the stroke width of borders under the specified font size.
`static Insets`
`getButtonInsets(int fontSize)`
Returns the list cell renderer insets under the specified font size.
`static Border`
`getCheckBoxBorder(int fontSize, boolean ltr)`
Returns the border for check boxes under the specified font size.
`static int`
`getCheckBoxMarkSize(int fontSize)`
Returns the check mark size for check boxes under the specified font size.
`static float`
`getClassicButtonCornerRadius(int fontSize)`
Returns the corner radius for `ClassicButtonShaper` under the specified font size.
`static Insets`
`getComboBorderInsets(int fontSize)`
Returns the combo box border insets under the specified font size.
`static Insets`
`getComboLayoutInsets(int fontSize)`
Returns the combo box border insets under the specified font size.
`static Insets`
`getComboTextBorderInsets(int fontSize)`
Returns the combo box text border insets under the specified font size.
`static int`
`getComponentFontSize(Component c)`
Computes the font size for the specified component.
`static int`
`getControlFontSize()`
Gets the current control font size.
`static Insets`
`getDefaultBorderInsets(int fontSize)`
Returns the default border insets under the specified font size.
`static float`
`getDoubleArrowStrokeWidth(int fontSize)`
Returns the stroke width of double arrow icons under the specified font size.
`static int`
`getDragBumpDiameter(int fontSize)`
Returns the diameter of a drag bump dot under the specified font size.
`static int`
`getExtraPadding(int fontSize)`
Returns the extra padding amount under the specified font size.
`static int`
`getFocusRingPadding(int fontSize)`
Returns the focus ring padding amount under the specified font size.
`static float`
`getFocusStrokeWidth(int fontSize)`
Returns the stroke width of focus rings under the specified font size.
`static Insets`
`getListCellRendererInsets(int fontSize)`
Returns the list cell renderer insets under the specified font size.
`static int`
`getMenuCheckMarkSize(int fontSize)`
Returns the check mark size of check box menu items and radio button menu items under the specified font size.
`static int`
`getMenuItemMargin(int fontSize)`
Returns the margin for menu items under the specified font size.
`static int`
`getMinButtonWidth(int fontSize)`
Returns the maximum button height under the specified font size.
`static int`
`getPasswordDotDiameter(int fontSize)`
Returns the password dot diameter for password fields under the specified font size.
`static int`
`getPasswordDotGap(int fontSize)`
Returns the password dot gap for password fields under the specified font size.
`static double`
`getPointsToPixelsRatio()`
Returns the points to pixels ratio of the current font policy.
`static Border`
`getRadioButtonBorder(int fontSize, boolean ltr)`
Returns the border for radio buttons under the specified font size.
`static int`
`getRadioButtonMarkSize(int fontSize)`
Returns the check mark size for radio buttons under the specified font size.
`static int`
`getScrollBarWidth(int fontSize)`
Returns the width of scroll bars under the specified font size.
`static int`
`getSliderIconSize(int fontSize)`
Returns the slider thumb icon size under the specified font size.
`static int`
`getSliderTickSize(int fontSize)`
Returns the slider tick size under the specified font size.
`static int`
`getSliderTrackSize(int fontSize)`
Returns the slider track size under the specified font size.
`static float`
`getSmallArrowIconHeight(int fontSize)`
Returns the height of small arrow icons under the specified font size.
`static float`
`getSmallArrowIconWidth(int fontSize)`
Returns the width of small arrow icons under the specified font size.
`static Insets`
`getSpinnerArrowButtonInsets(int fontSize)`
Returns the spinner arrow button insets under the specified font size.
`static float`
`getSpinnerArrowIconHeight(int fontSize)`
Returns the height of spinner arrow icons under the specified font size.
`static float`
`getSpinnerArrowIconWidth(int fontSize)`
Returns the width of spinner arrow icons under the specified font size.
`static Insets`
`getSpinnerBorderInsets(int fontSize)`
Returns the spinner border insets under the specified font size.
`static Insets`
`getSpinnerTextBorderInsets(int fontSize)`
Returns the spinner text border insets under the specified font size.
`static float`
`getSplitPaneArrowIconHeight(int fontSize)`
Returns the height of split pane divider arrow icons under the specified font size.
`static float`
`getSplitPaneArrowIconWidth(int fontSize)`
Returns the width of split pane divider arrow icons under the specified font size.
`static int`
`getSplitPaneButtonOffset(int fontSize)`
Returns the offset of the first split pane divider button under the specified font size.
`static Insets`
`getTabbedPaneContentInsets(int fontSize)`
Returns the tabbed pane content insets under the specified size.
`static float`
`getTabCloseButtonStrokeWidth(int fontSize)`
Returns the stroke width of tab close buttons under the specified size.
`static int`
`getTabCloseIconSize(int fontSize)`
Returns the icon size of tab close buttons under the specified size.
`static Insets`
`getTableCellRendererInsets(int fontSize)`
Returns the table cell renderer insets under the specified font size.
`static Insets`
`getTextBorderInsets(int fontSize)`
Returns the text border insets under the specified font size.
`static int`
`getTextButtonLRPadding(int fontSize)`
Returns the text button padding amount on left and right sides under the specified font size.
`static int`
`getTextIconGap(int fontSize)`
Returns the gap between text and icon in buttons and menu items under the specified font size.
`static int`
`getTitlePaneIconSize()`
Returns the icon size of title pane buttons under the specified size.
`static int`
`getToolBarDragInset(int fontSize)`
Returns the tool bar drag inset under the specified font size.
`static Insets`
`getToolBarInsets(int fontSize)`
Returns the tool bar insets under the specified font size.
`static Insets`
`getToolTipBorderInsets(int fontSize)`
Returns the tooltip border insets under the specified font size.
`static Insets`
`getTreeCellRendererInsets(int fontSize)`
Returns the tree cell renderer insets under the specified font size.
`static int`
`getTreeIconSize(int fontSize)`
Returns the icon size of tree expand / collapse icons under the specified size.
`static void`
`resetPointsToPixelsRatio(FontPolicy fontPolicy)`
Resets the points to pixels ratio based on the specified font policy.
`static void`
`setControlFontSize(int size)`
Sets the new value for the control font size.

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

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

## Constructor Details

### SubstanceSizeUtils

public SubstanceSizeUtils()

## Method Details

### getControlFontSize

public static int getControlFontSize()
Gets the current control font size.

Returns:
  Control font size.

### setControlFontSize

public static void setControlFontSize(int size)
Sets the new value for the control font size.

Parameters:
  `size` - Control font size.

### getComponentFontSize

public static int getComponentFontSize(Component c)
Computes the font size for the specified component. If the component is `null` or doesn't have font set (`Component.getFont()` returns `null`), this method returns the default control font size from `getControlFontSize()`.

Parameters:
  `c` - Component.
Returns:
  Font size for the specified component

### getAdjustedSize

public static float getAdjustedSize(int fontSize, float baseSize, int forEachBase, float toAdjustBy)
Gets the adjusted size. The basic functionality of this method is as follows:

- The `baseSize` parameter specifies the base value
- The `forEachBase` and `toAdjustBy` specify how to adjust the resulting value based on the passed `fontSize`.

For example, if you want base value to be 1.2 pixels, and have it grow by 0.1 pixel for every additional pixel in the font size, call this method with the following values:

- `baseSize` = 1.2
- `forEachBase` = 1
- `toAdjustBy` = 0.1

Parameters:
  `fontSize` - Font size.
  `baseSize` - The base value.
  `forEachBase` - Base units for computing the adjustment.
  `toAdjustBy` - Adjustment amount for computing the adjustment.
Returns:
  Adjusted size.

### getAdjustedSize

public static int getAdjustedSize(int fontSize, int baseSize, int forEachBase, int toAdjustBy, boolean toRoundAsEven)
Gets the adjusted size. The basic functionality of this method is as follows:

- The `baseSize` parameter specifies the base value
- The `forEachBase` and `toAdjustBy` specify how to adjust the resulting value based on the passed `fontSize`.

For example, if you want base value to be 4 pixels, and have it grow by 1 pixel for every 3 additional pixels in the font size, call this method with the following values:

- `baseSize` = 4
- `forEachBase` = 3
- `toAdjustBy` = 1

Parameters:
  `fontSize` - Font size.
  `baseSize` - The base value.
  `forEachBase` - Base units for computing the adjustment.
  `toAdjustBy` - Adjustment amount for computing the adjustment.
  `toRoundAsEven` - If `true`, the final value will be rounded down to the closest even value.
Returns:
  Adjusted size.

### getArrowIconHeight

public static float getArrowIconHeight(int fontSize)
Returns the height of arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Height of arrow icons under the specified font size.

### getArrowIconWidth

public static float getArrowIconWidth(int fontSize)
Returns the width of arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Width of arrow icons under the specified font size.

### getArrowStrokeWidth

public static float getArrowStrokeWidth(int fontSize)
Returns the stroke width of arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Stroke width of arrow icons under the specified font size.

### getBorderStrokeWidth

public static float getBorderStrokeWidth(int fontSize)
Returns the stroke width of borders under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Stroke width of borders under the specified font size.

### getButtonInsets

public static Insets getButtonInsets(int fontSize)
Returns the list cell renderer insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  List cell renderer insets under the specified font size.

### getCheckBoxBorder

public static Border getCheckBoxBorder(int fontSize, boolean ltr)
Returns the border for check boxes under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Border for check boxes under the specified font size.

### getCheckBoxMarkSize

public static int getCheckBoxMarkSize(int fontSize)
Returns the check mark size for check boxes under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Check mark size for check boxes under the specified font size.

### getClassicButtonCornerRadius

public static float getClassicButtonCornerRadius(int fontSize)
Returns the corner radius for `ClassicButtonShaper` under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Corner radius for `ClassicButtonShaper` under the specified font size.

### getComboBorderInsets

public static Insets getComboBorderInsets(int fontSize)
Returns the combo box border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Combo box border insets under the specified font size.

### getComboLayoutInsets

public static Insets getComboLayoutInsets(int fontSize)
Returns the combo box border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Combo box border insets under the specified font size.

### getComboTextBorderInsets

public static Insets getComboTextBorderInsets(int fontSize)
Returns the combo box text border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Combo box text border insets under the specified font size.

### getDefaultBorderInsets

public static Insets getDefaultBorderInsets(int fontSize)
Returns the default border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Default border insets under the specified font size.

### getDoubleArrowStrokeWidth

public static float getDoubleArrowStrokeWidth(int fontSize)
Returns the stroke width of double arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Stroke width of double arrow icons under the specified font size.

### getDragBumpDiameter

public static int getDragBumpDiameter(int fontSize)
Returns the diameter of a drag bump dot under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Diameter of a drag bump dot under the specified font size.

### getBigDragBumpDiameter

public static int getBigDragBumpDiameter(int fontSize)
Returns the diameter of a big drag bump dot under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Diameter of a big drag bump dot under the specified font size.

### getExtraPadding

public static int getExtraPadding(int fontSize)
Returns the extra padding amount under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Extra padding amount under the specified font size.

### getFocusRingPadding

public static int getFocusRingPadding(int fontSize)
Returns the focus ring padding amount under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Focus ring padding amount under the specified font size.

### getFocusStrokeWidth

public static float getFocusStrokeWidth(int fontSize)
Returns the stroke width of focus rings under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Stroke width of focus rings under the specified font size.

### getListCellRendererInsets

public static Insets getListCellRendererInsets(int fontSize)
Returns the list cell renderer insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  List cell renderer insets under the specified font size.

### getMenuCheckMarkSize

public static int getMenuCheckMarkSize(int fontSize)
Returns the check mark size of check box menu items and radio button menu items under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Check mark size of check box menu items and radio button menu items under the specified font size.

### getMenuItemMargin

public static int getMenuItemMargin(int fontSize)
Returns the margin for menu items under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Margin for menu items under the specified font size.

### getTextIconGap

public static int getTextIconGap(int fontSize)
Returns the gap between text and icon in buttons and menu items under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Gap between text and icon in button menu items under the specified font size.

### getMinButtonWidth

public static int getMinButtonWidth(int fontSize)
Returns the maximum button height under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Maximum button height under the specified font size.

### getPasswordDotDiameter

public static int getPasswordDotDiameter(int fontSize)
Returns the password dot diameter for password fields under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Password dot diameter for password fields under the specified font size.

### getPasswordDotGap

public static int getPasswordDotGap(int fontSize)
Returns the password dot gap for password fields under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Password dot gap for password fields under the specified font size.

### getRadioButtonBorder

public static Border getRadioButtonBorder(int fontSize, boolean ltr)
Returns the border for radio buttons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Border for radio buttons under the specified font size.

### getRadioButtonMarkSize

public static int getRadioButtonMarkSize(int fontSize)
Returns the check mark size for radio buttons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Check mark size for radio buttons under the specified font size.

### getScrollBarWidth

public static int getScrollBarWidth(int fontSize)
Returns the width of scroll bars under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Width of scroll bars under the specified font size.

### getSliderIconSize

public static int getSliderIconSize(int fontSize)
Returns the slider thumb icon size under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Slider thumb icon size under the specified font size.

### getSliderTickSize

public static int getSliderTickSize(int fontSize)
Returns the slider tick size under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Slider tick size under the specified font size.

### getSliderTrackSize

public static int getSliderTrackSize(int fontSize)
Returns the slider track size under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Slider track size under the specified font size.

### getSmallArrowIconHeight

public static float getSmallArrowIconHeight(int fontSize)
Returns the height of small arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Height of small arrow icons under the specified font size.

### getSmallArrowIconWidth

public static float getSmallArrowIconWidth(int fontSize)
Returns the width of small arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Width of small arrow icons under the specified font size.

### getSpinnerArrowIconHeight

public static float getSpinnerArrowIconHeight(int fontSize)
Returns the height of spinner arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Height of spinner arrow icons under the specified font size.

### getSpinnerArrowIconWidth

public static float getSpinnerArrowIconWidth(int fontSize)
Returns the width of spinner arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Width of spinner arrow icons under the specified font size.

### getSpinnerBorderInsets

public static Insets getSpinnerBorderInsets(int fontSize)
Returns the spinner border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Spinner border insets under the specified font size.

### getSpinnerArrowButtonInsets

public static Insets getSpinnerArrowButtonInsets(int fontSize)
Returns the spinner arrow button insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Spinner arrow button insets under the specified font size.

### getSpinnerTextBorderInsets

public static Insets getSpinnerTextBorderInsets(int fontSize)
Returns the spinner text border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Spinner text border insets under the specified font size.

### getSplitPaneArrowIconHeight

public static float getSplitPaneArrowIconHeight(int fontSize)
Returns the height of split pane divider arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Height of split pane divider arrow icons under the specified font size.

### getSplitPaneArrowIconWidth

public static float getSplitPaneArrowIconWidth(int fontSize)
Returns the width of split pane divider arrow icons under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Width of split pane divider arrow icons under the specified font size.

### getSplitPaneButtonOffset

public static int getSplitPaneButtonOffset(int fontSize)
Returns the offset of the first split pane divider button under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Offset of the first split pane divider button under the specified font size.

### getTabbedPaneContentInsets

public static Insets getTabbedPaneContentInsets(int fontSize)
Returns the tabbed pane content insets under the specified size. The `SubstanceConstants.TabContentPaneBorderKind.SINGLE_FULL` is assumed.

Parameters:
  `fontSize` - Font size.
Returns:
  Tabbed pane content insets under the specified size.

### getTabCloseButtonStrokeWidth

public static float getTabCloseButtonStrokeWidth(int fontSize)
Returns the stroke width of tab close buttons under the specified size.

Parameters:
  `fontSize` - Font size.
Returns:
  Stroke width of tab close buttons under the specified size.

### getTabCloseIconSize

public static int getTabCloseIconSize(int fontSize)
Returns the icon size of tab close buttons under the specified size.

Parameters:
  `fontSize` - Font size.
Returns:
  Icon size of tab close buttons under the specified size.

### getTableCellRendererInsets

public static Insets getTableCellRendererInsets(int fontSize)
Returns the table cell renderer insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Table cell renderer insets under the specified font size.

### getTextBorderInsets

public static Insets getTextBorderInsets(int fontSize)
Returns the text border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Text border insets under the specified font size.

### getTextButtonLRPadding

public static int getTextButtonLRPadding(int fontSize)
Returns the text button padding amount on left and right sides under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Text button padding amount on left and right sides under the specified font size.

### getTitlePaneIconSize

public static int getTitlePaneIconSize()
Returns the icon size of title pane buttons under the specified size.

Returns:
  Icon size of title pane buttons under the specified size.

### getToolBarDragInset

public static int getToolBarDragInset(int fontSize)
Returns the tool bar drag inset under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Tool bar drag inset under the specified font size.

### getToolBarInsets

public static Insets getToolBarInsets(int fontSize)
Returns the tool bar insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Tool bar insets under the specified font size.

### getToolTipBorderInsets

public static Insets getToolTipBorderInsets(int fontSize)
Returns the tooltip border insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Tooltip border insets under the specified font size.

### getTreeCellRendererInsets

public static Insets getTreeCellRendererInsets(int fontSize)
Returns the tree cell renderer insets under the specified font size.

Parameters:
  `fontSize` - Font size.
Returns:
  Tree cell renderer insets under the specified font size.

### getTreeIconSize

public static int getTreeIconSize(int fontSize)
Returns the icon size of tree expand / collapse icons under the specified size.

Parameters:
  `fontSize` - Font size.
Returns:
  Icon size of tree expand / collapse icons under the specified size.

### getPointsToPixelsRatio

public static double getPointsToPixelsRatio()
Returns the points to pixels ratio of the current font policy.

Returns:
  The points to pixels ratio of the current font policy.

### resetPointsToPixelsRatio

public static void resetPointsToPixelsRatio(FontPolicy fontPolicy)
Resets the points to pixels ratio based on the specified font policy.

Parameters:
  `fontPolicy` - Font policy.