diff options
author | Andre de la Rocha <andre.rocha@qt.io> | 2020-03-31 07:41:45 +0200 |
---|---|---|
committer | Andre de la Rocha <andre.rocha@qt.io> | 2020-04-10 01:52:35 +0200 |
commit | 4c4693cf964e9d7370c27a26e1d263a262aee568 (patch) | |
tree | 1f4625268d623a8856a7151959fb619890e796b8 /src/platformheaders/windowsfunctions | |
parent | ae57e4fba5be0b7da5ca721fd672f08a14c9d19e (diff) |
Windows: Provide a way to switch between WinTab and Windows Ink at run-time
This change adds the setWinTabEnabled() function to Qt Platform Headers,
which allows an application to set at run-time whether the WinTab API will
be used for tablet input instead of the native Windows Ink API.
[ChangeLog][Windows] The setWinTabEnabled() function added to Qt Platform
Headers now allows an application to set at run-time whether the WinTab API
will be used for tablet input instead of the native Windows Ink API.
Fixes: QTBUG-83218
Change-Id: I51d3c7316baeda136763cf37c2f54295905450ec
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/platformheaders/windowsfunctions')
-rw-r--r-- | src/platformheaders/windowsfunctions/qwindowswindowfunctions.h | 8 | ||||
-rw-r--r-- | src/platformheaders/windowsfunctions/qwindowswindowfunctions.qdoc | 27 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/platformheaders/windowsfunctions/qwindowswindowfunctions.h b/src/platformheaders/windowsfunctions/qwindowswindowfunctions.h index 032dcafa6e..722f640a13 100644 --- a/src/platformheaders/windowsfunctions/qwindowswindowfunctions.h +++ b/src/platformheaders/windowsfunctions/qwindowswindowfunctions.h @@ -108,6 +108,14 @@ public: IsTabletModeType func = reinterpret_cast<IsTabletModeType>(QGuiApplication::platformFunction(isTabletModeIdentifier())); return func && func(); } + + typedef bool (*SetWinTabEnabled)(bool enabled); + static const QByteArray setWinTabEnabledIdentifier() { return QByteArrayLiteral("WindowsSetWinTabEnabled"); } + static bool setWinTabEnabled(bool enabled) + { + SetWinTabEnabled func = reinterpret_cast<SetWinTabEnabled>(QGuiApplication::platformFunction(setWinTabEnabledIdentifier())); + return func && func(enabled); + } }; Q_DECLARE_OPERATORS_FOR_FLAGS(QWindowsWindowFunctions::TouchWindowTouchTypes) diff --git a/src/platformheaders/windowsfunctions/qwindowswindowfunctions.qdoc b/src/platformheaders/windowsfunctions/qwindowswindowfunctions.qdoc index 31a8d40abe..e782c30ee6 100644 --- a/src/platformheaders/windowsfunctions/qwindowswindowfunctions.qdoc +++ b/src/platformheaders/windowsfunctions/qwindowswindowfunctions.qdoc @@ -210,3 +210,30 @@ \sa QWidget::showMaximized(), QWidget::saveGeometry(), QWidget::restoreGeometry() \since 5.9 */ + +/*! + \typedef QWindowsWindowFunctions::SetWinTabEnabled + \since 6.0 + + This is the typedef for the function returned by QGuiApplication::platformFunction + when passed setWinTabEnabledIdentifier(). +*/ + +/*! + \fn QByteArray QWindowsWindowFunctions::setWinTabEnabledIdentifier() + \since 6.0 + + This function returns the bytearray that can be used to query + QGuiApplication::platformFunction to retrieve the SetWinTabEnabled function. +*/ + +/*! + \fn bool QWindowsWindowFunctions::setWinTabEnabled(bool enabled) + \since 6.0 + + This is a convenience function that can be used directly instead of resolving + the function pointer. + + \a enabled determines whether the WinTab API will be used for tablet input instead + of the native API. Returns true if the operation was successful. +*/ |