summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/axisrendercache.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-06 09:52:24 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-05-08 08:37:17 +0300
commit8ff45fe94c3f3f6916f8f673c3ce0b574a69cfdf (patch)
tree8a085097595201ad14a0afcdd794f75feb365e89 /src/datavisualization/engine/axisrendercache.cpp
parentd6c1aadb3ee366ce8fd40da43fb65128ab3b2d44 (diff)
Value axis reversing support
Task-number: QTRD-2428 Change-Id: I51b3a1f8f974d5b72b36ee1188b7557539b9609b Reviewed-by: Titta Heikkala <titta.heikkala@digia.com> Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine/axisrendercache.cpp')
-rw-r--r--src/datavisualization/engine/axisrendercache.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp
index 8e78522a..baa733b3 100644
--- a/src/datavisualization/engine/axisrendercache.cpp
+++ b/src/datavisualization/engine/axisrendercache.cpp
@@ -29,6 +29,7 @@ AxisRenderCache::AxisRenderCache()
m_max(10.0f),
m_segmentCount(5),
m_subSegmentCount(1),
+ m_reversed(false),
m_font(QFont(QStringLiteral("Arial"))),
m_formatter(0),
m_ctrlFormatter(0),
@@ -129,17 +130,24 @@ void AxisRenderCache::updateAllPositions()
int index = 0;
int grid = 0;
int label = 0;
+ float position = 0.0f;
for (; label < labelCount; label++) {
- m_adjustedLabelPositions[label] =
- m_formatter->labelPositions().at(label) * m_scale + m_translate;
+ position = m_formatter->labelPositions().at(label);
+ if (m_reversed)
+ position = 1.0f - position;
+ m_adjustedLabelPositions[label] = position * m_scale + m_translate;
}
for (; grid < gridCount; grid++) {
- m_adjustedGridLinePositions[index++] =
- m_formatter->gridPositions().at(grid) * m_scale + m_translate;
+ position = m_formatter->gridPositions().at(grid);
+ if (m_reversed)
+ position = 1.0f - position;
+ m_adjustedGridLinePositions[index++] = position * m_scale + m_translate;
}
for (int subGrid = 0; subGrid < subGridCount; subGrid++) {
- m_adjustedGridLinePositions[index++] =
- m_formatter->subGridPositions().at(subGrid) * m_scale + m_translate;
+ position = m_formatter->subGridPositions().at(subGrid);
+ if (m_reversed)
+ position = 1.0f - position;
+ m_adjustedGridLinePositions[index++] = position * m_scale + m_translate;
}
m_positionsDirty = false;