Files
GoldenCheetah/qwt/examples/refreshtest/circularbuffer.h
Damien 2f9130cd76 Qwt 6.0.1 Support
Upgrade to QWT 6.0.1, but still uses a locally patched copy
since support for 8 axes has not been included, despite it
being a relatively simple patch.

Fixes #634.
Fixes #567.
2012-02-12 10:43:15 +00:00

36 lines
715 B
C++

#ifndef _CIRCULAR_BUFFER_H_
#define _CIRCULAR_BUFFER_H_
#include <qwt_series_data.h>
#include <qvector.h>
class CircularBuffer: public QwtSeriesData<QPointF>
{
public:
CircularBuffer(double interval = 10.0, size_t numPoints = 1000);
void fill(double interval, size_t numPoints);
void setReferenceTime(double);
double referenceTime() const;
virtual size_t size() const;
virtual QPointF sample(size_t i) const;
virtual QRectF boundingRect() const;
void setFunction(double(*y)(double));
private:
double (*d_y)(double);
double d_referenceTime;
double d_interval;
QVector<double> d_values;
double d_step;
int d_startIndex;
double d_offset;
};
#endif