On Sun, May 11, 2025 at 03:33:10PM +0800, Weifeng Liu wrote: > Hi all, > > Now we have quite a lot of display backends for different use cases. > Even in the context of gtk, we have various implementations (e.g., gl=on > vs gl=off, X11 vs Wayland). However, behaviors to users are not aligned > across the backends, especially in the part of scale handling. This > patch set attempts to improve scale handling. > > We have to deal with various coordinates due to the existence of scaling > in different level. Firstly, in desktop level, we could have a global > window scale factor. Secondly, users might set a zooming factor to > adjust the size of guest content in scan-out level. Consequently, 1) the > buffer from guest, 2) the host window and 3) OpenGl drawing area inside > the host window are in distinct coordinates. It's important to define > these coordinates and scales unambiguously and use a consistent naming > convention for variables representing different concepts. The first > patch in this set tries to achieve this goal by adding a document in > gtk.c, and the next patch (PATCH 2) attempts to align the code with the > document. > > PATCH 3 - 5 fix bugs in mouse position calculation due to not handling > scale properly, for both gtk and sdl. > > PATCH 6 align scale update logic in gtk-egl with other implementations. > > PATCH 7 fix an issue that gtk window might keep enlarging/shrinking because > ui info propagating to guest not considering scale. > > PATCH 8 and 9 align fixed-scale mode behavior in gtk-gl-area and gtk-egl with > other implementations by adding appropriate padding to the window to preserve > the scale.
Series: Acked-by: Gerd Hoffmann <kra...@redhat.com> take care, Gerd