1 #ifndef QWINDOWCOMPOSITOR_H
2 #define QWINDOWCOMPOSITOR_H
4 #include "waylandcompositor.h"
5 #include "waylandsurface.h"
6 #include "surfacerenderer.h"
7 #include "qopenglwindow.h"
11 class QWindowCompositor : public QObject, public WaylandCompositor
15 QWindowCompositor(QOpenGLWindow *window);
17 void surfaceDestroyed(QObject *object);
18 void surfaceMapped(const QSize &size);
19 void surfaceDamaged(const QRect &rect);
22 void surfaceDamaged(WaylandSurface *surface, const QRect &rect);
23 void surfaceCreated(WaylandSurface *surface);
25 WaylandSurface* surfaceAt(const QPoint &point, QPoint *local = 0);
30 QOpenGLWindow *m_window;
31 QImage m_backgroundImage;
32 GLuint m_backgroundTexture;
33 QList<WaylandSurface *> m_surfaces;
34 SurfaceRenderer *m_renderer;
37 #endif // QWINDOWCOMPOSITOR_H