Merge remote branch 'gerrit/master' into refactor
[profile/ivi/qtbase.git] / src / plugins / platforms / wayland / gl_integration / xcomposite_egl / qwaylandxcompositeeglwindow.h
index ea4dd2d..b2f8fbe 100644 (file)
 #define QWAYLANDXCOMPOSITEEGLWINDOW_H
 
 #include "qwaylandwindow.h"
+#include "qwaylandbuffer.h"
+
 #include "qwaylandxcompositeeglintegration.h"
 #include "qwaylandxcompositeeglcontext.h"
 
 class QWaylandXCompositeEGLWindow : public QWaylandWindow
 {
 public:
-    QWaylandXCompositeEGLWindow(QWidget *window, QWaylandXCompositeEGLIntegration *glxIntegration);
+    QWaylandXCompositeEGLWindow(QWindow *window, QWaylandXCompositeEGLIntegration *glxIntegration);
     WindowType windowType() const;
 
-    QPlatformGLContext *glContext() const;
-
     void setGeometry(const QRect &rect);
     void requestActivateWindow();
 
+    EGLSurface eglSurface() const;
+
 private:
-    QWaylandXCompositeEGLIntegration *mGlxIntegration;
-    QWaylandXCompositeEGLContext *mContext;
+    void createEglSurface();
+
+    QWaylandXCompositeEGLIntegration *m_glxIntegration;
+    QWaylandXCompositeEGLContext *m_context;
+    QWaylandBuffer *m_buffer;
+
+    Window m_xWindow;
+    EGLConfig m_config;
+    EGLSurface m_surface;
+
+    bool m_waitingForSync;
 
+    static void sync_function(void *data);
 };
 
 #endif // QWAYLANDXCOMPOSITEEGLWINDOW_H