##// END OF EJS Templates
Accelerating lineseries with OpenGL...
Accelerating lineseries with OpenGL Added support for QAbstractSeries::useOpenGL property. When true, the series in question is drawn on a separate offscreen buffer using OpenGL and then superimposed on the chart. Currently this property is only supported for line and scatter series. Change-Id: I174fec541f9f3c23464270c1fe08f824af16a0fb Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>

File last commit:

r2820:79a856530b69
r2820:79a856530b69
Show More
xyseriesiodevice.cpp
55 lines | 1.7 KiB | text/x-c | CppLexer
/ examples / charts / audio / xyseriesiodevice.cpp
Miikka Heikkinen
Added copyright headers to *.h/*.cpp files missing them...
r2435 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
Miikka Heikkinen
Added copyright headers to *.h/*.cpp files missing them...
r2435 ** All rights reserved.
Titta Heikkala
Copyright header changes...
r2776 ** For any questions to The Qt Company, please use contact form at http://qt.io
Miikka Heikkinen
Added copyright headers to *.h/*.cpp files missing them...
r2435 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
Miikka Heikkinen
Added copyright headers to *.h/*.cpp files missing them...
r2435 **
Titta Heikkala
Updated license headers...
r2740 ** Licensees holding valid commercial license for Qt may use this file in
** accordance with the Qt License Agreement provided with the Software
** or, alternatively, in accordance with the terms contained in a written
Titta Heikkala
Copyright header changes...
r2776 ** agreement between you and The Qt Company.
Miikka Heikkinen
Added copyright headers to *.h/*.cpp files missing them...
r2435 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
Miikka Heikkinen
Added copyright headers to *.h/*.cpp files missing them...
r2435 **
****************************************************************************/
Marek Rosa
Added audio input demo
r2155 #include "xyseriesiodevice.h"
Titta Heikkala
Fix include syntax...
r2714 #include <QtCharts/QXYSeries>
Marek Rosa
Added audio input demo
r2155
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)
{
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 qint64 range = 2000;
Miikka Heikkinen
Accelerating lineseries with OpenGL...
r2820 QVector<QPointF> oldPoints = m_series->pointsVector();
QVector<QPointF> points;
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 int resolution = 4;
Marek Rosa
Added audio input demo
r2155
if (oldPoints.count() < range) {
Miikka Heikkinen
Accelerating lineseries with OpenGL...
r2820 points = m_series->pointsVector();
Marek Rosa
Added audio input demo
r2155 } else {
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 for (int i = maxSize/resolution; i < oldPoints.count(); i++)
points.append(QPointF(i - maxSize/resolution, oldPoints.at(i).y()));
Marek Rosa
Added audio input demo
r2155 }
qint64 size = points.count();
Marek Rosa
Added axes titles to audio example and decreased the number of samples on chart to 2000
r2214 for (int k = 0; k < maxSize/resolution; k++)
points.append(QPointF(k + size, ((quint8)data[resolution * k] - 128)/128.0));
Marek Rosa
Added audio input demo
r2155
m_series->replace(points);
return maxSize;
}