T
- needed for comparablepublic class TracePainterConfigurable<T extends IPointPainterConfigurableUI<T>> extends ATracePainter
ITracePainter
implementation that works on a given IPointPainter
. It
is configurable by using the point painter to paint the trace (wrapper /
delegate).
Configure painting by first calling:
and then:
getPointPainter()
.
IPointPainterConfigurableUI.setColor(java.awt.Color)
,
IPointPainterConfigurableUI.setColorFill(java.awt.Color)
and
IPointPainterConfigurableUI.setStroke(java.awt.Stroke)
Modifier and Type | Field and Description |
---|---|
protected T |
m_pointPainter
The implementation for rendering the point as a disc.
|
Constructor and Description |
---|
TracePainterConfigurable(T pointPainter)
Creates an instance that works with the given point painter.
|
Modifier and Type | Method and Description |
---|---|
double |
calculateMaxX(ITracePoint2D point)
Returns the maximum x bound this painter will need to paint the given
point.
|
double |
calculateMaxY(ITracePoint2D point)
Returns the maximum y bound this painter will need to paint the given
point.
|
double |
calculateMinX(ITracePoint2D point)
Returns the minimum x bound this painter will need to paint the given
point.
|
double |
calculateMinY(ITracePoint2D point)
Returns the minimum y bound this painter will need to paint the given
point.
|
int |
compareTo(T o) |
void |
endPaintIteration(Graphics g2d)
Invoked to inform implementations that a paint iteration ends for the
corresponding
ITrace2D . |
boolean |
equals(Object obj) |
T |
getPointPainter()
Returns the pointPainter.
|
int |
hashCode() |
boolean |
isAdditionalSpaceRequiredX()
Return true if this point painter needs more space in x dimension than
TracePoint2D.getX() . |
boolean |
isAdditionalSpaceRequiredY()
Return true if this point painter needs more space in y dimension than
TracePoint2D.getY() . |
boolean |
isPixelTransformationNeededX()
Return true if rendering in x dimension requires a transformation from
pixel to value domain.
|
boolean |
isPixelTransformationNeededY()
Return true if rendering in y dimension requires a transformation from
pixel to value domain.
|
void |
paintPoint(int absoluteX,
int absoluteY,
int nextX,
int nextY,
Graphics g,
ITracePoint2D original)
Paint the point given by absolute coordinates on the given graphic context.
|
void |
startPaintIteration(Graphics g2d)
Invoked to inform implementations that a paint iteration starts for the
corresponding
ITrace2D . |
compareTo, discontinue, getPreviousPoint, getPreviousX, getPreviousY
protected final T extends IPointPainterConfigurableUI<T> m_pointPainter
public TracePainterConfigurable(T pointPainter)
pointPainter
- the point painter to use.public final double calculateMaxX(ITracePoint2D point)
IPointPainter
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.IPointPainter.calculateMaxX(info.monitorenter.gui.chart.ITracePoint2D)
public final double calculateMaxY(ITracePoint2D point)
IPointPainter
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.IPointPainter.calculateMaxY(info.monitorenter.gui.chart.ITracePoint2D)
public final double calculateMinX(ITracePoint2D point)
IPointPainter
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.IPointPainter.calculateMinX(info.monitorenter.gui.chart.ITracePoint2D)
public final double calculateMinY(ITracePoint2D point)
IPointPainter
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.IPointPainter.calculateMinY(info.monitorenter.gui.chart.ITracePoint2D)
public final int compareTo(T o)
o
- the instance to compare oneself to.Comparable.compareTo(java.lang.Object)
public final void endPaintIteration(Graphics g2d)
IPointPainter
ITrace2D
.
endPaintIteration
in interface IPointPainter<ATracePainter>
endPaintIteration
in class ATracePainter
g2d
- provided in case pending paint operations have to be performed.IPointPainter.endPaintIteration(java.awt.Graphics)
public boolean equals(Object obj)
equals
in class ATracePainter
Object.equals(java.lang.Object)
public T getPointPainter()
public int hashCode()
hashCode
in class ATracePainter
Object.hashCode()
public boolean isAdditionalSpaceRequiredX()
IPointPainter
TracePoint2D.getX()
.
TracePoint2D.getX()
.IPointPainter.isAdditionalSpaceRequiredX()
public boolean isAdditionalSpaceRequiredY()
IPointPainter
TracePoint2D.getY()
.
TracePoint2D.getY()
.IPointPainter.isAdditionalSpaceRequiredY()
public final boolean isPixelTransformationNeededX()
IPointPainter
If this is the case min-max - search of the trace is much slower (points * 2 * amount of painters).
IPointPainter.isPixelTransformationNeededX()
public final boolean isPixelTransformationNeededY()
IPointPainter
If this is the case min-max - search of the trace is much slower (points * 2 * amount of painters).
IPointPainter.isPixelTransformationNeededY()
public void paintPoint(int absoluteX, int absoluteY, int nextX, int nextY, Graphics g, ITracePoint2D original)
IPointPainter
The next coordinates are also provided to allow to check how much distance is available for the graphic representation of the current point.
paintPoint
in interface IPointPainter<ATracePainter>
paintPoint
in class ATracePainter
absoluteX
- the ready to use x value for the point to paint.absoluteY
- the ready to use y value for the point to paint.nextX
- the ready to use next x value for the point to paint.nextY
- the ready to use next y value for the point to paint.g
- the graphic context to paint on.original
- just for information, for painting this should be irrelevant and
it should not be changed too!ATracePainter.paintPoint(int,
int, int, int, java.awt.Graphics,
info.monitorenter.gui.chart.ITracePoint2D)
public final void startPaintIteration(Graphics g2d)
IPointPainter
ITrace2D
.
startPaintIteration
in interface IPointPainter<ATracePainter>
startPaintIteration
in class ATracePainter
g2d
- provided in case pending paint operations have to be performed.ATracePainter.startPaintIteration(java.awt.Graphics)
Copyright © 2017. All rights reserved.