SDL_main.h: Document SDL_main.

This commit is contained in:
Ryan C. Gordon 2024-05-03 09:58:05 -04:00
parent 21c181b3b4
commit 31a45d7cb3
No known key found for this signature in database
GPG key ID: FA148B892AB48044

View file

@ -402,8 +402,34 @@ extern SDLMAIN_DECLSPEC void SDLCALL SDL_AppQuit(void *appstate);
* \since This datatype is available since SDL 3.0.0.
*/
typedef int (SDLCALL *SDL_main_func)(int argc, char *argv[]);
extern SDLMAIN_DECLSPEC int SDLCALL SDL_main(int argc, char *argv[]);
/**
* An app-supplied function for program entry.
*
* Apps do not directly create this function; they should create
* a standard ANSI-C `main` function instead. If SDL needs to
* insert some startup code before `main` runs, or the platform
* doesn't actually _use_ a function called "main", SDL will do some
* macro magic to redefine `main` to `SDL_main` and provide its
* own `main`.
*
* Apps should include `SDL_main.h` in the same file as their
* `main` function, and they should not use that symbol for anything
* else in that file, as it might get redefined.
*
* This function is only provided by the app if it isn't using
* SDL_MAIN_USE_CALLBACKS.
*
* Program startup is a surprisingly complex topic. Please see
* [README/main-functions](README/main-functions), (or
* docs/README-main-functions.md in the source tree) for a more detailed
* explanation.
*
* \threadsafety This is the program entry point.
*
* \since This function is available since SDL 3.0.0.
*/
extern SDLMAIN_DECLSPEC int SDLCALL SDL_main(int argc, char *argv[]);
/**
* Circumvent failure of SDL_Init() when not using SDL_main() as an entry