Fractional GUI scale (0.5 step), fit menu to window, fix settings pages

- display.gui-scale is now a number: 0 (auto) or 0.5..4 in 0.5 steps
- explicit scale is no longer limited by window size (tiled windows);
  only an open menu page is shrunk to fit the window
- snap Batch2D vertices to pixels on fractional scale (fixes dots above text)
- pass app to settings_common via options (not visible inside modules)
- gui.get_scale() returns a number
This commit is contained in:
loki5512344 2026-10-03 15:28:03 +02:00
parent 33e132a231
commit 48d5d54b77
13 changed files with 76 additions and 41 deletions

View file

@ -31,11 +31,11 @@ gui.str(text: string, context: string) -> string
-- Возвращает размер главного контейнера (окна).
gui.get_viewport() -> {number, number}
-- Возвращает текущий масштаб интерфейса: пикселей окна в одной единице UI (1..4).
-- Задаётся настройкой display.gui-scale и ограничивается размером окна.
gui.get_scale() -> int
-- Возвращает текущий масштаб интерфейса: пикселей окна в одной единице UI (0.5..4).
-- Задаётся настройкой display.gui-scale (в режиме Авто подбирается под размер окна).
gui.get_scale() -> number
-- Возвращает максимальный масштаб интерфейса, помещающийся в текущее окно.
-- Возвращает масштаб интерфейса, который выбирается в режиме Авто (помещается в текущее окно).
gui.get_max_scale() -> int
-- Возвращает позицию курсора в единицах UI (в отличие от input.get_mouse_pos,