org.biojava.bio.gui.sequence
Interface BeadFeatureRenderer

All Superinterfaces:
FeatureRenderer
All Known Implementing Classes:
AbstractBeadRenderer, RectangularImapRenderer

public interface BeadFeatureRenderer
extends FeatureRenderer

BeadFeatureRenderers use a 'string of beads' metaphor for displaying features.

A concrete BeadFeatureRenderer may render a series of features in more than one style by delegating to other BeadFeatureRenderers for the additional style(s). This is achieved using the setDelegateRenderer() method which associates an OptimizableFilter with another BeadFeatureRenderer. Any feature accepted by the filter is rendered with that renderer, while the remainder are rendered by the current renderer.

Since:
1.2
Author:
Keith James

Method Summary
 double getBeadDepth()
          getBeadDepth returns the depth of a single bead produced by the renderer.
 double getBeadDisplacement()
          getBeadDisplacement returns the displacement of beads from the centre line of the renderer.
 void renderBead(java.awt.Graphics2D g2, Feature f, SequenceRenderContext context)
          renderBead should implement rendering for this bead type only.
 void setDelegateRenderer(OptimizableFilter filter, BeadFeatureRenderer renderer)
          setDelegateRenderer associates an OptimizableFilter with a BeadFeatureRenderer.
 
Methods inherited from interface org.biojava.bio.gui.sequence.FeatureRenderer
getDepth, processMouseEvent, renderFeature
 

Method Detail

getBeadDepth

public double getBeadDepth()
getBeadDepth returns the depth of a single bead produced by the renderer.

Returns:
a double.

getBeadDisplacement

public double getBeadDisplacement()
getBeadDisplacement returns the displacement of beads from the centre line of the renderer. A positive value indicates displacment downwards (for horizontal renderers) or to the right (for vertical renderers).

Returns:
a double.

setDelegateRenderer

public void setDelegateRenderer(OptimizableFilter filter,
                                BeadFeatureRenderer renderer)
setDelegateRenderer associates an OptimizableFilter with a BeadFeatureRenderer. Any feature accepted by the filter will be passed to the associated renderer for drawing. The OptimizableFilters should be disjoint with respect to each other (a feature may not be rendered more than once).

Parameters:
filter - an OptimizableFilter.
renderer - a BeadFeatureRenderer.

renderBead

public void renderBead(java.awt.Graphics2D g2,
                       Feature f,
                       SequenceRenderContext context)
renderBead should implement rendering for this bead type only. The renderFeature method is expected to handle the calls to delegate renderers.

Parameters:
g2 - a Graphics2D.
f - a Feature to render.
context - a SequenceRenderContext context.