summaryrefslogtreecommitdiff
path: root/src/hardwareintegration
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@digia.com>2014-08-23 15:12:24 +0200
committerLaszlo Agocs <laszlo.agocs@digia.com>2014-08-25 14:06:38 +0200
commit3a65f72f1df0a8b9ebbf568a714925be57c5da73 (patch)
tree0b1c3d196ae12fceead531a8ab51074011b45e39 /src/hardwareintegration
parentb743fc7a1e6ee680ca89ae17fb6b521178fd09a9 (diff)
downloadqtwayland-3a65f72f1df0a8b9ebbf568a714925be57c5da73.tar.gz
Indicate from the client buffer integration if decorations are supported
Custom client buffer integrations may not care about window decorations. Setting QT_WAYLAND_DISABLE_WINDOWDECORATION is tedious and error-prone. And it cannot be omitted since things like input events will be off if the common client code thinks decorations are in use but the client buffer integration does not render them at all. Therefore add a supportsWindowDecoration() virtual in addition to the environment variable. Change-Id: If8f621182d5c230f4d8d679c050f5d27aed6c2fb Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
Diffstat (limited to 'src/hardwareintegration')
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp5
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
index b0edc175..89ccd939 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
@@ -114,6 +114,11 @@ bool QWaylandEglClientBufferIntegration::supportsThreadedOpenGL() const
return m_supportsThreading;
}
+bool QWaylandEglClientBufferIntegration::supportsWindowDecoration() const
+{
+ return true;
+}
+
QWaylandWindow *QWaylandEglClientBufferIntegration::createEglWindow(QWindow *window)
{
return new QWaylandEglWindow(window);
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h
index 7f2e28b8..9d3d1509 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h
@@ -60,6 +60,7 @@ public:
void initialize(QWaylandDisplay *display) Q_DECL_OVERRIDE;
bool isValid() const Q_DECL_OVERRIDE;
bool supportsThreadedOpenGL() const Q_DECL_OVERRIDE;
+ bool supportsWindowDecoration() const Q_DECL_OVERRIDE;
QWaylandWindow *createEglWindow(QWindow *window) Q_DECL_OVERRIDE;
QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const Q_DECL_OVERRIDE;