Package org.pushingpixels.substance.api.shaper

# Class StandardButtonShaper

java.lang.Object
org.pushingpixels.substance.api.shaper.StandardButtonShaper

All Implemented Interfaces:
  `RectangularButtonShaper`, `SubstanceButtonShaper`, `SubstanceTrait`

public class StandardButtonShaper extends Object implements SubstanceButtonShaper, RectangularButtonShaper
Button shaper that returns buttons with completely rounded corners (ala Mac 10.4). This class is part of officially supported API.

## Constructor Summary

Constructors
Constructor
Description
`StandardButtonShaper()`

## Method Summary

Modifier and Type
Method
Description
`Border`
`getButtonBorder(AbstractButton button)`
Returns the border for the specified button.
`GeneralPath`
`getButtonOutline(AbstractButton button, Insets insets, int width, int height, boolean isInner)`
Returns the outline path for the specified button.
`float`
`getCornerRadius(AbstractButton button, Insets insets)`
Returns the corner radius of the specified button.
`String`
`getDisplayName()`
Returns the display name of `this` trait.
`Dimension`
`getPreferredSize(AbstractButton button, Dimension uiPreferredSize)`
Returns the preferred size for the specified button.
`boolean`
`isProportionate()`
Returns the boolean indication whether the shaper should maintain button proportions on the resize.
`static boolean`
`isRoundButton(AbstractButton button)`
Returns indication whether the specified button should be drawn with completely round corners.

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

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

## Constructor Details

### StandardButtonShaper

public StandardButtonShaper()

## Method Details

### 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 `SubstanceButtonShaper`
Specified by:
  `getDisplayName` in interface `SubstanceTrait`
Returns:
  The display name of `this` trait.

### getButtonOutline

public GeneralPath getButtonOutline(AbstractButton button, Insets insets, int width, int height, boolean isInner)
Description copied from interface: `SubstanceButtonShaper`
Returns the outline path for the specified button.

Specified by:
  `getButtonOutline` in interface `SubstanceButtonShaper`
Parameters:
  `button` - A button.
  `insets` - Button insets.
  `width` - Button width.
  `height` - Button height.
  `isInner` - Indication whether the returned outline is used for the inner contour.
Returns:
  The outline path for the specified button.

### getButtonBorder

public Border getButtonBorder(AbstractButton button)
Description copied from interface: `SubstanceButtonShaper`
Returns the border for the specified button.

Specified by:
  `getButtonBorder` in interface `SubstanceButtonShaper`
Parameters:
  `button` - A button.
Returns:
  The border for the specified button.

### getPreferredSize

public Dimension getPreferredSize(AbstractButton button, Dimension uiPreferredSize)
Description copied from interface: `SubstanceButtonShaper`
Returns the preferred size for the specified button.

Specified by:
  `getPreferredSize` in interface `SubstanceButtonShaper`
Parameters:
  `button` - A button.
  `uiPreferredSize` - Preferred size of the button under the regular conditions (plain rectangular button).
Returns:
  The preferred size for the specified button.

### isRoundButton

public static boolean isRoundButton(AbstractButton button)
Returns indication whether the specified button should be drawn with completely round corners.

Parameters:
  `button` - A button.
Returns:
  `true` if the specified button should be drawn with completely round corners, `false` otherwise.

### isProportionate

public boolean isProportionate()
Description copied from interface: `SubstanceButtonShaper`
Returns the boolean indication whether the shaper should maintain button proportions on the resize. This may be relevant for vector-based shapers (such as animals / other objects).

Specified by:
  `isProportionate` in interface `SubstanceButtonShaper`
Returns:
  `true` if `this` shaper should maintain button proportions on the resize, `false` otherwise.

### getCornerRadius

public float getCornerRadius(AbstractButton button, Insets insets)
Description copied from interface: `RectangularButtonShaper`
Returns the corner radius of the specified button.

Specified by:
  `getCornerRadius` in interface `RectangularButtonShaper`
Parameters:
  `button` - Button.
  `insets` - Button insets.
Returns:
  Corner radius of the specified button.