org.pushingpixels.substance.api
Enum SubstanceConstants.FocusKind

java.lang.Object
  extended by java.lang.Enum<SubstanceConstants.FocusKind>
      extended by org.pushingpixels.substance.api.SubstanceConstants.FocusKind
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<SubstanceConstants.FocusKind>
Enclosing class:
SubstanceConstants

public static enum SubstanceConstants.FocusKind
extends java.lang.Enum<SubstanceConstants.FocusKind>

Enumerates focus indication kinds.

See Also:
SubstanceLookAndFeel.FOCUS_KIND

Enum Constant Summary
ALL
          Focus indication around the whole component.
ALL_INNER
          Focus indication around the whole component, but moved 1 pixel inside the component.
ALL_STRONG_INNER
          Focus indication around the whole component, but moved 1 pixel inside the component.
NONE
          No focus indication.
STRONG_UNDERLINE
          Strong focus indication under the component text.
TEXT
          Focus indication around the text.
UNDERLINE
          Focus indication under the component text.
 
Method Summary
protected static float getDashGap(int fontSize)
          Returns DPI-aware dash gap for dash-based focus painting.
protected static float getDashLength(int fontSize)
          Returns DPI-aware dash length for dash-based focus painting.
 boolean isAnimated()
          Returns indication whether this focus kind can be animated.
abstract  void paintFocus(java.awt.Component mainComp, java.awt.Component focusedComp, TransitionAwareUI transitionAwareUI, java.awt.Graphics2D graphics, java.awt.Shape focusShape, java.awt.Rectangle textRect, int extraPadding)
          Paints the focus ring on the specified component.
static SubstanceConstants.FocusKind valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static SubstanceConstants.FocusKind[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

NONE

public static final SubstanceConstants.FocusKind NONE
No focus indication.


TEXT

public static final SubstanceConstants.FocusKind TEXT
Focus indication around the text.


ALL

public static final SubstanceConstants.FocusKind ALL
Focus indication around the whole component.


ALL_INNER

public static final SubstanceConstants.FocusKind ALL_INNER
Focus indication around the whole component, but moved 1 pixel inside the component.


ALL_STRONG_INNER

public static final SubstanceConstants.FocusKind ALL_STRONG_INNER
Focus indication around the whole component, but moved 1 pixel inside the component.


UNDERLINE

public static final SubstanceConstants.FocusKind UNDERLINE
Focus indication under the component text.


STRONG_UNDERLINE

public static final SubstanceConstants.FocusKind STRONG_UNDERLINE
Strong focus indication under the component text.

Method Detail

values

public static SubstanceConstants.FocusKind[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (SubstanceConstants.FocusKind c : SubstanceConstants.FocusKind.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static SubstanceConstants.FocusKind valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
java.lang.NullPointerException - if the argument is null

paintFocus

public abstract void paintFocus(java.awt.Component mainComp,
                                java.awt.Component focusedComp,
                                TransitionAwareUI transitionAwareUI,
                                java.awt.Graphics2D graphics,
                                java.awt.Shape focusShape,
                                java.awt.Rectangle textRect,
                                int extraPadding)
Paints the focus ring on the specified component.

Parameters:
mainComp - The main component for the focus painting.
focusedComp - The actual component that has the focus. For example, the main component can be a JSpinner, while the focused component is a text field inside the the spinner editor.
graphics - Graphics context.
focusShape - Focus shape. May be null - in this case, the bounds of mainComp will be used.
textRect - Text rectangle (if relevant).
extraPadding - Extra padding between the component bounds and the focus ring painting.

getDashLength

protected static float getDashLength(int fontSize)
Returns DPI-aware dash length for dash-based focus painting.

Parameters:
fontSize - The font size of the component for focus painting.
Returns:
DPI-aware dash length for dash-based focus painting.

getDashGap

protected static float getDashGap(int fontSize)
Returns DPI-aware dash gap for dash-based focus painting.

Parameters:
fontSize - The font size of the component for focus painting.
Returns:
DPI-aware dash gap for dash-based focus painting.

isAnimated

public boolean isAnimated()
Returns indication whether this focus kind can be animated. For example, focus rings painted with solid lines are generally static.

Returns:
true if this focus kind can be animated, false otherwise.