summaryrefslogtreecommitdiffstats
path: root/src/gui/platform/unix/qunixnativeinterface.cpp
diff options
context:
space:
mode:
authorDavid Redondo <[email protected]>2022-10-18 11:57:22 +0200
committerDavid Redondo <[email protected]>2022-11-29 13:45:35 +0200
commitd21b48435436759c4e86cd8db15af8bedba6c552 (patch)
tree1dac98576f6037d0adf9f70510dbf4d3c766f5d8 /src/gui/platform/unix/qunixnativeinterface.cpp
parent6847a19e3edc76cce6ca0f0c25e520db591cedb9 (diff)
Add QNativeInterface::Private::QWaylandWindow
Allows to access the wl_surface, the setCustomMargins functions and the object corresponding to the surface role of the surface. Also adds the xdg activation token functionality as it is needed by another change in qtbase. If the type passed to surfaceRole does not match the actual type of the current surface role nullptr is returned. QVariant is not used for transferring the surface role object because it requires Q_DECLARE_OPAQUE_POINTER for storing and retrieving from the QVariant. However QtWayland uses a plugin system for shell integrations with known external plugins so it is not possible to centrally do this for every possible pointer type. The alternative would be that plugin and consumer delcare it both which does not make for an ergonomic API. Change-Id: I6f4e036846485ba1895e7435bb28827b83249024 Reviewed-by: Tor Arne Vestbø <[email protected]>
Diffstat (limited to 'src/gui/platform/unix/qunixnativeinterface.cpp')
-rw-r--r--src/gui/platform/unix/qunixnativeinterface.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gui/platform/unix/qunixnativeinterface.cpp b/src/gui/platform/unix/qunixnativeinterface.cpp
index 1b9c6eb4f04..1cca97b34c8 100644
--- a/src/gui/platform/unix/qunixnativeinterface.cpp
+++ b/src/gui/platform/unix/qunixnativeinterface.cpp
@@ -269,6 +269,17 @@ QT_DEFINE_NATIVE_INTERFACE(QWaylandApplication);
QT_DEFINE_PRIVATE_NATIVE_INTERFACE(QWaylandScreen);
+/*!
+ \class QNativeInterface::QWaylandWindow
+ \since 6.5
+ \internal
+ \brief Native interface to a Wayland window.
+ \inmodule QtGui
+ \ingroup native-interfaces
+*/
+
+QT_DEFINE_PRIVATE_NATIVE_INTERFACE(QWaylandWindow);
+
#endif // Q_OS_UNIX
QT_END_NAMESPACE