summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xlib/qxlibnativeinterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xlib/qxlibnativeinterface.cpp')
-rw-r--r--src/plugins/platforms/xlib/qxlibnativeinterface.cpp48
1 files changed, 22 insertions, 26 deletions
diff --git a/src/plugins/platforms/xlib/qxlibnativeinterface.cpp b/src/plugins/platforms/xlib/qxlibnativeinterface.cpp
index 76396aaeb6..2c706e64e4 100644
--- a/src/plugins/platforms/xlib/qxlibnativeinterface.cpp
+++ b/src/plugins/platforms/xlib/qxlibnativeinterface.cpp
@@ -39,10 +39,11 @@
**
****************************************************************************/
+#include <private/qguiapplication_p.h>
#include "qxlibnativeinterface.h"
#include "qxlibdisplay.h"
-#include <QtGui/private/qapplication_p.h>
+#include "qscreen.h"
class QXlibResourceMap : public QMap<QByteArray, QXlibNativeInterface::ResourceType>
{
@@ -62,29 +63,29 @@ public:
Q_GLOBAL_STATIC(QXlibResourceMap, qXlibResourceMap)
-void * QXlibNativeInterface::nativeResourceForWidget(const QByteArray &resourceString, QWidget *widget)
+void * QXlibNativeInterface::nativeResourceForWindow(const QByteArray &resourceString, QWindow *window)
{
QByteArray lowerCaseResource = resourceString.toLower();
ResourceType resource = qXlibResourceMap()->value(lowerCaseResource);
void *result = 0;
switch(resource) {
case Display:
- result = displayForWidget(widget);
+ result = displayForWindow(window);
break;
case EglDisplay:
- result = eglDisplayForWidget(widget);
+ result = eglDisplayForWindow(window);
break;
case Connection:
- result = connectionForWidget(widget);
+ result = connectionForWindow(window);
break;
case Screen:
- result = reinterpret_cast<void *>(qPlatformScreenForWidget(widget)->xScreenNumber());
+ result = reinterpret_cast<void *>(qPlatformScreenForWindow(window)->xScreenNumber());
break;
case GraphicsDevice:
- result = graphicsDeviceForWidget(widget);
+ result = graphicsDeviceForWindow(window);
break;
case EglContext:
- result = eglContextForWidget(widget);
+ result = eglContextForWindow(window);
break;
default:
result = 0;
@@ -92,42 +93,37 @@ void * QXlibNativeInterface::nativeResourceForWidget(const QByteArray &resourceS
return result;
}
-void * QXlibNativeInterface::displayForWidget(QWidget *widget)
+void * QXlibNativeInterface::displayForWindow(QWindow *window)
{
- return qPlatformScreenForWidget(widget)->display()->nativeDisplay();
+ return qPlatformScreenForWindow(window)->display()->nativeDisplay();
}
-void * QXlibNativeInterface::eglDisplayForWidget(QWidget *widget)
+void * QXlibNativeInterface::eglDisplayForWindow(QWindow *window)
{
- Q_UNUSED(widget);
+ Q_UNUSED(window);
return 0;
}
-void * QXlibNativeInterface::screenForWidget(QWidget *widget)
+void * QXlibNativeInterface::screenForWindow(QWindow *window)
{
- Q_UNUSED(widget);
+ Q_UNUSED(window);
return 0;
}
-void * QXlibNativeInterface::graphicsDeviceForWidget(QWidget *widget)
+void * QXlibNativeInterface::graphicsDeviceForWindow(QWindow *window)
{
- Q_UNUSED(widget);
+ Q_UNUSED(window);
return 0;
}
-void * QXlibNativeInterface::eglContextForWidget(QWidget *widget)
+void * QXlibNativeInterface::eglContextForWindow(QWindow *window)
{
- Q_UNUSED(widget);
+ Q_UNUSED(window);
return 0;
}
-QXlibScreen * QXlibNativeInterface::qPlatformScreenForWidget(QWidget *widget)
+QXlibScreen * QXlibNativeInterface::qPlatformScreenForWindow(QWindow *window)
{
- QXlibScreen *screen;
- if (widget) {
- screen = static_cast<QXlibScreen *>(QPlatformScreen::platformScreenForWidget(widget));
- }else {
- screen = static_cast<QXlibScreen *>(QApplicationPrivate::platformIntegration()->screens()[0]);
- }
- return screen;
+ QScreen *screen = window ? window->screen() : QGuiApplication::primaryScreen();
+ return static_cast<QXlibScreen *>(screen->handle());
}