summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/bars3drenderer.cpp
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-08-16 20:37:20 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-08-16 20:37:20 +0300
commit502612c72a2cd3b3b0c4cff926e7764d74106d33 (patch)
tree1e5a0ac6240366710d21297c13d7b4b728c4f86a /src/datavisualization/engine/bars3drenderer.cpp
parenta32c95d27224c6c9e41d6080ea54bc937c5d1455 (diff)
parenta94f9816a9bae2baea38681096a209bf3839a883 (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.6' into tqtc/lts-5.15-opensourcev5.15.6-lts-lgpl
Diffstat (limited to 'src/datavisualization/engine/bars3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/bars3drenderer.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp
index c57339db..c04ef78c 100644
--- a/src/datavisualization/engine/bars3drenderer.cpp
+++ b/src/datavisualization/engine/bars3drenderer.cpp
@@ -2051,10 +2051,14 @@ void Bars3DRenderer::drawLabels(bool drawSelection, const Q3DCamera *activeCamer
glEnable(GL_POLYGON_OFFSET_FILL);
+ // If camera x rotation is 180, side labels face wrong direction
+ float activeCameraXRotation = (activeCamera->xRotation() >= 180.0f) ? -180.0f
+ : activeCamera->xRotation();
+
float labelAutoAngle = m_axisCacheY.labelAutoRotation();
float labelAngleFraction = labelAutoAngle / 90.0f;
float fractionCamY = activeCamera->yRotation() * labelAngleFraction;
- float fractionCamX = activeCamera->xRotation() * labelAngleFraction;
+ float fractionCamX = activeCameraXRotation * labelAngleFraction;
float labelsMaxWidth = 0.0f;
int startIndex;
@@ -2168,7 +2172,7 @@ void Bars3DRenderer::drawLabels(bool drawSelection, const Q3DCamera *activeCamer
labelAutoAngle = m_axisCacheZ.labelAutoRotation();
labelAngleFraction = labelAutoAngle / 90.0f;
fractionCamY = activeCamera->yRotation() * labelAngleFraction;
- fractionCamX = activeCamera->xRotation() * labelAngleFraction;
+ fractionCamX = activeCameraXRotation * labelAngleFraction;
GLfloat labelYAdjustment = 0.005f;
GLfloat colPosValue = m_scaleXWithBackground + labelMargin;
GLfloat rowPosValue = m_scaleZWithBackground + labelMargin;
@@ -2293,7 +2297,7 @@ void Bars3DRenderer::drawLabels(bool drawSelection, const Q3DCamera *activeCamer
labelAutoAngle = m_axisCacheX.labelAutoRotation();
labelAngleFraction = labelAutoAngle / 90.0f;
fractionCamY = activeCamera->yRotation() * labelAngleFraction;
- fractionCamX = activeCamera->xRotation() * labelAngleFraction;
+ fractionCamX = activeCameraXRotation * labelAngleFraction;
alignment = (m_xFlipped != m_zFlipped) ? Qt::AlignLeft : Qt::AlignRight;
if (labelAutoAngle == 0.0f) {
labelRotation = QVector3D(-90.0f, 90.0f, 0.0f);