##// END OF EJS Templates
QSplineSeries calculateControlPoints moved to splinechartitem. This way we don't need to deal with controlPoints on logaritmic scale
QSplineSeries calculateControlPoints moved to splinechartitem. This way we don't need to deal with controlPoints on logaritmic scale

File last commit:

r2214:0a3cbf6ad29b
r2372:d6a999e30ac3
Show More
xyseriesiodevice.cpp
37 lines | 966 B | text/x-c | CppLexer
/ demos / audio / xyseriesiodevice.cpp
#include "xyseriesiodevice.h"
#include <QXYSeries>
XYSeriesIODevice::XYSeriesIODevice(QXYSeries * series, QObject *parent) :
QIODevice(parent),
m_series(series)
{
}
qint64 XYSeriesIODevice::readData(char * data, qint64 maxSize)
{
Q_UNUSED(data)
Q_UNUSED(maxSize)
return -1;
}
qint64 XYSeriesIODevice::writeData(const char * data, qint64 maxSize)
{
qint64 range = 2000;
QList<QPointF> oldPoints = m_series->points();
QList<QPointF> points;
int resolution = 4;
if (oldPoints.count() < range) {
points = m_series->points();
} else {
for (int i = maxSize/resolution; i < oldPoints.count(); i++)
points.append(QPointF(i - maxSize/resolution, oldPoints.at(i).y()));
}
qint64 size = points.count();
for (int k = 0; k < maxSize/resolution; k++)
points.append(QPointF(k + size, ((quint8)data[resolution * k] - 128)/128.0));
m_series->replace(points);
return maxSize;
}