summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3dcontroller.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-06-30 10:33:33 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-07-01 10:57:08 +0300
commita1293a58e0909d56e34654549ba719bacfdda1bb (patch)
tree369d70c30933820e3f8fafa90701700b70751455 /src/datavisualization/engine/abstract3dcontroller.cpp
parentf8a79feee810ca036b4b85db9c41957008474d30 (diff)
Added horizontal aspect ratio property for abstract graphs
Value 0.0 indicates automatic scaling (the default). Task-number: QTRD-3192 Change-Id: I5e4cc1b7a03c0ba811e2ed3916a440906429af57 Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r--src/datavisualization/engine/abstract3dcontroller.cpp30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp
index 6b090fcd..1b497490 100644
--- a/src/datavisualization/engine/abstract3dcontroller.cpp
+++ b/src/datavisualization/engine/abstract3dcontroller.cpp
@@ -37,7 +37,8 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen
m_selectionMode(QAbstract3DGraph::SelectionItem),
m_shadowQuality(QAbstract3DGraph::ShadowQualityMedium),
m_useOrthoProjection(false),
- m_aspectRatio(2.0f),
+ m_aspectRatio(2.0),
+ m_horizontalAspectRatio(0.0),
m_optimizationHints(QAbstract3DGraph::OptimizationDefault),
m_scene(scene),
m_activeInputHandler(0),
@@ -204,10 +205,15 @@ void Abstract3DController::synchDataToRenderer()
}
if (m_changeTracker.aspectRatioChanged) {
- m_renderer->updateAspectRatio(m_aspectRatio);
+ m_renderer->updateAspectRatio(float(m_aspectRatio));
m_changeTracker.aspectRatioChanged = false;
}
+ if (m_changeTracker.horizontalAspectRatioChanged) {
+ m_renderer->updateHorizontalAspectRatio(float(m_horizontalAspectRatio));
+ m_changeTracker.horizontalAspectRatioChanged = false;
+ }
+
if (m_changeTracker.optimizationHintChanged) {
m_renderer->updateOptimizationHint(m_optimizationHints);
m_changeTracker.optimizationHintChanged = false;
@@ -1517,7 +1523,7 @@ bool Abstract3DController::isOrthoProjection() const
return m_useOrthoProjection;
}
-void Abstract3DController::setAspectRatio(float ratio)
+void Abstract3DController::setAspectRatio(qreal ratio)
{
if (m_aspectRatio != ratio) {
m_aspectRatio = ratio;
@@ -1528,11 +1534,27 @@ void Abstract3DController::setAspectRatio(float ratio)
}
}
-float Abstract3DController::aspectRatio()
+qreal Abstract3DController::aspectRatio()
{
return m_aspectRatio;
}
+void Abstract3DController::setHorizontalAspectRatio(qreal ratio)
+{
+ if (m_horizontalAspectRatio != ratio) {
+ m_horizontalAspectRatio = ratio;
+ m_changeTracker.horizontalAspectRatioChanged = true;
+ emit horizontalAspectRatioChanged(m_horizontalAspectRatio);
+ m_isDataDirty = true;
+ emitNeedRender();
+ }
+}
+
+qreal Abstract3DController::horizontalAspectRatio() const
+{
+ return m_horizontalAspectRatio;
+}
+
void Abstract3DController::setPolar(bool enable)
{
if (enable != m_isPolar) {