4#ifndef QWINDOWSTABLETSUPPORT_H
5#define QWINDOWSTABLETSUPPORT_H
8#include <QtGui/qtguiglobal.h>
9#include <QtGui/qpointingdevice.h>
11#include <QtCore/qhash.h>
12#include <QtCore/qlist.h>
13#include <QtCore/qpoint.h>
14#include <QtCore/qsharedpointer.h>
81 const QString &name, qint64 systemId,
82 QInputDevice::DeviceType devType,
83 PointerType pType, Capabilities caps,
int maxPoints,
84 int buttonCount,
const QString &seatName = QString(),
85 QPointingDeviceUniqueId uniqueId = QPointingDeviceUniqueId(),
86 QObject *parent =
nullptr);
91 DeviceDataPtr m_deviceData;
94#ifndef QT_NO_DEBUG_STREAM
135 unsigned options()
const;
139 void enterProximity(ulong time = 0, QWindow *window =
nullptr);
140 void leaveProximity(ulong time = 0, QWindow *window =
nullptr);
141 void enterLeaveProximity(
bool enter, ulong time, QWindow *window =
nullptr);
142 DevicePtr findDevice(qint64 systemId)
const;
143 DevicePtr findDevice(qint64 systemId,
144 QInputDevice::DeviceType deviceType,
145 QPointingDevice::PointerType pointerType)
const;
146 DevicePtr clonePhysicalDevice(qint64 systemId,
147 QInputDevice::DeviceType deviceType,
148 QPointingDevice::PointerType pointerType);
152 const HCTX m_context;
153 static int m_absoluteRange;
154 bool m_tiltSupport =
false;
156 DevicePtr m_currentDevice;
159 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()
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()
QT_REQUIRE_CONFIG(thread)
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)