## org.biojava.bio.gui.sequence
Interface SequenceRenderer

All Known Implementing Classes:
  SymbolSequenceRenderer, FeatureBlockSequenceRenderer

public interface SequenceRenderer

The interface for things that can render a line of information about a sequence.

Renderers are always activated within the context of a particular sequence panel. A single Renderer can be shaired among many sequence panels, or added multiple times to the same panel. The renderer is required to request how much leading and trailing space it requires, as well as the depth (space orthoganal to the direction that the sequence is rendered).

Author:
  Thomas Down, Matthew Pocock

Method Summary
`double` `getDepth(SequencePanel sp)` Retrieve the depth of this renderer when rendering sp.
`double` `getMinimumLeader(SequencePanel sp)` Retrieve the minimum leading distance for this renderer when rendering sp.
`double` `getMinimumTrailer(SequencePanel sp)` Retrieve the minimum trailing distance for this renderer when rendering sp.
`void` `paint(java.awt.Graphics2D g, SequencePanel sp, java.awt.geom.Rectangle2D seqBox)` Render a portion (possibly all) of the information for sp to g, displaying all of the data that would fall within seqBox.

Method Detail

### paint

    public void paint(java.awt.Graphics2D g,
                      SequencePanel sp,
                      java.awt.geom.Rectangle2D seqBox)

  Render a portion (possibly all) of the information for sp to g, displaying all of the data that would fall within seqBox.
  Parameters:
    `g` - the Graphics2D to render to
    `sp` - the SequencePanel that encapsulates the information to render
    `seqBox` - the rectangle within which to render sequence stuff

### getDepth

    public double getDepth(SequencePanel sp)

  Retrieve the depth of this renderer when rendering sp.

  The depth may vary between sequence panels - for example based upon sequence length.

  Parameters:
    `sp` - the SequencePanel to return info for
  Returns:
    the depth of the renderer for that sequence panel

### getMinimumLeader

    public double getMinimumLeader(SequencePanel sp)

  Retrieve the minimum leading distance for this renderer when rendering sp.

  The leading distance may vary between sequence panels - for example based upon sequence length.

  Parameters:
    `sp` - the SequencePanel to return info for
  Returns:
    the leading distance of the renderer for that sequence panel

### getMinimumTrailer

    public double getMinimumTrailer(SequencePanel sp)

  Retrieve the minimum trailing distance for this renderer when rendering sp.

  The trailing distance may vary between sequence panels - for example based upon sequence length.

  Parameters:
    `sp` - the SequencePanel to return info for
  Returns:
    the trailing distance of the renderer for that sequence panel