table of contents
SDL_Init(3) | SDL3 FUNCTIONS | SDL_Init(3) |
NAME¶
SDL_Init - Initialize the SDL library.
SYNOPSIS¶
#include <SDL3/SDL_init.h>
bool SDL_Init(SDL_InitFlags flags);
DESCRIPTION¶
SDL_Init() simply forwards to calling SDL_InitSubSystem(). Therefore, the two may be used interchangeably. Though for readability of your code SDL_InitSubSystem() might be preferred.
The file I/O (for example: SDL_IOFromFile) and threading (SDL_CreateThread) subsystems are initialized by default. Message boxes (SDL_ShowSimpleMessageBox) also attempt to work without initializing the video subsystem, in hopes of being useful in showing an error dialog when SDL_Init fails. You must specifically initialize other subsystems if you use them in your application.
Logging (such as SDL_Log) works without initialization, too.
flags may be any of the following OR'd together:
• SDL_INIT_AUDIO: audio subsystem; automatically initializes the events subsystem
• SDL_INIT_VIDEO: video subsystem; automatically initializes the events subsystem, should be initialized on the main thread.
• SDL_INIT_JOYSTICK: joystick subsystem; automatically initializes the events subsystem
• SDL_INIT_HAPTIC: haptic (force feedback) subsystem
• SDL_INIT_GAMEPAD: gamepad subsystem; automatically initializes the joystick subsystem
• SDL_INIT_EVENTS: events subsystem
• SDL_INIT_SENSOR: sensor subsystem; automatically initializes the events subsystem
• SDL_INIT_CAMERA: camera subsystem; automatically initializes the events subsystem
Subsystem initialization is ref-counted, you must call SDL_QuitSubSystem() for each SDL_InitSubSystem() to correctly shutdown a subsystem manually (or call SDL_Quit() to force shutdown). If a subsystem is already loaded then this call will increase the ref-count and return.
Consider reporting some basic metadata about your application before calling SDL_Init, using either SDL_SetAppMetadata() or SDL_SetAppMetadataProperty().
FUNCTION PARAMETERS¶
- flags
- subsystem initialization flags.
RETURN VALUE¶
for more information.
AVAILABILITY¶
This function is available since SDL 3.2.0.
SEE ALSO¶
SDL_SetAppMetadata(3), SDL_SetAppMetadataProperty(3), SDL_InitSubSystem(3), SDL_Quit(3), SDL_SetMainReady(3), SDL_WasInit(3)
SDL 3.2.14 | Simple Directmedia Layer |