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`

Initializing_SDLptBR (last edited 2009-09-14 06:48:35 by 187)