diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2011-03-31 15:58:46 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2011-04-06 11:13:19 +0200 |
commit | f8a7190d635b8fb2bef7794467b2160ef4d2db41 (patch) | |
tree | 4a5b5ceed8ae635066b488e71ab882570374e8f0 /src/plugins/platforms/wayland/qwaylandwindow.h | |
parent | 2c57c935d75b2f35df3248b72b6a2903dd58867f (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.h | 14 |
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 ®ion); + + 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); }; |