summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandcompositor.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-07-29 13:48:26 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:09:36 +0200
commit964eb66e37dbbb9ff6736c3b40e8fcc76d1b8d61 (patch)
tree77c728990a42970fe6151cc8a593a8a1a5dc06ed /src/compositor/compositor_api/qwaylandcompositor.cpp
parent7c5d8fc7fd9ea7391e97bde950f5a866ae1f78b6 (diff)
Move surface management to outputs
Diffstat (limited to 'src/compositor/compositor_api/qwaylandcompositor.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.cpp47
1 files changed, 23 insertions, 24 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp
index 24df8ea77..95680b59b 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.cpp
+++ b/src/compositor/compositor_api/qwaylandcompositor.cpp
@@ -96,17 +96,6 @@ struct wl_display *QWaylandCompositor::waylandDisplay() const
return m_compositor->wl_display();
}
-void QWaylandCompositor::sendFrameCallbacks(QList<QWaylandSurface *> visibleSurfaces)
-{
- m_compositor->sendFrameCallbacks(visibleSurfaces);
-}
-
-void QWaylandCompositor::frameStarted()
-{
- foreach (QtWayland::Surface *surf, m_compositor->surfaces())
- surf->frameStarted();
-}
-
void QWaylandCompositor::destroyClientForSurface(QWaylandSurface *surface)
{
destroyClient(surface->client());
@@ -117,30 +106,40 @@ void QWaylandCompositor::destroyClient(QWaylandClient *client)
m_compositor->destroyClient(client);
}
-QList<QWaylandSurface *> QWaylandCompositor::surfacesForClient(QWaylandClient* client) const
+#if QT_DEPRECATED_SINCE(5, 5)
+void QWaylandCompositor::frameStarted()
{
- QList<QtWayland::Surface *> surfaces = m_compositor->surfaces();
-
- QList<QWaylandSurface *> result;
+ foreach (QWaylandOutput *output, outputs())
+ output->frameStarted();
+}
- for (int i = 0; i < surfaces.count(); ++i) {
- if (surfaces.at(i)->waylandSurface()->client() == client) {
- result.append(surfaces.at(i)->waylandSurface());
- }
+void QWaylandCompositor::sendFrameCallbacks(QList<QWaylandSurface *> visibleSurfaces)
+{
+ Q_FOREACH (QWaylandSurface *surface, visibleSurfaces) {
+ surface->handle()->sendFrameCallback();
}
+}
- return result;
+QList<QWaylandSurface *> QWaylandCompositor::surfacesForClient(QWaylandClient* client) const
+{
+ QList<QWaylandSurface *> surfs;
+ foreach (QWaylandOutput *output, outputs())
+ surfs.append(output->surfacesForClient(client));
+ return surfs;
}
QList<QWaylandSurface *> QWaylandCompositor::surfaces() const
{
- QList<QtWayland::Surface *> surfaces = m_compositor->surfaces();
QList<QWaylandSurface *> surfs;
- surfs.reserve(surfaces.count());
- foreach (QtWayland::Surface *s, surfaces)
- surfs << s->waylandSurface();
+ foreach (QWaylandOutput *output, outputs()) {
+ foreach (QWaylandSurface *surface, output->surfaces()) {
+ if (!surfs.contains(surface))
+ surfs.append(surface);
+ }
+ }
return surfs;
}
+#endif //QT_DEPRECATED_SINCE(5, 5)
QList<QWaylandOutput *> QWaylandCompositor::outputs() const
{