diff options
author | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-01-12 12:58:45 +0100 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-08-28 13:09:41 +0200 |
commit | 32f5fcd8940cb00ed1db78f4b8bb45be7f3747cd (patch) | |
tree | 72d49115be713c4112cd99170d3f97876b9e0a08 /src/compositor/compositor_api/qwaylandquickoutput.cpp | |
parent | e17588ea0e107d5d97dbd8cb8a4fae5bfc8ff1a1 (diff) |
Optionally auto send framecallbacks for QWaylandQuickOutput
Change-Id: Ic668b1fe88a536af553cfaf8b515219d2dae0f7d
Diffstat (limited to 'src/compositor/compositor_api/qwaylandquickoutput.cpp')
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickoutput.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickoutput.cpp b/src/compositor/compositor_api/qwaylandquickoutput.cpp index 160164c7b..0c743c4f3 100644 --- a/src/compositor/compositor_api/qwaylandquickoutput.cpp +++ b/src/compositor/compositor_api/qwaylandquickoutput.cpp @@ -44,10 +44,14 @@ QWaylandQuickOutput::QWaylandQuickOutput(QWaylandCompositor *compositor, QQuickW const QString &manufacturer, const QString &model) : QWaylandOutput(compositor, window, manufacturer, model) , m_updateScheduled(false) + , m_automaticFrameCallbacks(false) { connect(window, &QQuickWindow::beforeSynchronizing, this, &QWaylandQuickOutput::updateStarted, Qt::DirectConnection); + + connect(window, &QQuickWindow::beforeRendering, + this, &QWaylandQuickOutput::doFrameCallbacks); } QQuickWindow *QWaylandQuickOutput::quickWindow() const @@ -63,6 +67,16 @@ void QWaylandQuickOutput::update() } } +bool QWaylandQuickOutput::automaticFrameCallbacks() const +{ + return m_automaticFrameCallbacks; +} + +void QWaylandQuickOutput::setAutomaticFrameCallbacks(bool automatic) +{ + m_automaticFrameCallbacks = automatic; +} + void QWaylandQuickOutput::updateStarted() { m_updateScheduled = false; @@ -70,4 +84,9 @@ void QWaylandQuickOutput::updateStarted() compositor()->cleanupGraphicsResources(); } +void QWaylandQuickOutput::doFrameCallbacks() +{ + if (m_automaticFrameCallbacks) + sendFrameCallbacks(surfaces()); +} QT_END_NAMESPACE |