// 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_P_H #define QCURSOR_P_H // // W A R N I N G // ------------- // // This file is not part of the Qt API. It exists for the convenience // of a number of Qt sources files. This header file may change from // version to version without notice, or even be removed. // // We mean it. // #include #include "QtCore/qatomic.h" #include "QtCore/qnamespace.h" #include "QtGui/qpixmap.h" QT_BEGIN_NAMESPACE class QBitmap; class QCursorData { public: QCursorData(Qt::CursorShape s = Qt::ArrowCursor); ~QCursorData(); static void initialize(); static void cleanup(); QAtomicInt ref; Qt::CursorShape cshape; QBitmap *bm, *bmm; QPixmap pixmap; short hx, hy; static bool initialized; void update(); static QCursorData *setBitmap(const QBitmap &bitmap, const QBitmap &mask, int hotX, int hotY, qreal devicePixelRatio); }; extern QCursorData *qt_cursorTable[Qt::LastCursor + 1]; // qcursor.cpp QT_END_NAMESPACE #endif // QCURSOR_P_H