diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-05-26 09:57:25 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-05-26 10:00:29 +0300 |
commit | 5611563234ac7edd47ad9df3a8bf0a293718d8f8 (patch) | |
tree | cf86ae40fdc51e9df7197fc5756438b1023858c6 /src/datavisualization/engine/abstract3dcontroller.cpp | |
parent | 039a4b04c5207e869fed958baefcd74fe9423426 (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.cpp | 24 |
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 |