winewayland.drv: Handle xdg_toplevel maximized state.
commit36ecb876dbc10151d62e35d009a310d59fed07e6
authorAlexandros Frantzis <alexandros.frantzis@collabora.com>
Mon, 18 Sep 2023 06:57:12 +0000 (18 09:57 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 27 Sep 2023 20:16:48 +0000 (27 22:16 +0200)
tree73087292c7af4d27ee72e90bdf5a7f13dfd227e9
parent6e903b7924fb05806dca8c05c2c64034f953626f
winewayland.drv: Handle xdg_toplevel maximized state.

A request for the maximized state has two potential origins:

1. The compositor, through an xdg_toplevel configure event. In this case
   we update the window state and size accordingly.

2. The application or Wine itself, by changing the window style. When
   we detect such a style, we make a request to the compositor to set
   the maximized state. The compositor will then eventually reply with
   a configure event, and we continue with case (1). Note that the
   compositor may deny our request, in which case we will also sync
   the window style accordingly.

An acknowledged maximized state imposes very strict constraints on the
size of surface content we can present. We are careful to not violate
these constraints, since otherwise the compositor will disconnect us.
dlls/winewayland.drv/wayland_surface.c
dlls/winewayland.drv/waylanddrv.h
dlls/winewayland.drv/window.c