##// END OF EJS Templates
Fix to domain initialization when log base was preset on axis before adding it to chart
Fix to domain initialization when log base was preset on axis before adding it to chart

File last commit:

r2214:0a3cbf6ad29b
r2295:8468c10170a2
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;
}