summaryrefslogtreecommitdiffstats
path: root/src/platformheaders/windowsfunctions
diff options
context:
space:
mode:
authorAndre de la Rocha <andre.rocha@qt.io>2020-03-31 07:41:45 +0200
committerAndre de la Rocha <andre.rocha@qt.io>2020-04-10 01:52:35 +0200
commit4c4693cf964e9d7370c27a26e1d263a262aee568 (patch)
tree1f4625268d623a8856a7151959fb619890e796b8 /src/platformheaders/windowsfunctions
parentae57e4fba5be0b7da5ca721fd672f08a14c9d19e (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.h8
-rw-r--r--src/platformheaders/windowsfunctions/qwindowswindowfunctions.qdoc27
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.
+*/