diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-09-12 09:53:52 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-09-12 10:31:27 +0300 |
commit | 7f8966b035c9fd73d2cde04521c92892feefc0f9 (patch) | |
tree | 55fee47c70805ff6bd4df1a8cd7693ea34132b27 /src/datavisualization/engine/q3dscene_p.h | |
parent | 1262c6562d7264c9fe4caf2f433615348c0f2ef8 (diff) |
Fix Q3DScene caching
Task-number: QTRD-2258
Change-Id: Ifce23dca40566e75398e00975e8b2159b325739e
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/q3dscene_p.h')
-rw-r--r-- | src/datavisualization/engine/q3dscene_p.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index 86386a75..29c7bdc4 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -29,9 +29,8 @@ #ifndef Q3DSCENE_P_H #define Q3DSCENE_P_H -#include <QRect> - #include "datavisualizationglobal_p.h" +#include <QRect> QT_DATAVISUALIZATION_BEGIN_NAMESPACE @@ -39,13 +38,38 @@ class Q3DCamera; class Q3DLight; class Q3DScene; +struct Q3DSceneChangeBitField { + bool viewportChanged : 1; + bool mainViewportChanged : 1; + bool sliceViewportChanged : 1; + bool cameraChanged : 1; + bool lightChanged : 1; + bool underSideCameraEnabledChanged : 1; + bool slicingActivatedChanged : 1; + + Q3DSceneChangeBitField() + : viewportChanged(true), + mainViewportChanged(true), + sliceViewportChanged(true), + cameraChanged(true), + lightChanged(true), + underSideCameraEnabledChanged(true), + slicingActivatedChanged(true) + { + } +}; + class Q3DScenePrivate { public: Q3DScenePrivate(Q3DScene *q); ~Q3DScenePrivate(); + void sync(Q3DScenePrivate &other); + Q3DScene *q_ptr; + Q3DSceneChangeBitField m_changeTracker; + QRect m_viewport; QRect m_mainViewport; QRect m_sliceViewport; |