diff options
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandwindow.h')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylandwindow.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandwindow.h b/src/plugins/platforms/wayland/qwaylandwindow.h index 3b51ee7..1e60508 100644 --- a/src/plugins/platforms/wayland/qwaylandwindow.h +++ b/src/plugins/platforms/wayland/qwaylandwindow.h @@ -43,8 +43,8 @@ #define QWAYLANDWINDOW_H #include <QtGui/QPlatformWindow> +#include <QtCore/QWaitCondition> -#include <stdint.h> #include "qwaylanddisplay.h" class QWaylandDisplay; @@ -70,11 +70,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(struct wl_surface *surface, void *data, uint32_t time); }; |