# Interface Captioner

All Known Implementing Classes:
  `BasicCaptioner, LatexCaptioner, NullCaptioner, OutlineCaptioner`

@Equality public interface Captioner
Can paint a text caption onto a graphics context in horizontal orientation.

It might be better to rework this interface so that the reference position is the origin of the bounding box rather than the start of the baseline which may have a descender. That would make the calculations easier - it's easy to get confused about the origins and height. It would also mean this interface could just return an `Icon`.

Since:
  12 Feb 2013
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`void`
`drawCaption(Caption label, Graphics g)`
Draws a caption such that the left end of the text baseline is at the origin of the supplied graphics context.
`Rectangle`
`getCaptionBounds(Caption label)`
Returns a bounding box for the caption drawn by a corresponding call to `drawCaption(Caption, Graphics)`.
`int`
`getPad()`
Returns a suitable padding value for separating captions from the reference position or other graphical elements.

## Method Details

### drawCaption

void drawCaption(Caption label, Graphics g)
Draws a caption such that the left end of the text baseline is at the origin of the supplied graphics context.

Parameters:
  `label` - caption text
  `g` - graphics context

### getCaptionBounds

Rectangle getCaptionBounds(Caption label)
Returns a bounding box for the caption drawn by a corresponding call to `drawCaption(Caption, Graphics)`.

Parameters:
  `label` - caption text
Returns:
  bounding box for caption drawn at the origin

### getPad

int getPad()
Returns a suitable padding value for separating captions from the reference position or other graphical elements.

Returns:
  pad value in pixels