diff options
Diffstat (limited to 'src/platformheaders/xcbfunctions/qxcbwindowfunctions.h')
-rw-r--r-- | src/platformheaders/xcbfunctions/qxcbwindowfunctions.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/platformheaders/xcbfunctions/qxcbwindowfunctions.h b/src/platformheaders/xcbfunctions/qxcbwindowfunctions.h index f9008039a1..e07679ddcd 100644 --- a/src/platformheaders/xcbfunctions/qxcbwindowfunctions.h +++ b/src/platformheaders/xcbfunctions/qxcbwindowfunctions.h @@ -34,8 +34,7 @@ #ifndef QXCBWINDOWFUNCTIONS_H #define QXCBWINDOWFUNCTIONS_H -#include <QtCore/QByteArray> -#include <QtGui/QGuiApplication> +#include "qxcbfunctionshelper.h" QT_BEGIN_NAMESPACE @@ -65,12 +64,30 @@ public: typedef void (*SetWmWindowType)(QWindow *window, QXcbWindowFunctions::WmWindowTypes windowType); static const QByteArray setWmWindowTypeIdentifier() { return QByteArrayLiteral("XcbSetWmWindowType"); } - static void setWmWindowType(QWindow *window, WmWindowType type) { - SetWmWindowType func = reinterpret_cast<SetWmWindowType>(QGuiApplication::platformFunction(setWmWindowTypeIdentifier())); - if (func) - func(window, type); + return QXcbFunctionsHelper::callPlatformFunction<void, SetWmWindowType, QWindow *, WmWindowType>(setWmWindowTypeIdentifier(), window, type); + } + + typedef void (*SetParentRelativeBackPixmap)(const QWindow *window); + static const QByteArray setParentRelativeBackPixmapIdentifier() { return QByteArrayLiteral("XcbSetParentRelativeBackPixmap"); } + static void setParentRelativeBackPixmap(const QWindow *window) + { + return QXcbFunctionsHelper::callPlatformFunction<void, SetParentRelativeBackPixmap, const QWindow *>(setParentRelativeBackPixmapIdentifier(), window); + } + + typedef bool (*RequestSystemTrayWindowDock)(const QWindow *window); + static const QByteArray requestSystemTrayWindowDockIdentifier() { return QByteArrayLiteral("XcbRequestSystemTrayWindowDockIdentifier"); } + static bool requestSystemTrayWindowDock(const QWindow *window) + { + return QXcbFunctionsHelper::callPlatformFunction<bool, RequestSystemTrayWindowDock, const QWindow *>(requestSystemTrayWindowDockIdentifier(), window); + } + + typedef QRect (*SystemTrayWindowGlobalGeometry)(const QWindow *window); + static const QByteArray systemTrayWindowGlobalGeometryIdentifier() { return QByteArrayLiteral("XcbSystemTrayWindowGlobalGeometryIdentifier"); } + static QRect systemTrayWindowGlobalGeometry(const QWindow *window) + { + return QXcbFunctionsHelper::callPlatformFunction<QRect, SystemTrayWindowGlobalGeometry, const QWindow *>(systemTrayWindowGlobalGeometryIdentifier(), window); } }; |