summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-05-26 09:57:25 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-05-26 10:00:29 +0300
commit5611563234ac7edd47ad9df3a8bf0a293718d8f8 (patch)
treecf86ae40fdc51e9df7197fc5756438b1023858c6 /src/datavisualization/engine/abstract3dcontroller.cpp
parent039a4b04c5207e869fed958baefcd74fe9423426 (diff)
Added API for changing data aspect ratio
Task-number: QTRD-3144 Change-Id: I9acd1be13083d7fbbed840882260a60f46c5f698 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 838d6926..98b0c792 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -58,7 +58,8 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen
m_renderPending(false),
m_measureFps(false),
m_numFrames(0),
- m_currentFps(0.0)
+ m_currentFps(0.0),
+ m_aspectRatio(2.0f)
{
if (!m_scene)
m_scene = new Q3DScene;
@@ -197,6 +198,11 @@ void Abstract3DController::synchDataToRenderer()
m_changeTracker.projectionChanged = false;
}
+ if (m_changeTracker.aspectRatioChanged) {
+ m_renderer->updateAspectRatio(m_aspectRatio);
+ m_changeTracker.aspectRatioChanged = false;
+ }
+
if (m_changeTracker.axisXFormatterChanged) {
m_changeTracker.axisXFormatterChanged = false;
if (m_axisX->type() & QAbstract3DAxis::AxisTypeValue) {
@@ -1416,4 +1422,20 @@ bool Abstract3DController::isOrthoProjection() const
return m_useOrthoProjection;
}
+void Abstract3DController::setAspectRatio(float ratio)
+{
+ if (m_aspectRatio != ratio) {
+ m_aspectRatio = ratio;
+ m_changeTracker.aspectRatioChanged = true;
+ emit aspectRatioChanged(m_aspectRatio);
+ m_isDataDirty = true;
+ emitNeedRender();
+ }
+}
+
+float Abstract3DController::aspectRatio()
+{
+ return m_aspectRatio;
+}
+
QT_END_NAMESPACE_DATAVISUALIZATION