|
Size: 2532
Comment: Fixed flag descriptions.
|
Size: 2422
Comment: Use SDL_Log(), which is guaranteed to work even if SDL_Init() fails
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 23: | Line 23: |
| #include <stdio.h> /* for fprintf() and stderr */ | |
| Line 28: | Line 27: |
| fprintf(stderr, "Unable to initialize SDL: %s\n", SDL_GetError() ); |
SDL_Log("Unable to initialize SDL: %s\n", SDL_GetError()); |
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"
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) != 0) {
SDL_Log("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 events subsystem |
SDL_INIT_JOYSTICK |
joystick subsystem; automatically initializes the events subsystem |
SDL_INIT_HAPTIC |
haptic (force feedback) subsystem |
SDL_INIT_GAMECONTROLLER |
controller subsystem; automatically initializes the 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.
