info.monitorenter.gui.chart.traces.painters
Class TracePainterFill

java.lang.Object
  extended by info.monitorenter.gui.chart.traces.painters.ATracePainter
      extended by info.monitorenter.gui.chart.traces.painters.TracePainterFill
All Implemented Interfaces:
IPointPainter, ITracePainter, Serializable, Comparable

public class TracePainterFill
extends ATracePainter

A trace painter that fills the area between trace to render and the x axis baseline with it's color.

Additionally it increases performance by summing up all points to render for a paint iteration (submitted by paintPoint(int, int, int, int, Graphics2D, TracePoint2D) between startPaintIteration(Graphics2D,ITrace2D) and endPaintIteration(Graphics2D)) and only invoking only one polygon paint for a paint call of the corresponding Chart2D.

Version:
$Revision: 1.8 $
Author:
Achim Westermann
See Also:
Serialized Form

Constructor Summary
TracePainterFill(Chart2D chart)
          Constructor with the corresponding chart.
 
Method Summary
 void discontinue(Graphics2D g2d, ITrace2D trace)
          Invoked to inform the painter that a discontinue in the trace to # paint has occured.
 void endPaintIteration(Graphics2D g2d)
          Invoked to inform implementations that a paint iteration ends for the corresponding ITrace2D.
 void paintPoint(int absoluteX, int absoluteY, int nextX, int nextY, Graphics2D g, TracePoint2D original)
          Paint the point given by absolute coordinates on the given graphic context.
 void startPaintIteration(Graphics2D g2d, ITrace2D trace)
          Invoked to inform implementations that a paint iteration starts for the corresponding ITrace2D.
 
Methods inherited from class info.monitorenter.gui.chart.traces.painters.ATracePainter
compareTo, equals, getPreviousPoint, getPreviousX, getPreviousY, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TracePainterFill

public TracePainterFill(Chart2D chart)
Constructor with the corresponding chart.

Parameters:
chart - needed to get the start pixel coordinates of traces.
Method Detail

discontinue

public void discontinue(Graphics2D g2d,
                        ITrace2D trace)
Description copied from interface: ITracePainter
Invoked to inform the painter that a discontinue in the trace to # paint has occured.

This only has to be implemented by painters that collect several points of IPointPainter.paintPoint(int, int, int, int, Graphics2D, TracePoint2D) to draw them as polygons (e.g.: Graphics.drawPolyline(int[], int[], int)).

Specified by:
discontinue in interface ITracePainter
Overrides:
discontinue in class ATracePainter
Parameters:
g2d - provided in case pending paint operations have to be performed.
trace - the trace to discontinue painting of.
See Also:
ATracePainter.discontinue(java.awt.Graphics2D, info.monitorenter.gui.chart.ITrace2D)

endPaintIteration

public void endPaintIteration(Graphics2D g2d)
Description copied from interface: ITracePainter
Invoked to inform implementations that a paint iteration ends for the corresponding ITrace2D.

Specified by:
endPaintIteration in interface ITracePainter
Overrides:
endPaintIteration in class ATracePainter
Parameters:
g2d - provided in case pending paint operations have to be performed.
See Also:
ITracePainter.endPaintIteration(java.awt.Graphics2D)

paintPoint

public void paintPoint(int absoluteX,
                       int absoluteY,
                       int nextX,
                       int nextY,
                       Graphics2D g,
                       TracePoint2D original)
Description copied from interface: IPointPainter
Paint the point given by absolute coordinates on the given graphic context.

The next coordinates are also provided to allow to check how much distance is available for the graphic representation of the current point.

Note that by contract the TracePoint2D argument is only guaranteed to be non-null in case the instance is used as a painter for ITracePainter subtypes. If you plan to use your implementation also for a subcomponent of an IErrorBarPainter (e.g. IErrorBarPainter.setConnectionPainter(IPointPainter)) then you have to implement "null - safe" for that argument.

Specified by:
paintPoint in interface IPointPainter
Overrides:
paintPoint in class ATracePainter
Parameters:
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!
See Also:
ATracePainter.paintPoint(int, int, int, int, java.awt.Graphics2D, info.monitorenter.gui.chart.TracePoint2D)

startPaintIteration

public void startPaintIteration(Graphics2D g2d,
                                ITrace2D trace)
Description copied from interface: ITracePainter
Invoked to inform implementations that a paint iteration starts for the corresponding ITrace2D.

Specified by:
startPaintIteration in interface ITracePainter
Overrides:
startPaintIteration in class ATracePainter
Parameters:
g2d - provided in case pending paint operations have to be performed.
trace - the TracePoint2D to paint in this iteration.
See Also:
ATracePainter.startPaintIteration(java.awt.Graphics2D, info.monitorenter.gui.chart.ITrace2D)


Copyright © 2001 - 2007 LGPL, All Rights Footloose.