summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/q3dscene_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-12 09:53:52 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-12 10:31:27 +0300
commit7f8966b035c9fd73d2cde04521c92892feefc0f9 (patch)
tree55fee47c70805ff6bd4df1a8cd7693ea34132b27 /src/datavisualization/engine/q3dscene_p.h
parent1262c6562d7264c9fe4caf2f433615348c0f2ef8 (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.h28
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;