/* * This file is part of the DXX-Rebirth project . * It is copyright by its individual contributors, as recorded in the * project's Git history. See COPYING.txt at the top level for license * terms and a link to the Git history. */ /* * messagebox.c * d1x-rebirth * * Display an error or warning messagebox using the OS's window server. * */ #include #include "window.h" #include "event.h" #include "messagebox.h" static void display_win32_alert(const char *message, int error) { d_event event; window *wind; // Handle Descent's windows properly if ((wind = window_get_front())) WINDOW_SEND_EVENT(wind, EVENT_WINDOW_DEACTIVATED); int fullscreen = (grd_curscreen && gr_check_fullscreen()); if (fullscreen) gr_toggle_fullscreen(); MessageBox(NULL, message, error?"Sorry, a critical error has occurred.":"Attention!", error?MB_OK|MB_ICONERROR:MB_OK|MB_ICONWARNING); if ((wind = window_get_front())) WINDOW_SEND_EVENT(wind, EVENT_WINDOW_ACTIVATED); if (!error && fullscreen) gr_toggle_fullscreen(); } void msgbox_warning(const char *message) { display_win32_alert(message, 0); } void msgbox_error(const char *message) { display_win32_alert(message, 1); }