Pixel-Composer/scripts/draw_UI_scale/draw_UI_scale.gml

48 lines
1.1 KiB
Plaintext
Raw Normal View History

2024-03-31 11:10:14 +02:00
global.LINE_HEIGHTS = {};
2023-05-28 20:00:51 +02:00
function line_get_height(font = noone, offset = 0) {
2024-03-31 11:10:14 +02:00
INLINE
var _f = font != noone? font : draw_get_font();
if(struct_has(global.LINE_HEIGHTS, _f)) return global.LINE_HEIGHTS[$ _f] + offset * UI_SCALE;
2022-11-03 11:44:49 +01:00
2024-03-31 11:10:14 +02:00
var ff = draw_get_font();
2022-11-03 11:44:49 +01:00
2024-03-31 11:10:14 +02:00
if(font != noone) draw_set_font(font);
var hh = string_height("l");
global.LINE_HEIGHTS[$ _f] = hh;
2022-11-03 11:44:49 +01:00
draw_set_font(ff);
2024-03-31 11:10:14 +02:00
return hh + offset * UI_SCALE;
2022-11-03 11:44:49 +01:00
}
2023-05-28 20:00:51 +02:00
function line_get_width(txt, font = noone, offset = 0) {
2023-03-26 07:13:36 +02:00
var ff = draw_get_font();
if(font != noone)
draw_set_font(font);
var ww = string_width(txt) + offset * UI_SCALE;
draw_set_font(ff);
return ww;
}
2023-04-08 20:06:27 +02:00
#region global
#macro TEXTBOX_HEIGHT line_get_height(f_p0, 8)
2023-09-02 12:47:27 +02:00
#macro BUTTON_HEIGHT line_get_height(f_p0, 12)
2022-11-03 11:44:49 +01:00
2023-04-16 16:24:17 +02:00
function ui(val) {
2023-11-08 08:38:04 +01:00
INLINE
2023-12-11 05:45:12 +01:00
return round(val * UI_SCALE);
}
2024-03-23 07:26:11 +01:00
function resetScale(scale, willResize = false) {
2023-12-11 05:45:12 +01:00
if(scale == PREFERENCES.display_scaling) return;
2023-10-04 11:28:13 +02:00
2023-12-11 05:45:12 +01:00
PREFERENCES.display_scaling = scale;
resetPanel();
loadFonts();
2024-03-23 07:26:11 +01:00
if(willResize) time_source_start(time_source_create(time_source_global, 1, time_source_units_frames, onResize));
2023-12-11 05:45:12 +01:00
PREF_SAVE();
2023-04-16 16:24:17 +02:00
}
2023-04-08 20:06:27 +02:00
#endregion