SDL_QuitSubSystem

Use this function to shut down specific SDL subsystems.

Syntax

void SDL_QuitSubSystem(Uint32 flags)

Function Parameters

flags

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

Code Examples

#include "SDL.h"

/* ... */

int main(int argc, char **argv) {
    int sdl_initialized = 0;
    sdl_initialized = !SDL_Init(0);

    /* ... console stuff ... */

    if (sdl_initialized && SDL_InitSubSystem(SDL_INIT_VIDEO)) {
        display_graph();
        SDL_QuitSubSystem(SDL_INIT_VIDEO);
    }

    /* ... more console stuff ... */

    if (sdl_initialized) SDL_Quit();
    return 0;
}

Remarks

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

)>>

SDL_INIT_TIMER

initialize timer subsystem

SDL_INIT_AUDIO

initialize audio subsystem

SDL_INIT_VIDEO

initialize video subsystem

SDL_INIT_CDROM

initialize CD-ROM subsystem

SDL_INIT_JOYSTICK

initialize joystick subsystem

SDL_INIT_HAPTIC

initialize haptic (force feedback) subsystem

SDL_INIT_EVERYTHING

initialize all of the above subsystems

SDL_INIT_NOPARACHUTE

don't catch fatal signals

SDL_INIT_EVENTTHREAD

run the event loop in a separate thread (not supported by all OSs)

If you start a subsystem using a call to that subsystem's init function (for example SDL_VideoInit()) instead of SDL_Init() or SDL_InitSubSystem(), SDL_QuitSubSystem() and SDL_WasInit() will not work. You will need to use that subsystem's quit function (SDL_VideoQuit()) directly instead.

You still need to call SDL_Quit() even if you close all open subsystems with SDL_QuitSubSystem().


CategoryAPI, CategoryInit

SDL_QuitSubSystem (last edited 2010-08-03 21:50:07 by SheenaSmith)