Function SDL_AppInit
pub unsafe extern "C" fn SDL_AppInit(
appstate: *mut *mut c_void,
argc: i32,
argv: *mut *mut i8,
) -> SDL_AppResult
dep_sdl3
only.Expand description
App-implemented initial entry point for SDL_MAIN_USE_CALLBACKS apps.
Apps implement this function when using SDL_MAIN_USE_CALLBACKS. If using a standard “main” function, you should not supply this.
This function is called by SDL once, at startup. The function should
initialize whatever is necessary, possibly create windows and open audio
devices, etc. The argc
and argv
parameters work like they would with a
standard “main” function.
This function should not go into an infinite mainloop; it should do any one-time setup it requires and then return.
The app may optionally assign a pointer to *appstate
. This pointer will
be provided on every future call to the other entry points, to allow
application state to be preserved between functions without the app needing
to use a global variable. If this isn’t set, the pointer will be NULL in
future entry points.
If this function returns SDL_APP_CONTINUE
, the app will proceed to normal
operation, and will begin receiving repeated calls to SDL_AppIterate
and
SDL_AppEvent
for the life of the program. If this function returns
SDL_APP_FAILURE
, SDL will call SDL_AppQuit
and terminate the process with
an exit code that reports an error to the platform. If it returns
SDL_APP_SUCCESS
, SDL calls SDL_AppQuit
and terminates with an exit code
that reports success to the platform.
This function is called by SDL on the main thread.
§Parameters
appstate
: a place where the app can optionally store a pointer for future use.argc
: the standard ANSI C main’s argc; number of elements inargv
.argv
: the standard ANSI C main’s argv; array of command line arguments.
§Return value
Returns SDL_APP_FAILURE
to terminate with an error, SDL_APP_SUCCESS
to
terminate with success, SDL_APP_CONTINUE
to continue.
§Availability
This function is available since SDL 3.2.0.