From 75009fb135da74f879dfced74c9a0c52cc6290dc Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Thu, 22 Sep 2011 14:30:40 +0200 Subject: Page flipping API for QPlatformScreen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding a page flipping API for platform plugins. This enables Wayland compositors to show full-screen client windows directly without copying any data - if supported by the platform. Change-Id: I19abe366434140f9e20a0655fe7cd41ea9264fca Reviewed-on: http://codereview.qt-project.org/5385 Reviewed-by: Qt Sanity Bot Reviewed-by: Jørgen Lind --- src/gui/kernel/qplatformscreen_qpa.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/gui/kernel/qplatformscreen_qpa.h') diff --git a/src/gui/kernel/qplatformscreen_qpa.h b/src/gui/kernel/qplatformscreen_qpa.h index 3851b1821a..9919ca5ca8 100644 --- a/src/gui/kernel/qplatformscreen_qpa.h +++ b/src/gui/kernel/qplatformscreen_qpa.h @@ -67,6 +67,17 @@ class QPlatformWindow; class QScreen; class QSurfaceFormat; +class QPlatformScreenPageFlipper : public QObject +{ + Q_OBJECT +public: + virtual bool displayBuffer(void *bufferHandle) = 0; + + signals: + void bufferDisplayed(void *bufferHandle); + void bufferReleased(void *bufferHandle); +}; + class Q_GUI_EXPORT QPlatformScreen { Q_DECLARE_PRIVATE(QPlatformScreen) @@ -95,6 +106,8 @@ public: virtual QString name() const { return QString(); } + virtual QPlatformScreenPageFlipper *pageFlipper() const; + protected: QScopedPointer d_ptr; -- cgit v1.2.3