Pixel-Composer/objects/o_dialog_notifications/Draw_64.gml

53 lines
2.4 KiB
Plaintext
Raw Normal View History

2022-11-03 11:44:49 +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);
2023-02-28 09:43:01 +01:00
2023-06-10 13:59:45 +02:00
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text);
2023-06-04 18:28:29 +02:00
draw_text(dialog_x + ui(56), dialog_y + ui(20), __txt("Notifications"));
2023-02-28 09:43:01 +01:00
var bx = dialog_x + ui(24);
var by = dialog_y + ui(18);
2023-06-05 18:27:53 +02:00
if(buttonInstant(THEME.button_hide, bx, by, ui(28), ui(28), mouse_ui, sFOCUS, sHOVER, destroy_on_click_out? __txt("Pin") : __txt("Unpin"),
2023-02-28 09:43:01 +01:00
THEME.pin, !destroy_on_click_out, destroy_on_click_out? COLORS._main_icon : COLORS._main_icon_light) == 2)
destroy_on_click_out = !destroy_on_click_out;
2022-11-03 11:44:49 +01:00
#endregion
#region text
2023-02-28 09:43:01 +01:00
var ww = ui(28);
var hh = ui(28);
var bx = dialog_x + dialog_w - ui(padding - 8) - ww;
var by = dialog_y + ui(18);
2022-11-03 11:44:49 +01:00
var error = !!(filter & NOTI_TYPE.error);
2023-06-04 18:28:29 +02:00
var toolt = error? __txtx("noti_hide_error", "Hide error") : __txtx("noti_show_error", "Show error");
2023-02-28 09:43:01 +01:00
var b = buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER, toolt, THEME.noti_icon_error, error, c_white, 0.3 + error * 0.7);
2023-01-17 08:11:55 +01:00
if(b == 2) filter = filter ^ NOTI_TYPE.error;
2023-05-03 21:42:17 +02:00
if(b == 3) menuCall("notification_error_menu",,, rightClickMenu);
2022-11-03 11:44:49 +01:00
bx -= ui(36);
var warn = !!(filter & NOTI_TYPE.warning);
2023-06-04 18:28:29 +02:00
var toolt = warn? __txtx("noti_hide_warning", "Hide warning") : __txtx("noti_show_warning", "Show warning");
2023-02-28 09:43:01 +01:00
var b = buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER, toolt, THEME.noti_icon_warning, warn, c_white, 0.3 + warn * 0.7);
2023-01-17 08:11:55 +01:00
if(b == 2) filter = filter ^ NOTI_TYPE.warning;
2023-05-03 21:42:17 +02:00
if(b == 3) menuCall("notification_warning_menu",,, rightClickMenu);
2022-11-03 11:44:49 +01:00
bx -= ui(36);
var log = !!(filter & NOTI_TYPE.log);
2023-06-04 18:28:29 +02:00
var toolt = log? __txtx("noti_hide_log", "Hide log") : __txtx("noti_show_log", "Show log");
2023-02-28 09:43:01 +01:00
var b = buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER, toolt, THEME.noti_icon_log, log, c_white, 0.3 + log * 0.7);
2023-01-17 08:11:55 +01:00
if(b == 2) filter = filter ^ NOTI_TYPE.log;
2023-05-03 21:42:17 +02:00
if(b == 3) menuCall("notification_log_menu",,, rightClickMenu);
2022-11-03 11:44:49 +01:00
2023-02-28 09:43:01 +01:00
var px = dialog_x + ui(padding);
var py = dialog_y + ui(title_height);
var pw = dialog_w - ui(padding + padding);
var ph = dialog_h - ui(title_height + padding);
draw_sprite_stretched(THEME.ui_panel_bg, 0, px - ui(8), py - ui(8), pw + ui(16), ph + ui(16));
2023-06-21 20:36:53 +02:00
sp_noti.setFocusHover(sFOCUS, sHOVER);
2023-02-28 09:43:01 +01:00
sp_noti.draw(px, py);
2022-11-03 11:44:49 +01:00
#endregion