diff options
Diffstat (limited to 'src/corelib/tools/qpoint.cpp')
-rw-r--r-- | src/corelib/tools/qpoint.cpp | 155 |
1 files changed, 61 insertions, 94 deletions
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp index eca1b5a0ac..d1f3b12a68 100644 --- a/src/corelib/tools/qpoint.cpp +++ b/src/corelib/tools/qpoint.cpp @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or 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.GPL2 and 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-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qpoint.h" #include "qdatastream.h" @@ -244,23 +208,20 @@ QT_BEGIN_NAMESPACE */ /*! - \fn bool operator==(const QPoint &p1, const QPoint &p2) - \relates QPoint + \fn bool QPoint::operator==(const QPoint &p1, const QPoint &p2) Returns \c true if \a p1 and \a p2 are equal; otherwise returns false. */ /*! - \fn bool operator!=(const QPoint &p1, const QPoint &p2) - \relates QPoint + \fn bool QPoint::operator!=(const QPoint &p1, const QPoint &p2) Returns \c true if \a p1 and \a p2 are not equal; otherwise returns \c false. */ /*! - \fn const QPoint operator+(const QPoint &p1, const QPoint &p2) - \relates QPoint + \fn QPoint QPoint::operator+(const QPoint &p1, const QPoint &p2) Returns a QPoint object that is the sum of the given points, \a p1 and \a p2; each component is added separately. @@ -269,8 +230,7 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator-(const QPoint &p1, const QPoint &p2) - \relates QPoint + \fn Point QPoint::operator-(const QPoint &p1, const QPoint &p2) Returns a QPoint object that is formed by subtracting \a p2 from \a p1; each component is subtracted separately. @@ -279,8 +239,7 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator*(const QPoint &point, float factor) - \relates QPoint + \fn QPoint QPoint::operator*(const QPoint &point, float factor) Returns a copy of the given \a point multiplied by the given \a factor. @@ -291,8 +250,7 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator*(const QPoint &point, double factor) - \relates QPoint + \fn QPoint QPoint::operator*(const QPoint &point, double factor) Returns a copy of the given \a point multiplied by the given \a factor. @@ -303,8 +261,7 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator*(const QPoint &point, int factor) - \relates QPoint + \fn QPoint QPoint::operator*(const QPoint &point, int factor) Returns a copy of the given \a point multiplied by the given \a factor. @@ -312,9 +269,8 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator*(float factor, const QPoint &point) + \fn QPoint QPoint::operator*(float factor, const QPoint &point) \overload - \relates QPoint Returns a copy of the given \a point multiplied by the given \a factor. @@ -325,9 +281,8 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator*(double factor, const QPoint &point) + \fn QPoint QPoint::operator*(double factor, const QPoint &point) \overload - \relates QPoint Returns a copy of the given \a point multiplied by the given \a factor. @@ -338,9 +293,8 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator*(int factor, const QPoint &point) + \fn QPoint QPoint::operator*(int factor, const QPoint &point) \overload - \relates QPoint Returns a copy of the given \a point multiplied by the given \a factor. @@ -348,17 +302,15 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator+(const QPoint &point) - \relates QPoint + \fn QPoint QPoint::operator+(const QPoint &point) \since 5.0 Returns \a point unmodified. */ /*! - \fn const QPoint operator-(const QPoint &point) + \fn QPoint QPoint::operator-(const QPoint &point) \overload - \relates QPoint Returns a QPoint object that is formed by changing the sign of both components of the given \a point. @@ -382,8 +334,7 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QPoint operator/(const QPoint &point, qreal divisor) - \relates QPoint + \fn const QPoint QPoint::operator/(const QPoint &point, qreal divisor) Returns the QPoint formed by dividing both components of the given \a point by the given \a divisor. @@ -394,6 +345,15 @@ QT_BEGIN_NAMESPACE \sa QPoint::operator/=() */ +/*! + \fn QPoint::toPointF() const + \since 6.4 + + Returns this point as a point with floating point accuracy. + + \sa QPointF::toPoint() +*/ + /***************************************************************************** QPoint stream functions *****************************************************************************/ @@ -508,7 +468,7 @@ size_t qHash(QPoint key, size_t seed) noexcept A point is specified by a x coordinate and an y coordinate which can be accessed using the x() and y() functions. The coordinates - of the point are specified using floating point numbers for + of the point are specified using finite floating point numbers for accuracy. The isNull() function returns \c true if both x and y are set to 0.0. The coordinates can be set (or altered) using the setX() and setY() functions, or alternatively the rx() and ry() functions which @@ -545,7 +505,7 @@ size_t qHash(QPoint key, size_t seed) noexcept Constructs a copy of the given \a point. - \sa toPoint() + \sa toPoint(), QPoint::toPointF() */ /*! @@ -594,7 +554,7 @@ size_t qHash(QPoint key, size_t seed) noexcept /*! \fn void QPointF::setX(qreal x) - Sets the x coordinate of this point to the given \a x coordinate. + Sets the x coordinate of this point to the given finite \a x coordinate. \sa x(), setY() */ @@ -602,7 +562,7 @@ size_t qHash(QPoint key, size_t seed) noexcept /*! \fn void QPointF::setY(qreal y) - Sets the y coordinate of this point to the given \a y coordinate. + Sets the y coordinate of this point to the given finite \a y coordinate. \sa y(), setX() */ @@ -668,7 +628,7 @@ size_t qHash(QPoint key, size_t seed) noexcept /*! \fn QPointF& QPointF::operator*=(qreal factor) - Multiplies this point's coordinates by the given \a factor, and + Multiplies this point's coordinates by the given finite \a factor, and returns a reference to this point. For example: \snippet code/src_corelib_tools_qpoint.cpp 14 @@ -684,12 +644,13 @@ size_t qHash(QPoint key, size_t seed) noexcept \snippet code/src_corelib_tools_qpoint.cpp 15 + The \a divisor must not be zero or NaN. + \sa operator*=() */ /*! - \fn const QPointF operator+(const QPointF &p1, const QPointF &p2) - \relates QPointF + \fn QPointF QPointF::operator+(const QPointF &p1, const QPointF &p2) Returns a QPointF object that is the sum of the given points, \a p1 and \a p2; each component is added separately. @@ -698,8 +659,7 @@ size_t qHash(QPoint key, size_t seed) noexcept */ /*! - \fn const QPointF operator-(const QPointF &p1, const QPointF &p2) - \relates QPointF + \fn QPointF QPointF::operator-(const QPointF &p1, const QPointF &p2) Returns a QPointF object that is formed by subtracting \a p2 from \a p1; each component is subtracted separately. @@ -708,49 +668,46 @@ size_t qHash(QPoint key, size_t seed) noexcept */ /*! - \fn const QPointF operator*(const QPointF &point, qreal factor) - \relates QPointF + \fn QPointF QPointF::operator*(const QPointF &point, qreal factor) - Returns a copy of the given \a point, multiplied by the given \a factor. + Returns a copy of the given \a point, multiplied by the given finite \a factor. \sa QPointF::operator*=() */ /*! - \fn const QPointF operator*(qreal factor, const QPointF &point) - \relates QPointF + \fn QPointF QPointF::operator*(qreal factor, const QPointF &point) \overload - Returns a copy of the given \a point, multiplied by the given \a factor. + Returns a copy of the given \a point, multiplied by the given finite \a factor. */ /*! - \fn const QPointF operator+(const QPointF &point) - \relates QPointF + \fn QPointF QPointF::operator+(const QPointF &point) \since 5.0 Returns \a point unmodified. */ /*! - \fn const QPointF operator-(const QPointF &point) - \relates QPointF + \fn QPointF QPointF::operator-(const QPointF &point) \overload Returns a QPointF object that is formed by changing the sign of - both components of the given \a point. + each component of the given \a point. Equivalent to \c {QPointF(0,0) - point}. */ /*! - \fn const QPointF operator/(const QPointF &point, qreal divisor) - \relates QPointF + \fn QPointF QPointF::operator/(const QPointF &point, qreal divisor) - Returns the QPointF object formed by dividing both components of + Returns the QPointF object formed by dividing each component of the given \a point by the given \a divisor. + The \a divisor must not be zero or NaN. + \sa QPointF::operator/=() */ @@ -760,7 +717,7 @@ size_t qHash(QPoint key, size_t seed) noexcept Rounds the coordinates of this point to the nearest integer, and returns a QPoint object with the rounded coordinates. - \sa QPointF() + \sa QPointF(), QPoint::toPointF() */ /*! @@ -773,17 +730,27 @@ size_t qHash(QPoint key, size_t seed) noexcept */ /*! - \fn bool operator==(const QPointF &p1, const QPointF &p2) - \relates QPointF + \fn bool QPointF::operator==(const QPointF &p1, const QPointF &p2) + + Returns \c true if \a p1 is approximately equal to \a p2; otherwise + returns \c false. + + \warning This function does not check for strict equality; instead, + it uses a fuzzy comparison to compare the points' coordinates. - Returns \c true if \a p1 is equal to \a p2; otherwise returns \c false. + \sa qFuzzyCompare */ /*! - \fn bool operator!=(const QPointF &p1, const QPointF &p2); - \relates QPointF + \fn bool QPointF::operator!=(const QPointF &p1, const QPointF &p2); + + Returns \c true if \a p1 is sufficiently different from \a p2; + otherwise returns \c false. + + \warning This function does not check for strict inequality; instead, + it uses a fuzzy comparison to compare the points' coordinates. - Returns \c true if \a p1 is not equal to \a p2; otherwise returns \c false. + \sa qFuzzyCompare */ #ifndef QT_NO_DATASTREAM |