Wiki Page Content

Differences between revisions 44 and 45
Revision 44 as of 2017-01-07 20:03:18
Size: 2530
Editor: RyanGordon
Comment: Don't use atexit() in the example code.
Revision 45 as of 2017-01-14 22:54:14
Size: 2530
Comment: Fixed example for platforms without threading support.
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
    if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) != 0) {     if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) != 0) {

SDL_Init

Use this function to initialize the SDL library. This must be called before using any other SDL function.

Syntax

int SDL_Init(Uint32 flags)

Function Parameters

flags

subsystem initialization flags; 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

#include "SDL.h"
#include <stdio.h> /* for fprintf() */
#include <stdlib.h> /* for atexit() */

int main(int argc, char** argv) {
    if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) != 0) {
        fprintf(stderr,
                "Unable to initialize SDL: %s\n",
                SDL_GetError()
               );
        return 1;
    }

    /* ... */

    SDL_Quit();

    return 0;
}

Remarks

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 and Threading subsystems are initialized by default. You must specifically initialize other subsystems if you use them in your application.

flags may be any of the following OR'd together:

SDL_INIT_TIMER

timer subsystem

SDL_INIT_AUDIO

audio subsystem

SDL_INIT_VIDEO

video subsystem. Automatically initializes the SDL_INIT_EVENTS subsystem

SDL_INIT_JOYSTICK

joystick subsystem

SDL_INIT_HAPTIC

haptic (force feedback) subsystem

SDL_INIT_GAMECONTROLLER

controller subsystem. Automatically initializes the SDL_INIT_JOYSTICK 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.


CategoryAPI, CategoryInit

None: SDL_Init (last edited 2017-04-08 21:22:04 by PhilippWiesemann)

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