diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/guidebasicsinit.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/guidebasicsinit.html Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,240 @@ +
SDL is composed of eight subsystems - Audio, CDROM, Event Handling, File I/O, Joystick Handling, Threading, Timers and Video. Before you can use any of these subsystems they must be initialized by calling SDL_Init (or SDL_InitSubSystem). SDL_Init must be called before any other SDL function. It automatically initializes the Event Handling, File I/O and Threading subsystems and it takes a parameter specifying which other subsystems to initialize. So, to initialize the default subsystems and the Video subsystems you would call: +
SDL_Init ( SDL_INIT_VIDEO );+To initialize the default subsystems, the Video subsystem and the Timers subsystem you would call: +
SDL_Init ( SDL_INIT_VIDEO | SDL_INIT_TIMER );
SDL_Init is complemented by SDL_Quit (and SDL_QuitSubSystem). SDL_Quit shuts down all subsystems, including the default ones. It should always be called before a SDL application exits.
With SDL_Init and SDL_Quit firmly embedded in your programmers toolkit you can write your first and most basic SDL application. However, we must be prepare to handle errors. Many SDL functions return a value and indicates whether the function has succeeded or failed, SDL_Init, for instance, returns -1 if it could not initialize a subsystem. SDL provides a useful facility that allows you to determine exactly what the problem was, every time an error occurs within SDL an error message is stored which can be retrieved using SDL_GetError. Use this often, you can never know too much about an error.
Example 1-1. Initializing SDL
#include "SDL.h" /* All SDL App's need this */ +#include <stdio.h> + +int main(int argc, char *argv[]) { + + printf("Initializing SDL.\n"); + + /* Initialize defaults, Video and Audio */ + if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) { + printf("Could not initialize SDL: %s.\n", SDL_GetError()); + exit(-1); + } + + printf("SDL initialized.\n"); + + printf("Quiting SDL.\n"); + + /* Shutdown all subsystems */ + SDL_Quit(); + + printf("Quiting....\n"); + + exit(0); +}