Commit 257519ce authored by Martin Gräßlin's avatar Martin Gräßlin
Browse files

Add wl_shell_surface as nativeResourceForWindow


Allows to get the wl_shell_surface for a QWindow, if it exists.

Change-Id: I16b1c578a1c605e58c96e94ae55a3331ecfa353d
Reviewed-by: default avatarGiulio Camuffo <giulio.camuffo@jollamobile.com>
Showing with 10 additions and 0 deletions
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include "qwaylanddisplay_p.h" #include "qwaylanddisplay_p.h"
#include "qwaylandwindowmanagerintegration_p.h" #include "qwaylandwindowmanagerintegration_p.h"
#include "qwaylandscreen_p.h" #include "qwaylandscreen_p.h"
#include "qwaylandwlshellsurface_p.h"
#include <QtGui/private/qguiapplication_p.h> #include <QtGui/private/qguiapplication_p.h>
#include <QtGui/QScreen> #include <QtGui/QScreen>
#include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h> #include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h>
...@@ -80,6 +81,15 @@ void *QWaylandNativeInterface::nativeResourceForWindow(const QByteArray &resourc ...@@ -80,6 +81,15 @@ void *QWaylandNativeInterface::nativeResourceForWindow(const QByteArray &resourc
if (lowerCaseResource == "surface") { if (lowerCaseResource == "surface") {
return ((QWaylandWindow *) window->handle())->object(); return ((QWaylandWindow *) window->handle())->object();
} }
if (lowerCaseResource == "wl_shell_surface") {
QWaylandWindow *w = (QWaylandWindow *) window->handle();
if (!w)
return NULL;
QWaylandWlShellSurface *s = qobject_cast<QWaylandWlShellSurface *>(w->shellSurface());
if (!s)
return NULL;
return s->object();
}
if (lowerCaseResource == "egldisplay" && m_integration->clientBufferIntegration()) if (lowerCaseResource == "egldisplay" && m_integration->clientBufferIntegration())
return m_integration->clientBufferIntegration()->nativeResource(QWaylandClientBufferIntegration::EglDisplay); return m_integration->clientBufferIntegration()->nativeResource(QWaylandClientBufferIntegration::EglDisplay);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment