Make pt_to_px useable in state.c
This commit is contained in:
parent
77f7672e98
commit
af9da2e495
@ -60,6 +60,27 @@ GlobalState global_state = {{0}};
|
|||||||
if (wp->id == cb_window_id && cb_window_id) global_state.callback_os_window = wp; \
|
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*
|
OSWindow*
|
||||||
current_os_window() {
|
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) {
|
PYWRAP1(pt_to_px) {
|
||||||
double pt, dpi = 0;
|
double pt;
|
||||||
id_type os_window_id = 0;
|
id_type os_window_id = 0;
|
||||||
PA("d|K", &pt, &os_window_id);
|
PA("d|K", &pt, &os_window_id);
|
||||||
dpi = dpi_for_os_window_id(os_window_id);
|
return PyLong_FromLong(pt_to_px(pt, os_window_id));
|
||||||
return PyLong_FromLong((long)round((pt * (dpi / 72.0))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PYWRAP1(global_font_size) {
|
PYWRAP1(global_font_size) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user