Iniciando a SDL
A SDL é composta de oito subsistemas: Áudio, CD-ROM, Manipulação de eventos, E/S de arquivos, Tratamento de controles, Threads, Temporizadores e Vídeo. Antes que possa usar quaisquer desses subsistemas, eles têm que ser iniciados chamando SDL_Init (ou SDL_InitSubSystem). A função SDL_Init tem que ser chamada antes de qualquer outra função SDL. Ela inicia automaticamente os subsistemas de manipulação de eventos, E/S de arquivos, e de thread, além de receber um argumento especificando que outros subsistemas é para iniciar. Assim, para iniciar os subsistemas padrões mais o de vídeo, você deveria chamar:
SDL_Init ( SDL_INIT_VIDEO );
Para iniciar os subsistemas padrões, o de vídeo e o de temporizadores, você chamaria:
SDL_Init ( SDL_INIT_VIDEO | SDL_INIT_TIMER );
SDL_Init é complementada por SDL_Quit (e SDL_QuitSubSystem). SDL_Quit desliga todos os subsistemas, inclusive os padrões. Ela deveria ser chamada antes do aplicativo SDL terminar.
Com SDL_Init e SDL_Quit embarcados no seu kit de ferramentas de programação, você pode escrever seu primeiro, e mais básico, aplicativo SDL. Entretanto, precisamos estar preparados para lidar com erros. Muitas funções SDL devolvem um valor e ele indica se a função foi bem sucedida ou se falhou. SDL_Init, por exemplo, retorna -1 se não pode iniciar um subsistema. A SDL provê um recurso útil que lhe permite determinar exatamente que problema foi: toda vez que um erro ocorrer dentro da SDL, uma mensagem de erro é armazenada e pode ser recuperada usando SDL_GetError. Use-a frequentemente, porque você nunca aprenderá tanto sobre um erro.
Exemplo: Iniciando a SDL
#include "SDL.h" /* Todos os aplicativos SDL precisam disso */
#include <stdio.h>
#include <stdlib.h> /* para exit() */
int main(int argc, char** argv) {
printf("Iniciando a SDL.\n");
/* Inicia os subsistemas padrões, o de vídeo e o de áudio */
if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {
printf("Não pôde iniciar a SDL: %s.\n", SDL_GetError());
exit(-1);
}
printf("SDL iniciada.\n");
printf("Saindo da SDL.\n");
/* Desliga todos os subsistemas */
SDL_Quit();
printf("Saindo...\n");
exit(0);
}
Compilando o aplicativo
O programa pode ser compilado com:
No Linux:
gcc -o <saída> <arquivo_fonte.c> `sdl-config --cflags --libs`
