diff options
author | Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> | 2015-12-05 12:24:56 +0100 |
---|---|---|
committer | Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> | 2016-01-11 20:08:00 +0000 |
commit | 6aa799c6fe24c29f9d92634b605dd91b2ca12bc1 (patch) | |
tree | 3dea20c6a45237c1847e53d3f0b3319a9099e7e3 | |
parent | a78e3ff9c68c692ef1977baf9e1b6ff3fbeb96da (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.cpp | 9 |
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(); |