winewayland.drv: Infer and report Windows monitor positions.
commitbddfcd071615b51503c0ffa03bd8fc179012e6c7
authorAlexandros Frantzis <alexandros.frantzis@collabora.com>
Tue, 7 Mar 2023 11:36:02 +0000 (7 13:36 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 21 Apr 2023 07:59:37 +0000 (21 09:59 +0200)
treef044f51ae7d08037fd565699878b216076d05d7d
parentce6a7ae84110fc1e8963f5c6e82d3f65f6c0cac7
winewayland.drv: Infer and report Windows monitor positions.

Use the xdg-output-unstable-v1 protocol to get the size of the Wayland
outputs in the compositor logical space, and use this information, along
with the logical position and size in physical pixels (i.e., the current
mode) to infer the Windows virtual screen coordinates of the monitors.

Note that there are multiple possible mappings from Wayland logical
coordinates to Windows virtual screen coordinates. We choose one
algorithm that works well for the majority of output arrangements, and
we can refine in the future as needed.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
dlls/winewayland.drv/display.c
dlls/winewayland.drv/wayland_output.c
dlls/winewayland.drv/waylanddrv.h