Inicializando a SDL
A SDL é composta de oito Subsistemas - Audio, CDROM, Manipulação de Eventos, I/O de arquivos, Manipulação de Joystick, Tarefas, Timer e Video. Antes de você poder usar usar qualquer um destes subsistemas eles devem ser inicializados pela chamada SDL_Init (ou SDL_InitSubSystem). SDL_Init deve ser chamada antes de qualquer outra função SDL. Ela inicializa automaticamente o Manipulador de eventos, Entrada/Saída de arquivos e as tarefas dos subsistemas e ela pega um parâmetro especificando quais outros subsistemas são para inicializar. Portanto, para inicializar os subsistemas padrão e os subsistemas de Vídeo você tem de chamar:
SDL_Init ( SDL_INIT_VIDEO );
Para inicializar os subsistemas padrão, Os subsistemas de Vídeo e os subsistemas de temporização você deve chamar:
SDL_Init ( SDL_INIT_VIDEO | SDL_INIT_TIMER );
SDL_Init é complementado por SDL_Quit (e SDL_QuitSubSystem). SDL_Quit Termina todos os subsistemas, incluindo os padrões. Ele deve sempre ser chamada antes de uma aplicação SDL terminar.
Com SDL_Init e SDL_Quit integrado firmemente no seu toolkit de programação você pode escrever sua primeira e mais aplicaçães básicas SDL. Todavia, nós devemos estar preparados para manipular erros. Muitas funções SDL retornam um valor indicando verdadeiro ou falso ou indicando falha ou sucesso na função, SDL_Init, por instância, retorna -1 se ela não conseguir inicializar um subsistema. SDL provê uma útil facilidade que permite a você determinar exatamente qual foi o problema , todo momento que ocorrer um erro dentro da SDL uma mensagem de erro é armazenada a qual pode ser recuperada usando SDL_GetError. Use isso freqüentemente, você pode nunca saber tanto sobre um erro.
Exemplo 1-1. Inicializando a SDL
#include "SDL.h" /* Todas as aplicações SDL precisam deste cabeçalho */
#include <stdio.h>
int main() {
printf("Initializing SDL.\n");
/* Inicializa padrões, Vídeo e Audio */
if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {
printf("Não foi possível inicializar SDL: %s.\n", SDL_GetError());
exit(-1);
}
printf("SDL inicializada.\n");
printf("Terminando SDL.\n");
/* Termina todos os subsistemas */
SDL_Quit();
printf("Terminando....\n");
exit(0);
}