diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-04-29 14:50:04 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-04-30 13:35:41 +0300 |
commit | 44b410f080c4820cea682c4d1278152d2767595c (patch) | |
tree | cebc33aae831beee71f52bddb6f4d4f9a768c69b /src/datavisualization/engine/bars3dcontroller_p.h | |
parent | 35a52776f687c43a4894fafbec9af3893f1d7f65 (diff) |
Bar data item and row changing optimizations
No longer reset the entire render item array if single item or
row changes, significantly speeding up these operations.
Task-number: QTRD-2190
Change-Id: I44b8abd384003e252e4bfc34af5d73ac1dee34bf
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine/bars3dcontroller_p.h')
-rw-r--r-- | src/datavisualization/engine/bars3dcontroller_p.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/datavisualization/engine/bars3dcontroller_p.h b/src/datavisualization/engine/bars3dcontroller_p.h index 33928306..00eda402 100644 --- a/src/datavisualization/engine/bars3dcontroller_p.h +++ b/src/datavisualization/engine/bars3dcontroller_p.h @@ -42,12 +42,16 @@ struct Bars3DChangeBitField { bool multiSeriesScalingChanged : 1; bool barSpecsChanged : 1; bool selectedBarChanged : 1; + bool rowsChanged : 1; + bool itemChanged : 1; Bars3DChangeBitField() : slicingActiveChanged(true), multiSeriesScalingChanged(true), barSpecsChanged(true), - selectedBarChanged(true) + selectedBarChanged(true), + rowsChanged(false), + itemChanged(false) { } }; @@ -56,8 +60,20 @@ class QT_DATAVISUALIZATION_EXPORT Bars3DController : public Abstract3DController { Q_OBJECT +public: + struct ChangeItem { + QBar3DSeries *series; + QPoint point; + }; + struct ChangeRow { + QBar3DSeries *series; + int row; + }; + private: Bars3DChangeBitField m_changeTracker; + QVector<ChangeItem> m_changedItems; + QVector<ChangeRow> m_changedRows; // Interaction QPoint m_selectedBar; // Points to row & column in data window. |