summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-04-15 10:36:07 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-04-15 10:41:18 +0300
commite73afe39d81fd6fba070aa475d9c7490a6a7d8d1 (patch)
tree2a4706734b44926ea4c8c0e5258cce4f4a2dcc96 /src
parentbb2beee9768b09a05138a9e8021716ebb72bfbc2 (diff)
Fixed label printing in ZoomColumn mode
Change-Id: I5e6341c7365051958798fac16fa899f44b25efeb Change-Id: I5e6341c7365051958798fac16fa899f44b25efeb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/datavis3d/engine/q3dbars.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp
index a1379346..d7a7c16b 100644
--- a/src/datavis3d/engine/q3dbars.cpp
+++ b/src/datavis3d/engine/q3dbars.cpp
@@ -956,29 +956,22 @@ void Q3DBars::drawScene()
// TODO: Move to a separate class, so that it can be used by other vis types as well (will need a lot more parameters..)
void Q3DBars::drawLabel(const QDataItem &item, const QMatrix4x4 &viewmatrix
- , const QMatrix4x4 &projectionmatrix, bool useDepth, qreal rotation) // TODO: Add enum? for label position
+ , const QMatrix4x4 &projectionmatrix, bool useDepth, qreal rotation) // TODO: Add enum? for label position (below, middle, top etc.)
{
- // TODO: Fix drawing of labels when in ZoomColumn -mode
-
// Draw label
QMatrix4x4 modelMatrix;
QMatrix4x4 MVPMatrix;
qreal yPosition = -1.5f;
if (useDepth) // replace with enum? or adjustable height
yPosition = item.d_ptr->translation().y()
- + (item.d_ptr->value() / d_ptr->m_heightNormalizer);// / 2.0f;
+ + (item.d_ptr->value() / d_ptr->m_heightNormalizer);
qreal zPosition = zComp;
+ qreal xPosition = item.d_ptr->translation().x();
if (useDepth)
zPosition = item.d_ptr->translation().z();
- if (ZoomColumn == d_ptr->m_selectionMode) {
- modelMatrix.translate(-(item.d_ptr->translation().z()) - zComp
- , yPosition
- , zPosition);
- } else {
- modelMatrix.translate(item.d_ptr->translation().x()
- , yPosition
- , zPosition);
- }
+ else if (ZoomColumn == d_ptr->m_selectionMode)
+ xPosition = -(item.d_ptr->translation().z()) + zComp; // flip first to left
+ modelMatrix.translate(xPosition, yPosition, zPosition);
// Rotate
modelMatrix.rotate(rotation, 0.0f, 0.0f, 1.0f);