diff options
Diffstat (limited to 'src/charts/axis/valueaxis/chartvalueaxisy.cpp')
-rw-r--r-- | src/charts/axis/valueaxis/chartvalueaxisy.cpp | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/charts/axis/valueaxis/chartvalueaxisy.cpp b/src/charts/axis/valueaxis/chartvalueaxisy.cpp index e40fdbc0..3ffeddf9 100644 --- a/src/charts/axis/valueaxis/chartvalueaxisy.cpp +++ b/src/charts/axis/valueaxis/chartvalueaxisy.cpp @@ -1,12 +1,11 @@ /**************************************************************************** ** -** Copyright (C) 2021 The Qt Company Ltd. +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Charts module of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:COMM$ -** +** $QT_BEGIN_LICENSE:GPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the @@ -15,15 +14,16 @@ ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** -** $QT_END_LICENSE$ -** -** -** -** -** -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** +** $QT_END_LICENSE$ ** ****************************************************************************/ @@ -76,22 +76,21 @@ QVector<qreal> ChartValueAxisY::calculateLayout() const return points; } else { const qreal interval = m_axis->tickInterval(); - qreal value = m_axis->tickAnchor(); + const qreal anchor = m_axis->tickAnchor(); const qreal maxValue = max(); const qreal minValue = min(); - // Find the first major tick right after the min of range - if (value > minValue) - value = value - int((value - minValue) / interval) * interval; - else - value = value + qCeil((minValue - value) / interval) * interval; + // Find the first major tick right after the min of the range + const qreal ticksFromAnchor = (anchor - minValue) / interval; + const qreal firstMajorTick = anchor - std::floor(ticksFromAnchor) * interval; const QRectF &gridRect = gridGeometry(); const qreal deltaY = gridRect.height() / (maxValue - minValue); QVector<qreal> points; const qreal bottomPos = gridRect.bottom(); - while (value <= maxValue || qFuzzyCompare(value, maxValue)) { + qreal value = firstMajorTick; + while (value <= maxValue) { points << (value - minValue) * -deltaY + bottomPos; value += interval; } |