summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-03-21 10:05:30 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-03-21 10:05:30 +0200
commitba792163ba0ea5a013f7c6d7fe8530661e22721e (patch)
treedfd7c9585931c1e69e942e0c20637069bf1874b2 /src
parente5bdddebc98a4b7101a920ef8d3fce7e9f78b8fb (diff)
Fix int-qreal rounding errors in axislayout calculations
Task-number: QTRD-1930 Reviewed-by: Mika Salmela
Diffstat (limited to 'src')
-rw-r--r--src/axis/barcategoryaxis/chartbarcategoryaxisx.cpp2
-rw-r--r--src/axis/barcategoryaxis/chartbarcategoryaxisy.cpp2
-rw-r--r--src/axis/datetimeaxis/chartdatetimeaxisx.cpp8
-rw-r--r--src/axis/datetimeaxis/chartdatetimeaxisy.cpp8
-rw-r--r--src/axis/valueaxis/chartvalueaxisx.cpp7
-rw-r--r--src/axis/valueaxis/chartvalueaxisy.cpp7
6 files changed, 14 insertions, 20 deletions
diff --git a/src/axis/barcategoryaxis/chartbarcategoryaxisx.cpp b/src/axis/barcategoryaxis/chartbarcategoryaxisx.cpp
index b4b296ec..8d86b120 100644
--- a/src/axis/barcategoryaxis/chartbarcategoryaxisx.cpp
+++ b/src/axis/barcategoryaxis/chartbarcategoryaxisx.cpp
@@ -60,7 +60,7 @@ QVector<qreal> ChartBarCategoryAxisX::calculateLayout() const
points.resize(count + 2);
for (int i = 0; i < count + 2; ++i)
- points[i] = offset + (i * delta) + gridRect.left();
+ points[i] = offset + (qreal(i) * delta) + gridRect.left();
return points;
}
diff --git a/src/axis/barcategoryaxis/chartbarcategoryaxisy.cpp b/src/axis/barcategoryaxis/chartbarcategoryaxisy.cpp
index e35aea69..0ca8116c 100644
--- a/src/axis/barcategoryaxis/chartbarcategoryaxisy.cpp
+++ b/src/axis/barcategoryaxis/chartbarcategoryaxisy.cpp
@@ -60,7 +60,7 @@ QVector<qreal> ChartBarCategoryAxisY::calculateLayout() const
points.resize(count + 2);
for (int i = 0; i < count + 2; ++i)
- points[i] = gridRect.bottom() - (i * delta) - offset;
+ points[i] = gridRect.bottom() - (qreal(i) * delta) - offset;
return points;
}
diff --git a/src/axis/datetimeaxis/chartdatetimeaxisx.cpp b/src/axis/datetimeaxis/chartdatetimeaxisx.cpp
index 591daf94..39fc3ba7 100644
--- a/src/axis/datetimeaxis/chartdatetimeaxisx.cpp
+++ b/src/axis/datetimeaxis/chartdatetimeaxisx.cpp
@@ -50,11 +50,9 @@ QVector<qreal> ChartDateTimeAxisX::calculateLayout() const
QVector<qreal> points;
points.resize(tickCount);
const QRectF &gridRect = gridGeometry();
- const qreal deltaX = gridRect.width() / (tickCount - 1);
- for (int i = 0; i < tickCount; ++i) {
- int x = i * deltaX + gridRect.left();
- points[i] = x;
- }
+ const qreal deltaX = gridRect.width() / (qreal(tickCount) - 1.0);
+ for (int i = 0; i < tickCount; ++i)
+ points[i] = qreal(i) * deltaX + gridRect.left();
return points;
}
diff --git a/src/axis/datetimeaxis/chartdatetimeaxisy.cpp b/src/axis/datetimeaxis/chartdatetimeaxisy.cpp
index 8b27d1c4..a534617f 100644
--- a/src/axis/datetimeaxis/chartdatetimeaxisy.cpp
+++ b/src/axis/datetimeaxis/chartdatetimeaxisy.cpp
@@ -50,11 +50,9 @@ QVector<qreal> ChartDateTimeAxisY::calculateLayout() const
QVector<qreal> points;
points.resize(tickCount);
const QRectF &gridRect = gridGeometry();
- const qreal deltaY = gridRect.height() / (tickCount - 1);
- for (int i = 0; i < tickCount; ++i) {
- int y = i * -deltaY + gridRect.bottom();
- points[i] = y;
- }
+ const qreal deltaY = gridRect.height() / (qreal(tickCount) - 1.0);
+ for (int i = 0; i < tickCount; ++i)
+ points[i] = qreal(i) * -deltaY + gridRect.bottom();
return points;
}
diff --git a/src/axis/valueaxis/chartvalueaxisx.cpp b/src/axis/valueaxis/chartvalueaxisx.cpp
index ccf49254..a084ac32 100644
--- a/src/axis/valueaxis/chartvalueaxisx.cpp
+++ b/src/axis/valueaxis/chartvalueaxisx.cpp
@@ -53,10 +53,9 @@ QVector<qreal> ChartValueAxisX::calculateLayout() const
points.resize(tickCount);
const QRectF &gridRect = gridGeometry();
- const qreal deltaX = gridRect.width() / (tickCount - 1);
- for (int i = 0; i < tickCount; ++i) {
- points[i] = i * deltaX + gridRect.left();
- }
+ const qreal deltaX = gridRect.width() / (qreal(tickCount) - 1.0);
+ for (int i = 0; i < tickCount; ++i)
+ points[i] = qreal(i) * deltaX + gridRect.left();
return points;
}
diff --git a/src/axis/valueaxis/chartvalueaxisy.cpp b/src/axis/valueaxis/chartvalueaxisy.cpp
index 848d4aeb..14b2d207 100644
--- a/src/axis/valueaxis/chartvalueaxisy.cpp
+++ b/src/axis/valueaxis/chartvalueaxisy.cpp
@@ -53,10 +53,9 @@ QVector<qreal> ChartValueAxisY::calculateLayout() const
const QRectF &gridRect = gridGeometry();
- const qreal deltaY = gridRect.height() / (tickCount - 1);
- for (int i = 0; i < tickCount; ++i) {
- points[i] = i * -deltaY + gridRect.bottom();
- }
+ const qreal deltaY = gridRect.height() / (qreal(tickCount) - 1.0);
+ for (int i = 0; i < tickCount; ++i)
+ points[i] = qreal(i) * -deltaY + gridRect.bottom();
return points;
}