Alexandre Julliard (@julliard) commented about dlls/winewayland.drv/wayland_surface.c:
+{ + *x = round(wine_x / surface->window.scale); + *y = round(wine_y / surface->window.scale); +} + +/********************************************************************** + * wayland_surface_coords_to_wine + * + * Converts the surface-local coordinates to wine windows-local coordinates. + */ +void wayland_surface_coords_to_wine(struct wayland_surface *surface, + double x, double y, int *wine_x, int *wine_y) +{ + *wine_x = round(x * surface->window.scale); + *wine_y = round(y * surface->window.scale); +} Why is one `_rounded` and not the other one?
Also could we please avoid naming things wine_something? winewayland.drv is also part of Wine, it's not some external thing that the driver has to deal with. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4203#note_51896