diff options
author | Simon Howard | 2011-09-20 20:47:19 +0000 |
---|---|---|
committer | Simon Howard | 2011-09-20 20:47:19 +0000 |
commit | 4fba2ab2ddda75a05c70ac95531504edfafdf8c8 (patch) | |
tree | 84c124abfd401fec865e2fdbb5c0006962e48e67 | |
parent | e5336a1bdc44021605c20f9c50876b6cb5c90f9a (diff) | |
download | chocolate-doom-4fba2ab2ddda75a05c70ac95531504edfafdf8c8.tar.gz chocolate-doom-4fba2ab2ddda75a05c70ac95531504edfafdf8c8.tar.bz2 chocolate-doom-4fba2ab2ddda75a05c70ac95531504edfafdf8c8.zip |
Add TXT_MessageBox convenience function.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2388
-rw-r--r-- | src/setup/joystick.c | 16 | ||||
-rw-r--r-- | textscreen/txt_window.c | 23 | ||||
-rw-r--r-- | textscreen/txt_window.h | 10 |
3 files changed, 36 insertions, 13 deletions
diff --git a/src/setup/joystick.c b/src/setup/joystick.c index 48074121..064ff99d 100644 --- a/src/setup/joystick.c +++ b/src/setup/joystick.c @@ -270,19 +270,9 @@ static int CalibrationEventCallback(SDL_Event *event, void *user_data) static void NoJoystick(void) { - txt_window_t *window; - - window = TXT_NewWindow(NULL); - - TXT_AddWidget(window, - TXT_NewLabel("No joysticks could be opened.\n\n" - "Try configuring your joystick from within\n" - "your OS first.")); - - TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL); - TXT_SetWindowAction(window, TXT_HORIZ_CENTER, - TXT_NewWindowEscapeAction(window)); - TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL); + TXT_MessageBox(NULL, "No joysticks could be opened.\n\n" + "Try configuring your joystick from within\n" + "your OS first."); joystick_index = -1; SetJoystickButtonLabel(); diff --git a/textscreen/txt_window.c b/textscreen/txt_window.c index cd8a6c7a..8cbddb55 100644 --- a/textscreen/txt_window.c +++ b/textscreen/txt_window.c @@ -20,10 +20,12 @@ // #include <stdlib.h> +#include <stdarg.h> #include <string.h> #include "doomkeys.h" +#include "txt_label.h" #include "txt_desktop.h" #include "txt_gui.h" #include "txt_main.h" @@ -472,3 +474,24 @@ void TXT_SetMouseListener(txt_window_t *window, window->mouse_listener_data = user_data; } +txt_window_t *TXT_MessageBox(char *title, char *message, ...) +{ + txt_window_t *window; + char buf[256]; + va_list args; + + va_start(args, message); + vsnprintf(buf, sizeof(buf), message, args); + va_end(args); + + window = TXT_NewWindow(title); + TXT_AddWidget(window, TXT_NewLabel(buf)); + + TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL); + TXT_SetWindowAction(window, TXT_HORIZ_CENTER, + TXT_NewWindowEscapeAction(window)); + TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL); + + return window; +} + diff --git a/textscreen/txt_window.h b/textscreen/txt_window.h index e183cf6d..bfae2a9a 100644 --- a/textscreen/txt_window.h +++ b/textscreen/txt_window.h @@ -176,6 +176,16 @@ void TXT_SetMouseListener(txt_window_t *window, TxtWindowMousePress mouse_listener, void *user_data); +/** + * Open a window displaying a message. + * + * @param title Title of the window. + * @param message The message to display in the window. + * @return The new window. + */ + +txt_window_t *TXT_MessageBox(char *title, char *message, ...); + #endif /* #ifndef TXT_WINDOW_T */ |