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);
}

SDLDoc-ptBR/Inicializando_a_SDL (last edited 2008-04-17 08:18:50 by localhost)