summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2015-12-05 12:24:56 +0100
committerPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2016-01-11 20:08:00 +0000
commit6aa799c6fe24c29f9d92634b605dd91b2ca12bc1 (patch)
tree3dea20c6a45237c1847e53d3f0b3319a9099e7e3
parenta78e3ff9c68c692ef1977baf9e1b6ff3fbeb96da (diff)
Output available geometry in output coordinates space
The available geometry is a portion of the output so starting from the output global coordinates is wrong, it should start from 0,0 by default. Warn when coordinates outside the output are set. Update the documentation accordingly. Change-Id: Ia93481ad092c9daab3837321b62831f51fce9e57 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
-rw-r--r--src/compositor/compositor_api/qwaylandoutput.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandoutput.cpp b/src/compositor/compositor_api/qwaylandoutput.cpp
index 5aa3b20f7..c8c5878bf 100644
--- a/src/compositor/compositor_api/qwaylandoutput.cpp
+++ b/src/compositor/compositor_api/qwaylandoutput.cpp
@@ -510,6 +510,8 @@ void QWaylandOutput::setGeometry(const QRect &geometry)
* \qmlproperty rect QtWaylandCompositor::WaylandOutput::availableGeometry
*
* This property holds the geometry of the WaylandOutput available for displaying content.
+ * The available geometry is in output coordinates space, starts from 0,0 and it's as big
+ * as the output by default.
*
* \sa QWaylandOutput::geometry
*/
@@ -518,6 +520,8 @@ void QWaylandOutput::setGeometry(const QRect &geometry)
* \property QWaylandOutput::availableGeometry
*
* This property holds the geometry of the QWaylandOutput available for displaying content.
+ * The available geometry is in output coordinates space, starts from 0,0 and it's as big
+ * as the output by default.
*
* \sa QWaylandOutput::mode, QWaylandOutput::geometry
*/
@@ -525,7 +529,7 @@ QRect QWaylandOutput::availableGeometry() const
{
Q_D(const QWaylandOutput);
if (!d->availableGeometry.isValid())
- return QRect(d->position, d->mode.size);
+ return QRect(QPoint(0, 0), d->mode.size);
return d->availableGeometry;
}
@@ -536,6 +540,9 @@ void QWaylandOutput::setAvailableGeometry(const QRect &availableGeometry)
if (d->availableGeometry == availableGeometry)
return;
+ if (availableGeometry.topLeft().x() < 0 || availableGeometry.topLeft().y() < 0)
+ qWarning("Available geometry should be a portion of the output");
+
d->availableGeometry = availableGeometry;
Q_EMIT availableGeometryChanged();