## org.biojava.bio.gui.sequence
Class SubSequenceRenderContext

    java.lang.Object
      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