4#ifdef SDL3PP_MAIN_HANDLED
5#define SDL_MAIN_HANDLED
8#ifdef SDL3PP_MAIN_USE_CALLBACKS
9#define SDL_MAIN_USE_CALLBACKS
12#include <SDL3/SDL_main.h>
66#define SDL3PP_MAIN_HANDLED SDL_MAIN_HANDLED
88#define SDL3PP_MAIN_USE_CALLBACKS SDL_MAIN_USE_CALLBACKS
153 return SDL_RunApp(argc, argv, mainFunction, reserved);
188 return SDL_EnterAppMainCallbacks(
189 argc, argv, appinit, appiter, appevent, appquit);
206#define SDL3PP_DEFINE_CALLBACKS(CLASS) \
207 static_assert(SDL::HasIterateFunction<CLASS>, "Main class not compatible"); \
208 inline SDL::AppResult SDL_AppInit(void** appstate, int argc, char* argv[]) \
210 return SDL::InitClass(reinterpret_cast<CLASS**>(appstate), \
211 SDL::AppArgs{argv, size_t(argc)}); \
213 inline SDL::AppResult SDL_AppIterate(void* appstate) \
215 return SDL::IterateClass(static_cast<CLASS*>(appstate)); \
217 inline SDL::AppResult SDL_AppEvent(void* appstate, SDL::Event* event) \
219 return SDL::EventClass(static_cast<CLASS*>(appstate), *event); \
221 inline void SDL_AppQuit(void* appstate, SDL::AppResult result) \
223 SDL::QuitClass(static_cast<CLASS*>(appstate), result); \
SDL_AppIterate_func AppIterate_func
Function pointer typedef for SDL_AppIterate.
Definition: SDL3pp_init.h:168
SDL_AppInit_func AppInit_func
Function pointer typedef for SDL_AppInit.
Definition: SDL3pp_init.h:153
SDL_AppEvent_func AppEvent_func
Function pointer typedef for SDL_AppEvent.
Definition: SDL3pp_init.h:184
SDL_AppQuit_func AppQuit_func
Function pointer typedef for SDL_AppQuit.
Definition: SDL3pp_init.h:198
int RunApp(int argc, char *argv[], main_func mainFunction, void *reserved)
Initializes and launches an SDL application, by doing platform-specific initialization before calling...
Definition: SDL3pp_main.h:148
void SetMainReady()
Circumvent failure of Init() when not using SDL_main() as an entry point.
Definition: SDL3pp_main.h:118
int EnterAppMainCallbacks(int argc, char *argv[], AppInit_func appinit, AppIterate_func appiter, AppEvent_func appevent, AppQuit_func appquit)
An entry point for SDL's use in SDL3PP_MAIN_USE_CALLBACKS.
Definition: SDL3pp_main.h:181
SDL_main_func main_func
The prototype for the application's main() function.
Definition: SDL3pp_main.h:103
void GDKSuspendComplete()
Callback from the application to let the suspend continue.
Definition: SDL3pp_main.h:200
Main include header for the SDL3pp library.