OldSchool Library
messagebox.h File Reference

Message box functionality for OSLib. More...

Macros

#define oslDebug(format ...)   ({ char __str2[1000], __str[1000]; sprintf(__str2, "Debug (%s:%i,%s)",__FUNCTION__,__LINE__,__FILE__); sprintf(__str, ## format); oslMessageBox(__str, __str2, oslMake3Buttons(OSL_KEY_CROSS,OSL_MB_OK,OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0)); })
 Displays a debug message, with the same format as printf.
 
#define oslMake3Buttons(b1, a1, b2, a2, b3, a3)   ((b1)|((a1)<<5)|((b2)<<9)|((a2)<<14)|((b3)<<18)|((a3)<<23))
 Creates a 32-bit integer to be used for the 'flags' parameter when calling oslMessageBox.
 
#define oslWarning(format ...)   ({ char __str[1000]; sprintf(__str, ## format); oslMessageBox(__str, "Warning", oslMake3Buttons(OSL_KEY_CROSS,OSL_MB_OK,OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0)); })
 Displays a warning message with the same format as oslDebug.
 
#define oslFatalError(format ...)   ({ char __str[1000]; sprintf(__str, ## format); oslMessageBox(__str, "Fatal error", oslMake3Buttons(OSL_KEY_CROSS,OSL_MB_QUIT,0,0,0,0)); })
 Displays a fatal error message. This function will terminate execution after displaying the message.
 
#define oslAssert(cond)   ({ if (!(cond)) { char __str[1000]; sprintf(__str, "This program encountered a fatal error and must be terminated.\n\nFile : %s:%i\nError: %s",__FILE__,__LINE__,""#cond); oslMessageBox(__str, "Fatal error", oslMake3Buttons(OSL_KEY_CROSS,OSL_MB_QUIT,0,0,0,0)); } })
 Displays a fatal error message if the condition is not satisfied.
 

Enumerations

enum  OSL_MB_ACTIONS {
  OSL_MB_OK = 1 , OSL_MB_CANCEL , OSL_MB_YES , OSL_MB_NO ,
  OSL_MB_QUIT
}
 Message box button actions. More...
 

Functions

unsigned int oslMessageBox (const char *text, const char *title, unsigned int flags)
 Displays a message box.
 

Detailed Description

Message box functionality for OSLib.

This file contains definitions and functions for creating and handling message boxes in the OSLib environment. These message boxes can display various messages, such as debug information, warnings, and fatal errors, with options for user interaction through different buttons.