Wiki Page Content

SDL_InitSubSystem

Use this function to initialize specific SDL subsystems.

Syntax

int SDL_InitSubSystem(Uint32 flags)

Function Parameters

flags

any of the flags used by SDL_Init(); see Remarks for details

Return Value

Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.

Code Examples

/* Separating Joystick and Video initialization. */
SDL_Init(SDL_INIT_VIDEO);

SDL_Window* window = SDL_CreateWindow("A Window",
    SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480,
    SDL_WINDOW_FULLSCREEN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0);

/* Do Some Video stuff */

/* Initialize the joystick subsystem */
SDL_InitSubSystem(SDL_INIT_JOYSTICK);

/* Do some stuff with video and joystick */

/* Shut them both down */
SDL_Quit();

Remarks

After SDL has been initialized with SDL_Init() you may initialize uninitialized subsystems with SDL_InitSubSystem().

These are the flags which may be passed to SDL_InitSubSystem() and may be OR'd together to initialize multiple subsystems simultaneously.

Include: Nothing found for "Unless the"!

SDL_INIT_TIMER

timer subsystem

SDL_INIT_AUDIO

audio subsystem

SDL_INIT_VIDEO

video subsystem

SDL_INIT_JOYSTICK

joystick subsystem

SDL_INIT_HAPTIC

haptic (force feedback) subsystem

SDL_INIT_GAMECONTROLLER

controller subsystem

SDL_INIT_EVENTS

events subsystem

SDL_INIT_EVERYTHING

all of the above subsystems

SDL_INIT_NOPARACHUTE

compatibility; this flag is ignored

If you want to initialize subsystems separately you would call SDL_Init(0) followed by SDL_InitSubSystem() with the desired subsystem flag.

Related Functions


CategoryAPI, CategoryInit

SDL_Init() initializes assertions and crash protection and then calls SDL_InitSubSystem(). If you want to bypass those protections you can call SDL_InitSubSystem() directly.

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.


CategoryAPI, CategoryInit

None: SDL_InitSubSystem (last edited 2014-07-04 12:51:17 by PhilippWiesemann)

Feedback
Please include your contact information if you'd like to receive a reply.
Submit