[Add] Allert windows as a way to warn the user of something.

This commit is contained in:
Allanis 2013-03-08 02:18:49 +00:00
parent d1d08da22c
commit 94623aa081
2 changed files with 35 additions and 0 deletions

View File

@ -112,6 +112,8 @@ static void toolkit_drawOutline(double x, double y, double w,
double h, double b, glColour* c, glColour* lc);
static void toolkit_drawRect(double x, double y, double w, double h,
glColour* c, glColour* lc);
// Misc.
static void toolkit_alertClose(char* str);
// Add a button that when pressed will trigger call, passing it's name as the
// only parameter.
@ -1060,6 +1062,36 @@ static Widget* toolkit_getFocus(void) {
return &wdw->widgets[wdw->focus];
}
void toolkit_alert(const char* fmt, ...) {
char msg[256];
va_list ap;
unsigned int wdw;
if(window_exists("Warning")) return;
if(fmt == NULL) return;
else {
// Get the message.
va_start(ap, fmt);
vsprintf(msg, fmt, ap);
va_end(ap);
}
wdw = window_create("Warning", -1, -1, 300, 140);
window_addText(wdw, 20, -30, 260, 70, 0, "txtAlert",
&gl_smallFont, &cBlack, msg);
window_addButton(wdw, 135, 20, 50, 30, "btnOK", "OK",
toolkit_alertClose);
}
static void toolkit_alertClose(char* str) {
(void)str;
if(window_exists("Warning"))
window_destroy(window_get("Warning"));
}
// Init.
int toolkit_init(void) {
windows = malloc(sizeof(Window)*MIN_WINDOWS);

View File

@ -30,6 +30,9 @@ void window_addRect(const unsigned int wid,
const int w, const int h, // size.
char* name, glColour* colour, int border); // Properties.
// Popups and alerts.
void toolkit_alert(const char* fmt, ...);
// Modification
void window_modifyText(const unsigned int wid, char* name, char* newstring);
void window_modifyImage(const unsigned int wid, char* name, glTexture* image);