diff options
author | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-08-22 12:41:42 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-08-25 11:50:32 +0200 |
commit | b743fc7a1e6ee680ca89ae17fb6b521178fd09a9 (patch) | |
tree | 7f382058a662094671a65bf56b124d2807e707f6 /src/client/qwaylandshmbackingstore_p.h | |
parent | b98218587757699a2b17cee724b81ca8ea6b402d (diff) | |
download | qtwayland-b743fc7a1e6ee680ca89ae17fb6b521178fd09a9.tar.gz |
Support RasterGLSurface windows
In an attempt to make QOpenGLWidget and QQuickWidget working on Wayland.
Since Qt 5.3 all widget windows are of type RasterGLSurface (given that
the plugin reports this capability which wayland will, with this patch).
Such a window can behave either like a raster or an OpenGL window.
This concept maps badly to platform plugins that have a rigid separation
between raster and OpenGL platform window implementations. From now on,
the OpenGL window implementation, that is used pretty much always,
except for raw RasterSurface windows, must be prepared to behave like
a raster window too, which involves having a backingstore.
Change-Id: I0226704b8d5893843fcae68059c5fe9ad2f5e761
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/client/qwaylandshmbackingstore_p.h')
-rw-r--r-- | src/client/qwaylandshmbackingstore_p.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/qwaylandshmbackingstore_p.h b/src/client/qwaylandshmbackingstore_p.h index 6097b528..33f363f6 100644 --- a/src/client/qwaylandshmbackingstore_p.h +++ b/src/client/qwaylandshmbackingstore_p.h @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE class QWaylandDisplay; class QWaylandDecoration; -class QWaylandShmWindow; +class QWaylandWindow; class Q_WAYLAND_CLIENT_EXPORT QWaylandShmBuffer : public QWaylandBuffer { public: @@ -87,11 +87,14 @@ public: QMargins windowDecorationMargins() const; QImage *entireSurface() const; + QImage *contentSurface() const; void ensureSize(); - QWaylandShmWindow *waylandWindow() const; + QWaylandWindow *waylandWindow() const; void iterateBuffer(); + QImage toImage() const Q_DECL_OVERRIDE; + private: void updateDecorations(); |