##// 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:

r2782:5fbd172ba15f
r2820:79a856530b69
Show More
qbarseries.cpp
122 lines | 3.3 KiB | text/x-c | CppLexer
sauimone
new series: groupedbarseries
r1167 /****************************************************************************
**
Titta Heikkala
Copyright header changes...
r2776 ** Copyright (C) 2015 The Qt Company Ltd
sauimone
new series: groupedbarseries
r1167 ** All rights reserved.
Titta Heikkala
Copyright header changes...
r2776 ** For any questions to The Qt Company, please use contact form at http://qt.io
sauimone
new series: groupedbarseries
r1167 **
Titta Heikkala
Updated license headers...
r2740 ** This file is part of the Qt Charts module.
sauimone
new series: groupedbarseries
r1167 **
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.
sauimone
new series: groupedbarseries
r1167 **
** If you have questions regarding the use of this file, please use
Titta Heikkala
Updated license headers...
r2740 ** contact form at http://qt.io
sauimone
new series: groupedbarseries
r1167 **
****************************************************************************/
Titta Heikkala
Fix include syntax...
r2714 #include <QtCharts/QBarSeries>
#include <private/qbarseries_p.h>
#include <private/barchartitem_p.h>
#include <private/chartdataset_p.h>
#include <private/charttheme_p.h>
#include <QtCharts/QValueAxis>
#include <QtCharts/QBarCategoryAxis>
sauimone
new series: groupedbarseries
r1167
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_BEGIN_NAMESPACE
sauimone
new series: groupedbarseries
r1167
/*!
sauimone
GroupedBarSeries to BarSeries
r1594 \class QBarSeries
Titta Heikkala
Fix Charts documentation...
r2639 \inmodule Qt Charts
Miikka Heikkinen
Fix some documentation issues...
r2520 \brief Series for creating bar chart.
sauimone
new series: groupedbarseries
r1167
sauimone
GroupedBarSeries to BarSeries
r1594 QBarSeries represents a series of data shown as bars. The purpose of this class is to draw bars
as groups, where bars in same category are grouped next to each other. QBarSeries groups the data
sauimone
Fixed category handling of barcharts. Now the categories can be undefined. Updated documentation.
r1208 from sets to categories, which are defined by a QStringList.
sauimone
new series: groupedbarseries
r1167
sauimone
documentation update
r1618 See the \l {BarChart Example} {bar chart example} to learn how to create a grouped bar chart.
\image examples_barchart.png
sauimone
new series: groupedbarseries
r1167
sauimone
renamed barseries files to abstractbarseries
r1586 \sa QBarSet, QPercentBarSeries, QAbstractBarSeries, QStackedBarSeries
sauimone
new series: groupedbarseries
r1167 */
Titta Heikkala
Fix Charts documentation...
r2639 /*!
\qmltype BarSeries
\instantiates QBarSeries
Titta Heikkala
Qt Charts project file structure change...
r2712 \inqmlmodule QtCharts
Titta Heikkala
Fix Charts documentation...
r2639
Titta Heikkala
Qt Charts project file structure change...
r2712 \inherits AbstractBarSeries
\brief Series for creating bar chart.
Tero Ahola
Documenting QML bar series API
r1489
Titta Heikkala
Qt Charts project file structure change...
r2712 The following QML shows how to create a simple grouped bar chart:
\snippet qmlchart/qml/qmlchart/View6.qml 1
\beginfloatleft
\image examples_qmlchart6.png
\endfloat
\clearfloat
Tero Ahola
Documenting QML bar series API
r1489 */
sauimone
new series: groupedbarseries
r1167
/*!
sauimone
GroupedBarSeries to BarSeries
r1594 Constructs empty QBarSeries.
QBarSeries is QObject which is a child of a \a parent.
sauimone
new series: groupedbarseries
r1167 */
sauimone
GroupedBarSeries to BarSeries
r1594 QBarSeries::QBarSeries(QObject *parent)
: QAbstractBarSeries(*new QBarSeriesPrivate(this), parent)
sauimone
new series: groupedbarseries
r1167 {
Michal Klocek
Fixes legend markers updates
r2085
sauimone
new series: groupedbarseries
r1167 }
Jani Honkonen
Fix series type() docs
r1345 /*!
Miikka Heikkinen
Fix some documentation issues...
r2520 Returns QAbstractSeries::SeriesTypeBar.
Jani Honkonen
Fix series type() docs
r1345 */
sauimone
GroupedBarSeries to BarSeries
r1594 QAbstractSeries::SeriesType QBarSeries::type() const
sauimone
new series: groupedbarseries
r1167 {
sauimone
GroupedBarSeries to BarSeries
r1594 return QAbstractSeries::SeriesTypeBar;
sauimone
new series: groupedbarseries
r1167 }
sauimone
fixed warnings from barchart docs
r1850 /*!
Destructor. Removes series from chart.
*/
Michal Klocek
Fixes wrong bar destruction by adding destructor for bar*series , note this breaks ABI
r1727 QBarSeries::~QBarSeries()
{
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 Q_D(QBarSeries);
Michal Klocek
Refactors internals...
r2273 if (d->m_chart)
d->m_chart->removeSeries(this);
Michal Klocek
Implements qbarcategoriesaxis logic...
r1725 }
sauimone
new series: groupedbarseries
r1167 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sauimone
GroupedBarSeries to BarSeries
r1594 QBarSeriesPrivate::QBarSeriesPrivate(QBarSeries *q) : QAbstractBarSeriesPrivate(q)
sauimone
new series: groupedbarseries
r1167 {
}
Michal Klocek
Refactors internals...
r2273 void QBarSeriesPrivate::initializeDomain()
sauimone
new series: groupedbarseries
r1167 {
Michal Klocek
Refactors internals...
r2273 qreal minX(domain()->minX());
qreal minY(domain()->minY());
qreal maxX(domain()->maxX());
qreal maxY(domain()->maxY());
sauimone
new series: groupedbarseries
r1167
sauimone
removed categories from barseries. categories are now only on axis
r1321 qreal x = categoryCount();
Marek Rosa
Added casting to qreal in qMin, qFuzzyCompare calls to fix build on arm
r1679 minX = qMin(minX, - (qreal)0.5);
sauimone
fixed bug in barseries scaledomain with negative values
r1781 minY = qMin(minY, min());
Marek Rosa
Added casting to qreal in qMin, qFuzzyCompare calls to fix build on arm
r1679 maxX = qMax(maxX, x - (qreal)0.5);
sauimone
fixed bug in barseries scaledomain with negative values
r1781 maxY = qMax(maxY, max());
sauimone
new series: groupedbarseries
r1167
Michal Klocek
Refactors internals...
r2273 domain()->setRange(minX, maxX, minY, maxY);
sauimone
new series: groupedbarseries
r1167 }
Michal Klocek
Refactors internals...
r2273 void QBarSeriesPrivate::initializeGraphics(QGraphicsItem* parent)
sauimone
new series: groupedbarseries
r1167 {
sauimone
GroupedBarSeries to BarSeries
r1594 Q_Q(QBarSeries);
Michal Klocek
Refactors internals...
r2273 BarChartItem *bar = new BarChartItem(q,parent);
m_item.reset(bar);
QAbstractSeriesPrivate::initializeGraphics(parent);
}
sauimone
new series: groupedbarseries
r1167
sauimone
GroupedBarSeries to BarSeries
r1594 #include "moc_qbarseries.cpp"
sauimone
new series: groupedbarseries
r1167
Titta Heikkala
Qt Charts project file structure change...
r2712 QT_CHARTS_END_NAMESPACE
sauimone
new series: groupedbarseries
r1167