summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-17 20:01:21 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-07-20 17:47:29 +0200
commit3a475d48ee03d1953292a8fe4ef8ab7e3b1e6c37 (patch)
tree2d8e5b5491067b3166e87c80abc7cbda151f29cf /src/gui
parent6e5694b63b0275fe180da7b892b03a865d218d99 (diff)
Add QXcbScreen platform interface
Task-number: QTBUG-84220 Change-Id: I6c166409fbaf50627dea65a6256764e08ab36a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qplatformscreen_p.h16
-rw-r--r--src/gui/platform/unix/qunixplatforminterface.cpp5
2 files changed, 21 insertions, 0 deletions
diff --git a/src/gui/kernel/qplatformscreen_p.h b/src/gui/kernel/qplatformscreen_p.h
index d5dc7b471a..2ae91196ed 100644
--- a/src/gui/kernel/qplatformscreen_p.h
+++ b/src/gui/kernel/qplatformscreen_p.h
@@ -53,6 +53,8 @@
#include <QtGui/private/qtguiglobal_p.h>
+#include <QtCore/qpointer.h>
+
QT_BEGIN_NAMESPACE
class QScreen;
@@ -63,6 +65,20 @@ public:
QPointer<QScreen> screen;
};
+// ----------------- QPlatformInterface -----------------
+
+namespace QPlatformInterface::Private {
+
+#if QT_CONFIG(xcb)
+struct Q_GUI_EXPORT QXcbScreen
+{
+ QT_DECLARE_PLATFORM_INTERFACE(QXcbScreen)
+ virtual int virtualDesktopNumber() const = 0;
+};
+#endif
+
+} // QPlatformInterface::Private
+
QT_END_NAMESPACE
#endif // QPLATFORMSCREEN_P_H
diff --git a/src/gui/platform/unix/qunixplatforminterface.cpp b/src/gui/platform/unix/qunixplatforminterface.cpp
index 2584a9b91b..23862f881e 100644
--- a/src/gui/platform/unix/qunixplatforminterface.cpp
+++ b/src/gui/platform/unix/qunixplatforminterface.cpp
@@ -44,6 +44,7 @@
#include <qpa/qplatformopenglcontext.h>
#include <qpa/qplatformintegration.h>
+#include <qpa/qplatformscreen_p.h>
QT_BEGIN_NAMESPACE
@@ -79,6 +80,10 @@ QOpenGLContext *QPlatformInterface::QEGLContext::fromNative(EGLContext context,
}
#endif
+#if QT_CONFIG(xcb)
+QT_DEFINE_PRIVATE_PLATFORM_INTERFACE(QXcbScreen);
+#endif
+
#endif // QT_NO_OPENGL
QT_END_NAMESPACE