T
- demonstration of unknown comparable and inheritance idiom or bad
generics design for this case.public interface IPointPainter<T extends IPointPainter<T>> extends Serializable, Comparable<T>
This low level interface is used wherever points have to be painted:
ITracePainter
)ErrorBarPainter
).ITracePoint2D.addAdditionalPointPainter(IPointPainter)
).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.
|
void |
endPaintIteration(Graphics g2d)
Invoked to inform implementations that a paint iteration ends for the
corresponding
ITrace2D . |
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
double calculateMaxX(ITracePoint2D point)
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.double calculateMaxY(ITracePoint2D point)
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.double calculateMinX(ITracePoint2D point)
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.double calculateMinY(ITracePoint2D point)
This is needed because a point's bounds may be exceeded when actually painting it.
point
- the point to draw.void endPaintIteration(Graphics g2d)
ITrace2D
.
g2d
- provided in case pending paint operations have to be performed.boolean isAdditionalSpaceRequiredX()
TracePoint2D.getX()
.
TracePoint2D.getX()
.boolean isAdditionalSpaceRequiredY()
TracePoint2D.getY()
.
TracePoint2D.getY()
.boolean isPixelTransformationNeededX()
If this is the case min-max - search of the trace is much slower (points * 2 * amount of painters).
boolean isPixelTransformationNeededY()
If this is the case min-max - search of the trace is much slower (points * 2 * amount of painters).
void paintPoint(int absoluteX, int absoluteY, int nextX, int nextY, Graphics g, ITracePoint2D original)
The next coordinates are also provided to allow to check how much distance is available for the graphic representation of the current point.
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!Copyright © 2017. All rights reserved.