org.biojava.bio.gui.sequence
Class SubSequenceRenderContext

java.lang.Object
  extended by org.biojava.bio.gui.sequence.SubSequenceRenderContext
All Implemented Interfaces:
SwingConstants, SequenceRenderContext

public class SubSequenceRenderContext
extends Object
implements SequenceRenderContext

Allows a new renderer to "wrap" another one, replacing one or more values.

Use this when implementing SequenceRenderer classes that modify the data that is passed on to delegate renderers e.g. filtering the features, transforming the sequence or moving the rendering co-ordinates.

Author:
Matthew Pocock

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
SequenceRenderContext.Border
 
Field Summary
 
Fields inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
LAYOUT, 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
 
Constructor Summary
SubSequenceRenderContext(SequenceRenderContext src, SymbolList symbols, FeatureHolder features, RangeLocation range)
           
SubSequenceRenderContext(SequenceRenderContext src, SymbolList symbols, FeatureHolder features, RangeLocation range, int symOffset)
           
 
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.
 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(Point2D point)
          Converts a graphical position into a sequence coordinate.
 double sequenceToGraphics(int i)
          Converts a sequence index into a graphical coordinate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubSequenceRenderContext

public SubSequenceRenderContext(SequenceRenderContext src,
                                SymbolList symbols,
                                FeatureHolder features,
                                RangeLocation range)

SubSequenceRenderContext

public SubSequenceRenderContext(SequenceRenderContext src,
                                SymbolList symbols,
                                FeatureHolder features,
                                RangeLocation range,
                                int symOffset)
Method Detail

getDirection

public int getDirection()
Description copied from interface: SequenceRenderContext
Gets the direction in which this context expects sequences to be rendered - HORIZONTAL or VERTICAL.

Specified by:
getDirection in interface SequenceRenderContext
Returns:
The Direction value

getScale

public double getScale()
Description copied from interface: SequenceRenderContext
Gets the scale as pixels per Symbol

Specified by:
getScale in interface SequenceRenderContext
Returns:
The scale value

sequenceToGraphics

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

Specified by:
sequenceToGraphics in interface SequenceRenderContext
Parameters:
i - Index within the sequence
Returns:
Equivalent graphical position in pixels

graphicsToSequence

public int graphicsToSequence(double d)
Description copied from interface: SequenceRenderContext
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.

Specified by:
graphicsToSequence in interface SequenceRenderContext
Parameters:
d - A pixel position
Returns:
The corresponding sequence index

graphicsToSequence

public int graphicsToSequence(Point2D point)
Description copied from interface: SequenceRenderContext
Converts a graphical position into a sequence coordinate. This will use getDirection to decide whether to use the x or y coordinate.

Specified by:
graphicsToSequence in interface SequenceRenderContext
Parameters:
point - a point representing the position
Returns:
the corresponding sequence index

getSymbols

public SymbolList getSymbols()
Description copied from interface: SequenceRenderContext
The SymbolList that is currently rendered by this SequenceRenderContext.

Specified by:
getSymbols in interface SequenceRenderContext
Returns:
The Sequence value

getFeatures

public FeatureHolder getFeatures()
Description copied from interface: SequenceRenderContext
The features to render.

Specified by:
getFeatures in interface SequenceRenderContext
Returns:
a FeatureHolder with the Features to render

getRange

public RangeLocation getRange()
Description copied from interface: SequenceRenderContext
The range of the SymbolList to render.

Specified by:
getRange in interface SequenceRenderContext
Returns:
the RangeLocation specifying which indices (inclusive) to render

getLeadingBorder

public SequenceRenderContext.Border getLeadingBorder()
Description copied from interface: SequenceRenderContext
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.

Specified by:
getLeadingBorder in interface SequenceRenderContext
Returns:
The LeadingBorder value

getTrailingBorder

public SequenceRenderContext.Border getTrailingBorder()
Description copied from interface: SequenceRenderContext
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.

Specified by:
getTrailingBorder in interface SequenceRenderContext
Returns:
The TrailingBorder value

getFont

public Font getFont()
Description copied from interface: SequenceRenderContext
Gets the Font attribute of the SequenceRenderContext object

Specified by:
getFont in interface SequenceRenderContext
Returns:
The Font value