com.explodingpixels.painter

## Class CompoundPainter<T>

- java.lang.Object
- - com.explodingpixels.painter.CompoundPainter<T>

- All Implemented Interfaces:
    MacWidgetsPainter<T>

      public class CompoundPainter<T>
      extends Object
      implements MacWidgetsPainter<T>

  An implementation of `MacWidgetsPainter` that calls a series of `Painter`s in succession. `ComponentPainter` does not do any painting itself.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CompoundPainter(MacWidgetsPainter<T>... painters)` Creates a `MacWidgetsPainter` that calls the given `Painter`s in the order they are supplied when `paint(java.awt.Graphics2D, Object, int, int)` is called.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `paint(Graphics2D graphics, T objectToPaint, 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

    - #### CompoundPainter

          public CompoundPainter(MacWidgetsPainter<T>... painters)

      Creates a `MacWidgetsPainter` that calls the given `Painter`s in the order they are supplied when `paint(java.awt.Graphics2D, Object, int, int)` is called.
      Parameters:
        `painters` - the `Painter`s to delegate to.

  - ### Method Detail

    - #### paint

          public void paint(Graphics2D graphics,
                   T objectToPaint,
                   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<T>`
      Parameters:
        `graphics` - the graphics context to paint into. It's state need not be restored. Will not be null.
        `objectToPaint` - the object to be painted.
        `width` - the width within the object to paint.
        `height` - the height within the object to paint.