123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | // Copyright (C) 2016 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#ifndef QCURSOR_H#define QCURSOR_H#include <QtGui/qtguiglobal.h>#include <QtCore/qpoint.h>#include <QtGui/qwindowdefs.h>#include <QtGui/qbitmap.h> QT_BEGIN_NAMESPACE class QVariant;class QScreen;/* ### The fake cursor has to go first with old qdoc.*/#ifdef QT_NO_CURSORclass Q_GUI_EXPORT QCursor {public:static QPoint pos();static QPoint pos(const QScreen *screen);static voidsetPos(int x,int y);static voidsetPos(QScreen *screen,int x,int y);inlinestatic voidsetPos(const QPoint &p) {setPos(p.x(), p.y()); }private:QCursor();};#endif// QT_NO_CURSOR#ifndef QT_NO_CURSORclass QCursorData;class QBitmap;class QPixmap;class Q_GUI_EXPORT QCursor {public:QCursor();QCursor(Qt::CursorShape shape);QCursor(const QBitmap &bitmap,const QBitmap &mask,int hotX=-1,int hotY=-1);explicitQCursor(const QPixmap &pixmap,int hotX=-1,int hotY=-1);QCursor(const QCursor &cursor);~QCursor(); QCursor &operator=(const QCursor &cursor);QCursor(QCursor &&other) noexcept :d(std::exchange(other.d,nullptr)) {}QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QCursor)voidswap(QCursor &other) noexcept {qt_ptr_swap(d, other.d); }operatorQVariant()const;Qt::CursorShape shape()const;voidsetShape(Qt::CursorShape newShape);#if QT_DEPRECATED_SINCE(6, 0)QT_DEPRECATED_VERSION_X_6_0("Use the overload without argument instead.") QBitmap bitmap(Qt::ReturnByValueConstant)const{returnbitmap(); }QT_DEPRECATED_VERSION_X_6_0("Use the overload without argument instead.") QBitmap mask(Qt::ReturnByValueConstant)const{returnmask(); }#endif// QT_DEPRECATED_SINCE(6, 0) QBitmap bitmap()const; QBitmap mask()const; QPixmap pixmap()const; QPoint hotSpot()const;static QPoint pos();static QPoint pos(const QScreen *screen);static voidsetPos(int x,int y);static voidsetPos(QScreen *screen,int x,int y);inlinestatic voidsetPos(const QPoint &p) {setPos(p.x(), p.y()); }inlinestatic voidsetPos(QScreen *screen,const QPoint &p) {setPos(screen, p.x(), p.y()); }private:friend Q_GUI_EXPORT booloperator==(const QCursor &lhs,const QCursor &rhs) noexcept;friend inlinebooloperator!=(const QCursor &lhs,const QCursor &rhs) noexcept {return!(lhs == rhs); } QCursorData *d;};Q_DECLARE_SHARED(QCursor)/***************************************************************************** QCursor stream functions *****************************************************************************/#ifndef QT_NO_DATASTREAM Q_GUI_EXPORT QDataStream &operator<<(QDataStream &outS,const QCursor &cursor); Q_GUI_EXPORT QDataStream &operator>>(QDataStream &inS, QCursor &cursor);#endif#ifndef QT_NO_DEBUG_STREAM Q_GUI_EXPORT QDebug operator<<(QDebug,const QCursor &);#endif#endif// QT_NO_CURSOR QT_END_NAMESPACE #endif// QCURSOR_H
|