public class RulerRenderer extends Object implements SequenceRenderer
RulerRenderer
renders numerical scales in sequence
coordinates. The tick direction may be set to point upwards (or
left when the scale is vertical) or downwards (right when the scale
is vertical).
Note: The Compaq Java VMs 1.3.1 - 1.4.0 on Tru64 appear to have a bug in font transformation which prevents a vertically oriented ruler displaying correctly rotated text.
SequenceRenderer.RendererForwarder
Modifier and Type | Field and Description |
---|---|
static int |
TICKS_DOWN
TICKS_DOWN indicates that the ticks will point
downwards from a baseline. |
static int |
TICKS_UP
TICKS_UP indicates that the ticks will point
upwards from a baseline. |
Constructor and Description |
---|
RulerRenderer()
Creates a new
RulerRenderer with the default
setting of ticks pointing downwards. |
RulerRenderer(int tickDirection)
Creates a new
RulerRenderer with the specified
tick direction. |
Modifier and Type | Method and Description |
---|---|
double |
getDepth(SequenceRenderContext src)
Retrieve the depth of this renderer when rendering src.
|
double |
getMinimumLeader(SequenceRenderContext context)
Retrieve the minimum leading distance for this renderer when rendering src.
|
double |
getMinimumTrailer(SequenceRenderContext context)
Retrieve the minimum trailing distance for this renderer when rendering src.
|
void |
paint(Graphics2D g2,
SequenceRenderContext context)
Render a portion (possibly all) of the information for src to g, displaying
all of the data that would fall within seqBox.
|
SequenceViewerEvent |
processMouseEvent(SequenceRenderContext context,
MouseEvent me,
List path)
Produce a SequenceViewerEvent in response to a mouse gesture.
|
public static final int TICKS_UP
TICKS_UP
indicates that the ticks will point
upwards from a baseline.public static final int TICKS_DOWN
TICKS_DOWN
indicates that the ticks will point
downwards from a baseline.public RulerRenderer() throws IllegalArgumentException
RulerRenderer
with the default
setting of ticks pointing downwards.IllegalArgumentException
public RulerRenderer(int tickDirection) throws IllegalArgumentException
RulerRenderer
with the specified
tick direction.tickDirection
- an int
.IllegalArgumentException
- if an error occurs.public double getMinimumLeader(SequenceRenderContext context)
SequenceRenderer
The leading distance may vary between sequence panels - for example based upon sequence length.
getMinimumLeader
in interface SequenceRenderer
context
- the SequenceRenderContext to return info forpublic double getMinimumTrailer(SequenceRenderContext context)
SequenceRenderer
The trailing distance may vary between sequence panels - for example based upon sequence length.
getMinimumTrailer
in interface SequenceRenderer
context
- the SequenceRenderContext to return info forpublic double getDepth(SequenceRenderContext src)
SequenceRenderer
The depth may vary between sequence panels - for example based upon sequence length. Each line of information in the SequenceRendererContext only renders a region of the sequence. The depth for one complete line may be different from that for another due to the sequence having more or less information in that region to show. For example, a feature renderer implementation may chose to collapse down to a depth of zero pixels if there are no features to render within a region.
getDepth
in interface SequenceRenderer
src
- the SequenceRenderContext to return info forpublic void paint(Graphics2D g2, SequenceRenderContext context)
SequenceRenderer
paint
in interface SequenceRenderer
g2
- the Graphics2D to render tocontext
- the SequenceRenderContext that encapsulates the information to renderpublic SequenceViewerEvent processMouseEvent(SequenceRenderContext context, MouseEvent me, List path)
SequenceRenderer
A SequenceRenderer that performs any form of coordinate remapping should ensure that it appropriately transforms the mouse event. However, in the SequenceViewerEvent returned, the MouseEvent should be in untransformed coordinates.
The SequenceRenderer implementation should append itself to the path list before constructing the SequenceViewerEvent.
processMouseEvent
in interface SequenceRenderer
context
- the SequenceRenderContext currently in scopeme
- a MouseEvent that caused this requestpath
- the List of SequenceRenderer instances passed through so farCopyright © 2014 BioJava. All rights reserved.