3#ifndef QPLATFORMCURSOR_H
4#define QPLATFORMCURSOR_H
15#include <QtGui/qtguiglobal.h>
16#include <QtCore/QList>
17#include <QtGui/QImage>
18#include <QtGui/QMouseEvent>
19#include <QtCore/QObject>
20#include <qpa/qplatformscreen.h>
21#include <QtGui/QCursor>
29 QPlatformCursorImage(
const uchar *data,
const uchar *mask,
int width,
int height,
int hotX,
int hotY)
30 { set(data, mask, width, height, hotX, hotY); }
31 QImage * image() {
return &cursorImage; }
32 QPoint hotspot()
const {
return hot; }
33 void set(
const uchar *data,
const uchar *mask,
int width,
int height,
int hotX,
int hotY);
34 void set(
const QImage &image,
int hx,
int hy);
35 void set(Qt::CursorShape);
37 static void createSystemCursor(
int id);
44 Q_DISABLE_COPY_MOVE(QPlatformCursor)
49 Q_DECLARE_FLAGS(Capabilities, Capability)
54 virtual void pointerEvent(
const QMouseEvent & event) { Q_UNUSED(event); }
56 virtual void changeCursor(QCursor * windowCursor, QWindow * window) = 0;
57 virtual void setOverrideCursor(
const QCursor &);
58 virtual void clearOverrideCursor();
60 virtual QPoint pos()
const;
61 virtual void setPos(
const QPoint &pos);
62 virtual QSize size()
const;
64 static Capabilities capabilities() {
return m_capabilities; }
65 static void setCapabilities(Capabilities c) { m_capabilities = c; }
66 static void setCapability(Capability c) { m_capabilities.setFlag(c); }
69 friend void qt_qpa_set_cursor(QWidget * w,
bool force);
70 friend class QApplicationPrivate;
72 static Capabilities m_capabilities;
75Q_DECLARE_OPERATORS_FOR_FLAGS(QPlatformCursor::Capabilities)