Package com.explodingpixels.painter

## Class FocusStatePainter

- java.lang.Object
- - com.explodingpixels.painter.FocusStatePainter

All Implemented Interfaces:
  `MacWidgetsPainter<java.awt.Component>`

    public class FocusStatePainter
    extends java.lang.Object
    implements MacWidgetsPainter<java.awt.Component>

An implementation of `MacWidgetsPainter` that delegates to given `Painter` based on the focused state of the `Component` supplied in the `paint(java.awt.Graphics2D, java.awt.Component, int, int)` method.

### Constructor Summary

Constructors
`FocusStatePainter​(MacWidgetsPainter<java.awt.Component> componentFocusedPainter, MacWidgetsPainter<java.awt.Component> windowUnfocusedPainter)` Creates a `MacWidgetsPainter` that delegates to the given `Painter`s based on the focus state of the supplied `Component` or the focus state of it's parent `Window`.
`FocusStatePainter​(MacWidgetsPainter<java.awt.Component> componentFocusedPainter, MacWidgetsPainter<java.awt.Component> windowFocusedPainter, MacWidgetsPainter<java.awt.Component> windowUnfocusedPainter)` Creates a `MacWidgetsPainter` that delegates to the given `Painter`s based on the focus state of the supplied `Component` or the focus state of it's parent `Window`.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `paint​(java.awt.Graphics2D g, java.awt.Component component, int width, int height)` Renders to the given `Graphics2D`.

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

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

### Constructor Detail

#### FocusStatePainter

    public FocusStatePainter​(MacWidgetsPainter<java.awt.Component> componentFocusedPainter,
                             MacWidgetsPainter<java.awt.Component> windowUnfocusedPainter)

Creates a `MacWidgetsPainter` that delegates to the given `Painter`s based on the focus state of the supplied `Component` or the focus state of it's parent `Window`.

Parameters:
  `componentFocusedPainter` - the `Painter` to use when the given `Component` is focused or it's parent `java.awt.Window` is focused.
  `windowUnfocusedPainter` - the `Painter` to use when the given `Component`'s parent `java.awt.Window` is unfocused.

#### FocusStatePainter

    public FocusStatePainter​(MacWidgetsPainter<java.awt.Component> componentFocusedPainter,
                             MacWidgetsPainter<java.awt.Component> windowFocusedPainter,
                             MacWidgetsPainter<java.awt.Component> windowUnfocusedPainter)

Creates a `MacWidgetsPainter` that delegates to the given `Painter`s based on the focus state of the supplied `Component` or the focus state of it's parent `Window`.

Parameters:
  `componentFocusedPainter` - the `Painter` to use when the given `Component` is focused.
  `windowFocusedPainter` - the `Painter` to use when the given `Component` is unfocused but the `Component`'s parent window is focused.
  `windowUnfocusedPainter` - the `Painter` to use when the given `Component`'s parent `java.awt.Window` is unfocused.

### Method Detail

#### paint

    public void paint​(java.awt.Graphics2D g,
                      java.awt.Component component,
                      int width,
                      int height)

Description copied from interface: `MacWidgetsPainter`
Renders to the given `Graphics2D`. The supplied graphics context may be modified - it's state need not be restored upon completion of painting.

Specified by:
  `paint` in interface `MacWidgetsPainter<java.awt.Component>`
Parameters:
  `g` - the graphics context to paint into. It's state need not be restored. Will not be null.
  `component` - the object to be painted.
  `width` - the width within the object to paint.
  `height` - the height within the object to paint.