summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-08-15 14:56:44 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-08-16 06:23:17 +0300
commit29f6433606cebe3299e9915ae32bae7dfaed2770 (patch)
tree74589a32ac721e1b21f5ebec31480e03588da4aa /src
parent498d4f391932ab612afa2a1ce5ced8c6aea44942 (diff)
Fixed zoomlevel caching
Change-Id: I0bd73c65559ccdde00ef6e5a99b2ecad8cfd0f98 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/datavis3d/engine/abstract3dcontroller.cpp5
-rw-r--r--src/datavis3d/engine/abstract3drenderer.cpp9
-rw-r--r--src/datavis3d/engine/abstract3drenderer_p.h2
-rw-r--r--src/datavis3d/engine/bars3dcontroller.cpp5
-rw-r--r--src/datavis3d/engine/bars3dcontroller_p.h4
-rw-r--r--src/datavis3d/engine/bars3drenderer.cpp6
-rw-r--r--src/datavis3d/engine/bars3drenderer_p.h2
-rw-r--r--src/datavis3d/engine/scatter3dcontroller.cpp5
-rw-r--r--src/datavis3d/engine/scatter3dcontroller_p.h4
-rw-r--r--src/datavis3d/engine/scatter3drenderer.cpp7
-rw-r--r--src/datavis3d/engine/scatter3drenderer_p.h4
11 files changed, 17 insertions, 36 deletions
diff --git a/src/datavis3d/engine/abstract3dcontroller.cpp b/src/datavis3d/engine/abstract3dcontroller.cpp
index 99d0b66d..12f76fd1 100644
--- a/src/datavis3d/engine/abstract3dcontroller.cpp
+++ b/src/datavis3d/engine/abstract3dcontroller.cpp
@@ -71,6 +71,11 @@ void Abstract3DController::synchDataToRenderer()
m_changeTracker.positionChanged = false;
}
+ if (m_changeTracker.zoomLevelChanged) {
+ m_renderer->updateZoomLevel(m_zoomLevel);
+ m_changeTracker.zoomLevelChanged = false;
+ }
+
if (m_changeTracker.themeChanged) {
m_renderer->updateTheme(m_theme);
m_changeTracker.themeChanged = false;
diff --git a/src/datavis3d/engine/abstract3drenderer.cpp b/src/datavis3d/engine/abstract3drenderer.cpp
index ca97abad..b25e5a15 100644
--- a/src/datavis3d/engine/abstract3drenderer.cpp
+++ b/src/datavis3d/engine/abstract3drenderer.cpp
@@ -27,7 +27,9 @@ Abstract3DRenderer::Abstract3DRenderer(Abstract3DController *controller)
m_isInitialized(false),
m_hasNegativeValues(false),
m_drawer(new Drawer(m_cachedTheme, m_cachedFont, m_cachedLabelTransparency)),
- m_autoScaleAdjustment(1.0f)
+ m_autoScaleAdjustment(1.0f),
+ m_cachedZoomLevel(100)
+
{
QObject::connect(m_drawer, &Drawer::drawerChanged, this, &Abstract3DRenderer::updateTextures);
}
@@ -161,6 +163,11 @@ void Abstract3DRenderer::handleResize()
#endif
}
+void Abstract3DRenderer::updateZoomLevel(int newZoomLevel)
+{
+ m_cachedZoomLevel = newZoomLevel;
+}
+
void Abstract3DRenderer::updateAxisType(QAbstractAxis::AxisOrientation orientation, QAbstractAxis::AxisType type)
{
axisCacheForOrientation(orientation).setType(type);
diff --git a/src/datavis3d/engine/abstract3drenderer_p.h b/src/datavis3d/engine/abstract3drenderer_p.h
index 6f13ac2f..3c5d1388 100644
--- a/src/datavis3d/engine/abstract3drenderer_p.h
+++ b/src/datavis3d/engine/abstract3drenderer_p.h
@@ -57,6 +57,7 @@ protected:
QDataVis::SelectionMode m_cachedSelectionMode;
bool m_cachedIsGridEnabled;
bool m_cachedIsBackgroundEnabled;
+ int m_cachedZoomLevel;
AxisRenderCache m_axisCacheX;
AxisRenderCache m_axisCacheY;
@@ -72,6 +73,7 @@ public:
virtual void updatePosition(const QRect boundingRect);
virtual void handleResize();
+ virtual void updateZoomLevel(int newZoomLevel);
virtual void updateTheme(Theme theme);
virtual void updateFont(const QFont &font);
virtual void updateLabelTransparency(QDataVis::LabelTransparency transparency);
diff --git a/src/datavis3d/engine/bars3dcontroller.cpp b/src/datavis3d/engine/bars3dcontroller.cpp
index 750c3298..3f5a31b2 100644
--- a/src/datavis3d/engine/bars3dcontroller.cpp
+++ b/src/datavis3d/engine/bars3dcontroller.cpp
@@ -91,11 +91,6 @@ void Bars3dController::synchDataToRenderer()
m_changeTracker.barSpecsChanged = false;
}
- if (m_changeTracker.zoomLevelChanged) {
- m_renderer->updateZoomLevel(m_zoomLevel);
- m_changeTracker.zoomLevelChanged = false;
- }
-
if (m_isDataDirty) {
m_renderer->updateDataModel(m_data);
m_isDataDirty = false;
diff --git a/src/datavis3d/engine/bars3dcontroller_p.h b/src/datavis3d/engine/bars3dcontroller_p.h
index 5950d8cb..9811eb0d 100644
--- a/src/datavis3d/engine/bars3dcontroller_p.h
+++ b/src/datavis3d/engine/bars3dcontroller_p.h
@@ -43,13 +43,11 @@ struct Bars3DChangeBitField {
bool slicingActiveChanged : 1;
bool sampleSpaceChanged : 1;
bool barSpecsChanged : 1;
- bool zoomLevelChanged : 1;
Bars3DChangeBitField() :
slicingActiveChanged(true),
sampleSpaceChanged(true),
- barSpecsChanged(true),
- zoomLevelChanged(true)
+ barSpecsChanged(true)
{
}
};
diff --git a/src/datavis3d/engine/bars3drenderer.cpp b/src/datavis3d/engine/bars3drenderer.cpp
index b071aa8e..908b7888 100644
--- a/src/datavis3d/engine/bars3drenderer.cpp
+++ b/src/datavis3d/engine/bars3drenderer.cpp
@@ -1743,12 +1743,6 @@ void Bars3dRenderer::updateSlicingActive(bool isSlicing)
}
}
-void Bars3dRenderer::updateZoomLevel(int newZoomLevel)
-{
- m_cachedZoomLevel = newZoomLevel;
-}
-
-
QRect Bars3dRenderer::mainViewPort()
{
return m_mainViewPort;
diff --git a/src/datavis3d/engine/bars3drenderer_p.h b/src/datavis3d/engine/bars3drenderer_p.h
index 5ab64dfa..93d47cf1 100644
--- a/src/datavis3d/engine/bars3drenderer_p.h
+++ b/src/datavis3d/engine/bars3drenderer_p.h
@@ -75,7 +75,6 @@ private:
QSizeF m_cachedBarThickness;
QSizeF m_cachedBarSpacing;
bool m_cachedIsSlicingActivated;
- int m_cachedZoomLevel;
int m_cachedRowCount;
int m_cachedColumnCount;
@@ -149,7 +148,6 @@ public slots:
void updateSelectionMode(QDataVis::SelectionMode newMode);
void updateSlicingActive(bool isSlicing);
void updateSampleSpace(int rowCount, int columnCount);
- void updateZoomLevel(int newZoomLevel);
void updateBackgroundEnabled(bool enable);
void updateMeshFileName(const QString &objFileName);
diff --git a/src/datavis3d/engine/scatter3dcontroller.cpp b/src/datavis3d/engine/scatter3dcontroller.cpp
index 74bcc38a..0d93b06f 100644
--- a/src/datavis3d/engine/scatter3dcontroller.cpp
+++ b/src/datavis3d/engine/scatter3dcontroller.cpp
@@ -75,11 +75,6 @@ void Scatter3DController::synchDataToRenderer()
m_changeTracker.slicingActiveChanged = false;
}
- if (m_changeTracker.zoomLevelChanged) {
- m_renderer->updateZoomLevel(m_zoomLevel);
- m_changeTracker.zoomLevelChanged = false;
- }
-
if (m_isDataDirty) {
m_renderer->updateDataModel(m_data);
m_isDataDirty = false;
diff --git a/src/datavis3d/engine/scatter3dcontroller_p.h b/src/datavis3d/engine/scatter3dcontroller_p.h
index 67f32278..437664b7 100644
--- a/src/datavis3d/engine/scatter3dcontroller_p.h
+++ b/src/datavis3d/engine/scatter3dcontroller_p.h
@@ -41,11 +41,9 @@ class QScatterDataProxy;
struct Scatter3DChangeBitField {
bool slicingActiveChanged : 1;
- bool zoomLevelChanged : 1;
Scatter3DChangeBitField() :
- slicingActiveChanged(true),
- zoomLevelChanged(true)
+ slicingActiveChanged(true)
{
}
};
diff --git a/src/datavis3d/engine/scatter3drenderer.cpp b/src/datavis3d/engine/scatter3drenderer.cpp
index b524e3ad..d8d5da9a 100644
--- a/src/datavis3d/engine/scatter3drenderer.cpp
+++ b/src/datavis3d/engine/scatter3drenderer.cpp
@@ -1544,13 +1544,6 @@ Scatter3DController::SelectionType Scatter3DRenderer::isSelected(GLint bar,
return isSelectedType;
}
-void Scatter3DRenderer::updateZoomLevel(int newZoomLevel)
-{
- //qDebug() << __FUNCTION__;
- m_cachedZoomLevel = newZoomLevel;
-}
-
-
QRect Scatter3DRenderer::mainViewPort()
{
//qDebug() << __FUNCTION__;
diff --git a/src/datavis3d/engine/scatter3drenderer_p.h b/src/datavis3d/engine/scatter3drenderer_p.h
index 4eea41a9..45054db4 100644
--- a/src/datavis3d/engine/scatter3drenderer_p.h
+++ b/src/datavis3d/engine/scatter3drenderer_p.h
@@ -73,9 +73,6 @@ private:
// TODO: this mutex needs to go, too
QMutex m_mutex;
- // Cached state based on emitted signals from the controller
- int m_cachedZoomLevel;
-
// Internal state
ScatterRenderItem *m_selectedItem; // points to renderitem array
ScatterRenderItem *m_previouslySelectedItem; // points to renderitem array
@@ -131,7 +128,6 @@ public:
QRect mainViewPort();
public slots:
- void updateZoomLevel(int newZoomLevel);
void updateBackgroundEnabled(bool enable);
void updateMeshFileName(const QString &objFileName);