On Mon Dec 4 18:25:49 2023 +0000, Rémi Bernon wrote:
Why forbidding relative motion larger than the window?
This is to keep the `NtUserLogicalToPerMonitorDPIPhysicalPoint` call happy, since it will fail if the point is outside the window rect.
I have tried to stick with the current win32u exports, to avoid leaking some of the current internal assumptions (e.g., `get_win_monitor_dpi(hwnd) == system_dpi`). Perhaps at some point it may be worth exposing some general facilities from win32u for drivers to perform such dpi mappings with more versatility.
That's also the reason I have left a 'FIXME' for thread->win dpi mapping in the WAYLAND_ClipCursor code, since getting the current thread dpi for calculations will require a duplication of the related internal win32u code.