summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qplatformscreen_qpa.h
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2011-09-22 14:30:40 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-23 10:37:49 +0200
commit75009fb135da74f879dfced74c9a0c52cc6290dc (patch)
tree7674857890efc4d897460a3b90f94a78dc2264e2 /src/gui/kernel/qplatformscreen_qpa.h
parent2af41a655a1ceca13dd495e16ff5c1ab104dd7f9 (diff)
Page flipping API for QPlatformScreen
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 <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/kernel/qplatformscreen_qpa.h')
-rw-r--r--src/gui/kernel/qplatformscreen_qpa.h13
1 files changed, 13 insertions, 0 deletions
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<QPlatformScreenPrivate> d_ptr;