diff options
author | Matt Hoosier <matt.hoosier@garmin.com> | 2018-06-12 11:13:20 -0500 |
---|---|---|
committer | Matt Hoosier <matt.hoosier@garmin.com> | 2018-06-17 01:39:22 +0000 |
commit | 17eb840b65c1e62351c99a0ca64937e2deaf32de (patch) | |
tree | ebfa0acc1433ae34d589f75819a63012fdc19ed6 /src/compositor/extensions/qwaylandwlshellintegration_p.h | |
parent | 254b1428724f3e79248b906ad4cba810c0d37572 (diff) | |
download | qtwayland-17eb840b65c1e62351c99a0ca64937e2deaf32de.tar.gz |
Compositor: make WlShell reconfigure clients on output geometry change
[ChangeLog][Compositor] Made the wl_shell compositor protocol
implementation re-issue configure requests with updated sizes
when the size or available geometry changes on output used by
a maximized or fullscreen surface.
Change-Id: I5a688afb315523281d6661e2d098423acfb1a297
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/compositor/extensions/qwaylandwlshellintegration_p.h')
-rw-r--r-- | src/compositor/extensions/qwaylandwlshellintegration_p.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compositor/extensions/qwaylandwlshellintegration_p.h b/src/compositor/extensions/qwaylandwlshellintegration_p.h index 68c936b1..ff236e63 100644 --- a/src/compositor/extensions/qwaylandwlshellintegration_p.h +++ b/src/compositor/extensions/qwaylandwlshellintegration_p.h @@ -80,6 +80,8 @@ private Q_SLOTS: void handleSurfaceHasContentChanged(); void handleRedraw(); void adjustOffsetForNextFrame(const QPointF &offset); + void handleFullScreenSizeChanged(); + void handleMaximizedSizeChanged(); private: enum class GrabberState { @@ -118,6 +120,14 @@ private: State currentState = State::Windowed; State nextState = State::Windowed; + + struct { + QWaylandOutput *output = nullptr; + QMetaObject::Connection sizeChangedConnection; // Depending on whether maximized or fullscreen, + // will be hooked to geometry-changed or available- + // geometry-changed. + } nonwindowedState; + QPointF normalPosition; QPointF finalPosition; }; |