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