org.biojava.bio.gui.sequence
Interface SequenceRenderContext

All Superinterfaces:
javax.swing.SwingConstants
All Known Subinterfaces:
PairwiseRenderContext
All Known Implementing Classes:
HeadlessRenderContext, PairwiseSequencePanel, SequencePanel, SequencePoster, SubPairwiseRenderContext, SubSequenceRenderContext, TranslatedSequencePanel

public interface SequenceRenderContext
extends javax.swing.SwingConstants

A context within which sequence information may be rendered. It encapsulates the rendering direction, the size of the leading and trailing (header/footer, left/right areas), scale and the currently rendered symbols, features and region.

Author:
Thomas Down, Matthew Pocock

Nested Class Summary
static class SequenceRenderContext.Border
          The metric object for the 'border' area - the area between the extent of the rendered area and the beginning or end of the sequence.
 
Field Summary
static ChangeType LAYOUT
           
static ChangeType REPAINT
           
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Method Summary
 int getDirection()
          Gets the direction in which this context expects sequences to be rendered - HORIZONTAL or VERTICAL.
 FeatureHolder getFeatures()
          The features to render.
 java.awt.Font getFont()
          Gets the Font attribute of the SequenceRenderContext object
 SequenceRenderContext.Border getLeadingBorder()
          Gets the LeadingBorder attribute of the SequenceRenderContext object.
 RangeLocation getRange()
          The range of the SymbolList to render.
 double getScale()
          Gets the scale as pixels per Symbol
 SymbolList getSymbols()
          The SymbolList that is currently rendered by this SequenceRenderContext.
 SequenceRenderContext.Border getTrailingBorder()
          Gets the TrailingBorder attribute of the SequenceRenderContext object.
 int graphicsToSequence(double d)
          Converts a graphical position into a sequence coordinate.
 int graphicsToSequence(java.awt.Point point)
          Converts a graphical position into a sequence coordinate.
 double sequenceToGraphics(int i)
          Converts a sequence index into a graphical coordinate.
 

Field Detail

REPAINT

public static final ChangeType REPAINT

LAYOUT

public static final ChangeType LAYOUT
Method Detail

getDirection

public int getDirection()
Gets the direction in which this context expects sequences to be rendered - HORIZONTAL or VERTICAL.

Returns:
The Direction value

getScale

public double getScale()
Gets the scale as pixels per Symbol

Returns:
The scale value

sequenceToGraphics

public double sequenceToGraphics(int i)
Converts a sequence index into a graphical coordinate. You will need to use this in conjunction with getDirection to correctly lay graphics out.

Parameters:
i - Index within the sequence
Returns:
Equivalent graphical position in pixels

graphicsToSequence

public int graphicsToSequence(double d)
Converts a graphical position into a sequence coordinate. You will need to have used getDirection to decide whether to use the x or y coordinate.

Parameters:
d - A pixel position
Returns:
The corresponding sequence index

graphicsToSequence

public int graphicsToSequence(java.awt.Point point)
Converts a graphical position into a sequence coordinate. This will use getDirection to decide whether to use the x or y coordinate.

Parameters:
point - a point representing the position
Returns:
the corresponding sequence index

getSymbols

public SymbolList getSymbols()
The SymbolList that is currently rendered by this SequenceRenderContext.

Returns:
The Sequence value

getFeatures

public FeatureHolder getFeatures()
The features to render.

Returns:
a FeatureHolder with the Features to render

getRange

public RangeLocation getRange()
The range of the SymbolList to render.

Returns:
the RangeLocation specifying which indices (inclusive) to render

getLeadingBorder

public SequenceRenderContext.Border getLeadingBorder()
Gets the LeadingBorder attribute of the SequenceRenderContext object. This represents the space between the beginning of the rendering area and the beginning of the sequence.

Returns:
The LeadingBorder value

getTrailingBorder

public SequenceRenderContext.Border getTrailingBorder()
Gets the TrailingBorder attribute of the SequenceRenderContext object. This represents the space between the end of the sequence and the end of the rendering area.

Returns:
The TrailingBorder value

getFont

public java.awt.Font getFont()
Gets the Font attribute of the SequenceRenderContext object

Returns:
The Font value