Pixel-Composer/objects/o_dialog_preference/Draw_64.gml

89 lines
3 KiB
Text
Raw Normal View History

2022-01-13 05:24:03 +01:00
/// @description init
if !ready exit;
#region base UI
2022-11-18 03:20:31 +01:00
draw_sprite_stretched(THEME.dialog_bg, 0, dialog_x, dialog_y, dialog_w, dialog_h);
2022-11-03 11:44:49 +01:00
if(sFOCUS)
2022-11-18 03:20:31 +01:00
draw_sprite_stretched_ext(THEME.dialog_active, 0, dialog_x, dialog_y, dialog_w, dialog_h, COLORS._main_accent, 1);
2022-01-13 05:24:03 +01:00
2022-11-18 03:20:31 +01:00
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title);
2022-11-03 11:44:49 +01:00
draw_text(dialog_x + ui(24), dialog_y + ui(16), "Preferences");
var titlebar_h = ui(16) + line_height(f_p0, 16);
2022-01-13 05:24:03 +01:00
#endregion
#region page
2022-11-03 11:44:49 +01:00
var yy = dialog_y + titlebar_h;
var yl = yy - ui(8);
2022-11-18 03:20:31 +01:00
var hg = line_height(f_p0, 16);
2022-01-13 05:24:03 +01:00
for(var i = 0; i < array_length(page); i++) {
2022-11-18 03:20:31 +01:00
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
2022-01-13 05:24:03 +01:00
if(i == page_current) {
2022-11-18 03:20:31 +01:00
draw_sprite_stretched(THEME.ui_panel_bg, 0, dialog_x + ui(16), yl, ui(160), hg);
2022-12-10 05:06:01 +01:00
} else if(sHOVER && point_in_rectangle(mouse_mx, mouse_my, dialog_x, yl, dialog_x + ui(160), yl + hg)) {
2022-11-18 03:20:31 +01:00
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, dialog_x + ui(16), yl, ui(160), hg, c_white, 0.5);
2022-12-10 05:06:01 +01:00
if(mouse_click(mb_left, sFOCUS))
2022-01-13 05:24:03 +01:00
page_current = i;
}
2022-11-03 11:44:49 +01:00
draw_text(dialog_x + ui(28), yl + hg / 2, page[i]);
yl += hg;
2022-01-13 05:24:03 +01:00
}
#endregion
#region draw
2022-11-18 03:20:31 +01:00
draw_sprite_stretched(THEME.ui_panel_bg, 0, dialog_x + ui(160), yy - ui(8), dialog_w - ui(176), dialog_h - titlebar_h - ui(16));
2022-01-13 05:24:03 +01:00
tb_search.auto_update = true;
tb_search.no_empty = false;
tb_search.font = f_p1;
2022-11-03 11:44:49 +01:00
tb_search.active = sFOCUS;
tb_search.hover = sHOVER;
2022-11-18 03:20:31 +01:00
tb_search.draw(dialog_x + dialog_w - ui(16), dialog_y + titlebar_h / 2, ui(200), ui(28), search_text, mouse_ui,, fa_right, fa_center);
draw_sprite_ui_uniform(THEME.search, 0, dialog_x + dialog_w - ui(232), dialog_y + titlebar_h / 2, 1, COLORS._main_text_sub);
2022-01-13 05:24:03 +01:00
if(page_current == 0) {
current_list = pref_global;
2022-11-03 11:44:49 +01:00
sp_pref.active = sHOVER;
sp_pref.draw(dialog_x + ui(168), yy);
2022-01-13 05:24:03 +01:00
} else if(page_current == 1) {
current_list = pref_node;
2022-11-03 11:44:49 +01:00
sp_pref.active = sHOVER;
sp_pref.draw(dialog_x + ui(168), yy);
} else if(page_current == 2) {
2023-01-04 02:30:04 +01:00
current_list = pref_appr;
sp_pref.active = sHOVER;
sp_pref.draw(dialog_x + ui(168), yy);
} else if(page_current == 3) {
2022-11-18 03:20:31 +01:00
var _w = ui(200);
var _h = TEXTBOX_HEIGHT;
var _x = dialog_x + dialog_w - ui(8);
var bx = _x - ui(48);
var b = buttonInstant(THEME.button_hide, bx, yy, ui(32), ui(32), mouse_ui, sFOCUS, sHOVER, "Reset colors", THEME.refresh);
if(b == 2) {
2022-12-10 05:06:01 +01:00
var path = DIRECTORY + "themes/" + PREF_MAP[? "theme"] + "/override.json";
2022-11-18 03:20:31 +01:00
if(file_exists(path)) file_delete(path);
loadColor(PREF_MAP[? "theme"]);
}
var x1 = dialog_x + ui(168);
var x2 = _x - ui(32);
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
draw_text(x1 + ui(8), yy + _h / 2, "Theme");
sb_theme.active = sFOCUS;
sb_theme.hover = sHOVER;
sb_theme.draw(x2 - ui(24) - _w, yy, _w, _h, PREF_MAP[? "theme"]);
sp_colors.active = sHOVER;
sp_colors.draw(dialog_x + ui(168), yy + ui(40));
2023-01-17 08:11:55 +01:00
} else if(page_current == 4) {
2022-12-10 05:06:01 +01:00
if(mouse_press(mb_left, sFOCUS))
2022-11-18 03:20:31 +01:00
hk_editing = noone;
2022-01-13 05:24:03 +01:00
2022-11-03 11:44:49 +01:00
sp_hotkey.active = sHOVER;
sp_hotkey.draw(dialog_x + ui(168), yy);
2022-01-13 05:24:03 +01:00
}
#endregion