From af9da2e4950356c4b8aa112b58e294c1e46dd5ff Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 21 Mar 2021 07:29:48 +0530 Subject: [PATCH] Make pt_to_px useable in state.c --- kitty/state.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/kitty/state.c b/kitty/state.c index 98fc832f7..97c56ba95 100644 --- a/kitty/state.c +++ b/kitty/state.c @@ -60,6 +60,27 @@ GlobalState global_state = {{0}}; if (wp->id == cb_window_id && cb_window_id) global_state.callback_os_window = wp; \ }} +static inline double +dpi_for_os_window_id(id_type os_window_id) { + double dpi = 0; + if (os_window_id) { + WITH_OS_WINDOW(os_window_id) + dpi = (os_window->logical_dpi_x + os_window->logical_dpi_y) / 2.; + END_WITH_OS_WINDOW + } + if (dpi == 0) { + dpi = (global_state.default_dpi.x + global_state.default_dpi.y) / 2.; + } + return dpi; +} + + +static long +pt_to_px(double pt, id_type os_window_id) { + const double dpi = dpi_for_os_window_id(os_window_id); + return ((long)round((pt * (dpi / 72.0)))); +} + OSWindow* current_os_window() { @@ -986,26 +1007,11 @@ PYWRAP1(sync_os_window_title) { } -static inline double -dpi_for_os_window_id(id_type os_window_id) { - double dpi = 0; - if (os_window_id) { - WITH_OS_WINDOW(os_window_id) - dpi = (os_window->logical_dpi_x + os_window->logical_dpi_y) / 2.; - END_WITH_OS_WINDOW - } - if (dpi == 0) { - dpi = (global_state.default_dpi.x + global_state.default_dpi.y) / 2.; - } - return dpi; -} - PYWRAP1(pt_to_px) { - double pt, dpi = 0; + double pt; id_type os_window_id = 0; PA("d|K", &pt, &os_window_id); - dpi = dpi_for_os_window_id(os_window_id); - return PyLong_FromLong((long)round((pt * (dpi / 72.0)))); + return PyLong_FromLong(pt_to_px(pt, os_window_id)); } PYWRAP1(global_font_size) {