summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylandwindow.h
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2011-03-31 15:58:46 +0200
committerJørgen Lind <jorgen.lind@nokia.com>2011-04-06 11:13:19 +0200
commitf8a7190d635b8fb2bef7794467b2160ef4d2db41 (patch)
tree4a5b5ceed8ae635066b488e71ab882570374e8f0 /src/plugins/platforms/wayland/qwaylandwindow.h
parent2c57c935d75b2f35df3248b72b6a2903dd58867f (diff)
Lighthouse: Make wayland event handling happen in a separate thread
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandwindow.h')
-rw-r--r--src/plugins/platforms/wayland/qwaylandwindow.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandwindow.h b/src/plugins/platforms/wayland/qwaylandwindow.h
index afc214ee7..ad4bba453 100644
--- a/src/plugins/platforms/wayland/qwaylandwindow.h
+++ b/src/plugins/platforms/wayland/qwaylandwindow.h
@@ -43,6 +43,8 @@
#define QWAYLANDWINDOW_H
#include <QtGui/QPlatformWindow>
+#include <QtCore/QWaitCondition>
+#include <QtCore/QMutex>
#include "qwaylanddisplay.h"
@@ -69,11 +71,21 @@ public:
void configure(uint32_t time, uint32_t edges,
int32_t x, int32_t y, int32_t width, int32_t height);
+ void attach(QWaylandBuffer *buffer);
+ void damage(const QRegion &region);
+
+ void waitForFrameSync();
protected:
struct wl_surface *mSurface;
- virtual void newSurfaceCreated() = 0;
+ virtual void newSurfaceCreated();
QWaylandDisplay *mDisplay;
+ QWaylandBuffer *mBuffer;
WId mWindowId;
+ bool mWaitingForFrameSync;
+ QWaitCondition mFrameSyncWait;
+
+private:
+ static void frameCallback(void *data, uint32_t time);
};