⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qpoint.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QPOINT_H#define QPOINT_H#include <QtCore/qnamespace.h>QT_BEGIN_HEADERQT_MODULE(Core)class Q_CORE_EXPORT QPoint{public:    QPoint();    QPoint(int xpos, int ypos);    bool isNull() const;    int x() const;    int y() const;    void setX(int x);    void setY(int y);    int manhattanLength() const;    int &rx();    int &ry();    QPoint &operator+=(const QPoint &p);    QPoint &operator-=(const QPoint &p);    QPoint &operator*=(qreal c);    QPoint &operator/=(qreal c);    friend inline bool operator==(const QPoint &, const QPoint &);    friend inline bool operator!=(const QPoint &, const QPoint &);    friend inline const QPoint operator+(const QPoint &, const QPoint &);    friend inline const QPoint operator-(const QPoint &, const QPoint &);    friend inline const QPoint operator*(const QPoint &, qreal);    friend inline const QPoint operator*(qreal, const QPoint &);    friend inline const QPoint operator-(const QPoint &);    friend inline const QPoint operator/(const QPoint &, qreal);private:    friend class QTransform;#if defined(Q_OS_MAC)    int yp;    int xp;#else    int xp;    int yp;#endif};Q_DECLARE_TYPEINFO(QPoint, Q_MOVABLE_TYPE);/*****************************************************************************  QPoint stream functions *****************************************************************************/#ifndef QT_NO_DATASTREAMQ_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QPoint &);Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QPoint &);#endif/*****************************************************************************  QPoint inline functions *****************************************************************************/inline QPoint::QPoint(){ xp=0; yp=0; }inline QPoint::QPoint(int xpos, int ypos){ xp = xpos; yp = ypos; }inline bool QPoint::isNull() const{ return xp == 0 && yp == 0; }inline int QPoint::x() const{ return xp; }inline int QPoint::y() const{ return yp; }inline void QPoint::setX(int xpos){ xp = xpos; }inline void QPoint::setY(int ypos){ yp = ypos; }inline int &QPoint::rx(){ return xp; }inline int &QPoint::ry(){ return yp; }inline QPoint &QPoint::operator+=(const QPoint &p){ xp+=p.xp; yp+=p.yp; return *this; }inline QPoint &QPoint::operator-=(const QPoint &p){ xp-=p.xp; yp-=p.yp; return *this; }inline QPoint &QPoint::operator*=(qreal c){ xp = qRound(xp*c); yp = qRound(yp*c); return *this; }inline bool operator==(const QPoint &p1, const QPoint &p2){ return p1.xp == p2.xp && p1.yp == p2.yp; }inline bool operator!=(const QPoint &p1, const QPoint &p2){ return p1.xp != p2.xp || p1.yp != p2.yp; }inline const QPoint operator+(const QPoint &p1, const QPoint &p2){ return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); }inline const QPoint operator-(const QPoint &p1, const QPoint &p2){ return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); }inline const QPoint operator*(const QPoint &p, qreal c){ return QPoint(qRound(p.xp*c), qRound(p.yp*c)); }inline const QPoint operator*(qreal c, const QPoint &p){ return QPoint(qRound(p.xp*c), qRound(p.yp*c)); }inline const QPoint operator-(const QPoint &p){ return QPoint(-p.xp, -p.yp); }inline QPoint &QPoint::operator/=(qreal c){    Q_ASSERT(!qFuzzyCompare(c, 0));    xp = qRound(xp/c);    yp = qRound(yp/c);    return *this;}inline const QPoint operator/(const QPoint &p, qreal c){    Q_ASSERT(!qFuzzyCompare(c, 0));    return QPoint(qRound(p.xp/c), qRound(p.yp/c));}#ifndef QT_NO_DEBUG_STREAMQ_CORE_EXPORT QDebug operator<<(QDebug, const QPoint &);#endifclass Q_CORE_EXPORT QPointF{public:    QPointF();    QPointF(const QPoint &p);    QPointF(qreal xpos, qreal ypos);    bool isNull() const;    qreal x() const;    qreal y() const;    void setX(qreal x);    void setY(qreal y);    qreal &rx();    qreal &ry();    QPointF &operator+=(const QPointF &p);    QPointF &operator-=(const QPointF &p);    QPointF &operator*=(qreal c);    QPointF &operator/=(qreal c);    friend inline bool operator==(const QPointF &, const QPointF &);    friend inline bool operator!=(const QPointF &, const QPointF &);    friend inline const QPointF operator+(const QPointF &, const QPointF &);    friend inline const QPointF operator-(const QPointF &, const QPointF &);    friend inline const QPointF operator*(qreal, const QPointF &);    friend inline const QPointF operator*(const QPointF &, qreal);    friend inline const QPointF operator-(const QPointF &);    friend inline const QPointF operator/(const QPointF &, qreal);    QPoint toPoint() const;private:    friend class QMatrix;    friend class QTransform;    qreal xp;    qreal yp;};Q_DECLARE_TYPEINFO(QPointF, Q_MOVABLE_TYPE);/*****************************************************************************  QPointF stream functions *****************************************************************************/#ifndef QT_NO_DATASTREAMQ_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QPointF &);Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QPointF &);#endif/*****************************************************************************  QPointF inline functions *****************************************************************************/inline QPointF::QPointF() : xp(0), yp(0) { }inline QPointF::QPointF(qreal xpos, qreal ypos) : xp(xpos), yp(ypos) { }inline QPointF::QPointF(const QPoint &p) : xp(p.x()), yp(p.y()) { }inline bool QPointF::isNull() const{    return qIsNull(xp) && qIsNull(yp);}inline qreal QPointF::x() const{    return xp;}inline qreal QPointF::y() const{    return yp;}inline void QPointF::setX(qreal xpos){    xp = xpos;}inline void QPointF::setY(qreal ypos){    yp = ypos;}inline qreal &QPointF::rx(){    return xp;}inline qreal &QPointF::ry(){    return yp;}inline QPointF &QPointF::operator+=(const QPointF &p){    xp+=p.xp;    yp+=p.yp;    return *this;}inline QPointF &QPointF::operator-=(const QPointF &p){    xp-=p.xp; yp-=p.yp; return *this;}inline QPointF &QPointF::operator*=(qreal c){    xp*=c; yp*=c; return *this;}inline bool operator==(const QPointF &p1, const QPointF &p2){    return qFuzzyCompare(p1.xp, p2.xp) && qFuzzyCompare(p1.yp, p2.yp);}inline bool operator!=(const QPointF &p1, const QPointF &p2){    return !qFuzzyCompare(p1.xp, p2.xp) || !qFuzzyCompare(p1.yp, p2.yp);}inline const QPointF operator+(const QPointF &p1, const QPointF &p2){    return QPointF(p1.xp+p2.xp, p1.yp+p2.yp);}inline const QPointF operator-(const QPointF &p1, const QPointF &p2){    return QPointF(p1.xp-p2.xp, p1.yp-p2.yp);}inline const QPointF operator*(const QPointF &p, qreal c){    return QPointF(p.xp*c, p.yp*c);}inline const QPointF operator*(qreal c, const QPointF &p){    return QPointF(p.xp*c, p.yp*c);}inline const QPointF operator-(const QPointF &p){    return QPointF(-p.xp, -p.yp);}inline QPointF &QPointF::operator/=(qreal c){    Q_ASSERT(!qFuzzyCompare(c, 0));    xp/=c;    yp/=c;    return *this;}inline const QPointF operator/(const QPointF &p, qreal c){    Q_ASSERT(!qFuzzyCompare(c, 0));    return QPointF(p.xp/c, p.yp/c);}inline QPoint QPointF::toPoint() const{    return QPoint(qRound(xp), qRound(yp));}#ifndef QT_NO_DEBUG_STREAMQ_CORE_EXPORT QDebug operator<<(QDebug d, const QPointF &p);#endifQT_END_HEADER#endif // QPOINT_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -