5#ifndef QWINDOWSTABLETSUPPORT_H
6#define QWINDOWSTABLETSUPPORT_H
9#include <QtGui/qtguiglobal.h>
10#include <QtGui/qpointingdevice.h>
12#include <QtCore/qhash.h>
13#include <QtCore/qlist.h>
14#include <QtCore/qpoint.h>
15#include <QtCore/qsharedpointer.h>
82 const QString &name, qint64 systemId,
83 QInputDevice::DeviceType devType,
84 PointerType pType, Capabilities caps,
int maxPoints,
85 int buttonCount,
const QString &seatName = QString(),
86 QPointingDeviceUniqueId uniqueId = QPointingDeviceUniqueId(),
87 QObject *parent =
nullptr);
92 DeviceDataPtr m_deviceData;
95#ifndef QT_NO_DEBUG_STREAM
136 unsigned options()
const;
140 void enterProximity(ulong time = 0, QWindow *window =
nullptr);
141 void leaveProximity(ulong time = 0, QWindow *window =
nullptr);
142 void enterLeaveProximity(
bool enter, ulong time, QWindow *window =
nullptr);
143 DevicePtr findDevice(qint64 systemId)
const;
144 DevicePtr findDevice(qint64 systemId,
145 QInputDevice::DeviceType deviceType,
146 QPointingDevice::PointerType pointerType)
const;
147 DevicePtr clonePhysicalDevice(qint64 systemId,
148 QInputDevice::DeviceType deviceType,
149 QPointingDevice::PointerType pointerType);
153 const HCTX m_context;
154 static int m_absoluteRange;
155 bool m_tiltSupport =
false;
157 DevicePtr m_currentDevice;
160 ulong m_eventTime = 0;
\inmodule QtCore\reentrant
QWinTabPointingDevice(const DeviceDataPtr &data, const QString &name, qint64 systemId, QInputDevice::DeviceType devType, PointerType pType, Capabilities caps, int maxPoints, int buttonCount, const QString &seatName=QString(), QPointingDeviceUniqueId uniqueId=QPointingDeviceUniqueId(), QObject *parent=nullptr)
const DeviceDataPtr & deviceData() const
Singleton container for all relevant information.
QPlatformKeyMapper * keyMapper() const
static QWindowsContext * instance()
static QWindow * windowAt(const QPoint &point, unsigned flags)
Tablet support for Windows.
QString description() const
bool translateTabletPacketEvent()
static void setAbsoluteRange(int a)
static int absoluteRange()
bool translateTabletProximityEvent(WPARAM wParam, LPARAM lParam)
static QWindowsTabletSupport * create()
Combined button and popup list for selecting options.
QT_REQUIRE_CONFIG(liburing)
Qt::MouseButtons convertTabletButtons(DWORD btnNew, const QWindowsTabletDeviceData &tdd)
static QPointingDevice::PointerType pointerType(unsigned currentCursor)
QWinTabPointingDevice * createInputDevice(const QSharedPointer< QWindowsTabletDeviceData > &d, QInputDevice::DeviceType devType, QPointingDevice::PointerType pointerType)
Qt::MouseButton buttonValueToEnum(DWORD button, const QWindowsTabletDeviceData &tdd)
static QInputDevice::DeviceType deviceType(const UINT cursorType)
static void formatOptions(Stream &str, unsigned options)
QPointF scaleCoordinates(int coordX, int coordY, const QRect &targetArea) const
qreal scalePressure(qreal p) const
qreal scaleTangentialPressure(qreal p) const
QHash< quint8, quint8 > buttonsMap
Functions from wintabl32.dll shipped with WACOM tablets used by QWindowsTabletSupport.
PtrWTQueueSizeSet wTQueueSizeSet
UINT(API * PtrWTInfo)(UINT, UINT, LPVOID)
BOOL(API * PtrWTClose)(HCTX)
PtrWTPacketsGet wTPacketsGet
int(API * PtrWTPacketsGet)(HCTX, int, LPVOID)
PtrWTQueueSizeGet wTQueueSizeGet
HCTX(API * PtrWTOpen)(HWND, LPLOGCONTEXT, BOOL)