Initialiser la SDL
SDL est composée de 8 sous-systèmes - Audio, CDROM, Gestionnaire d'évènements, E/S sur les fichiers, Gestion du Joystick, Threading, Timers et Video. Avant de commencer à utiliser n'importe lequel de ces sous-systèmes, ils doivent être initialisés avec la fonction SDL_Init (ou SDL_InitSubSystem). SDL_Init doit être appelée avant n'importe quelle autre fonction de la SDL. Elle initialise automatiquement les sous-systèmes de gestionnaire d'évènements, de la gestion des fichiers et de threads et prend en paramètre spécifiant les autres systèmes à initialiser. Donc, pour initialiser les sous-systèmes par défaut ainsi que le système gérant l'affichage, vous appelerez:
SDL_Init ( SDL_INIT_VIDEO );
Pour initialiser les sous-systèmes par défaut ainsi que le système gérant l'affichage et les timers, vous appelerez:
SDL_Init ( SDL_INIT_VIDEO | SDL_INIT_TIMER );
SDL_Init est completée par SDL_Quit (et SDL_QuitSubSystem). SDL_Quit éteint tous les sous-systèmes incluant ceux par défaut. Elle doit toujours être appelée avant la fermeture d'une application SDL.
Avec SDL_Init et SDL_Quit intégrés dans votre kit de programmeur, vous pouvez écrire votre première application SDL. Cependant, nous devons être préparés à gérer les erreurs. Beaucoup de fonctions SDL renvoient une valeur et indiquent si la fonction a réussi ou échoué. SDL_Init, par exemple, renvoie -1 si les sous-systèmes n'ont pas pu être initialisés.
SDL fournit une fonction utile qui permet de déterminer exactement d'où vient le problème. À chaque fois qu'une erreur se produit, un message est stocké, qui peut être récupéré en utilisation SDL_GetError. Utilisez la souvent, car on n'en sait jamais trop sur une erreur.
Exemple: Initialisation de la SDL
#include "SDL.h" /* Toutes les applis de la SDL ont en besoin */
#include <stdio.h>
#include <stdlib.h> /* pour exit() */
int main(int argc, char** argv) {
printf("Initialisation de la SDL.\n");
/* Initialise les sous-systèmes par défaut, celui de l'affichage et du son */
if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {
printf("Impossible d'initialiser la SDL: %s.\n", SDL_GetError());
exit(-1);
}
printf("SDL initialisee.\n");
printf("Arret SDL.\n");
/* Extinction de tous les sous-systèmes */
SDL_Quit();
printf("Arret...\n");
exit(0);
}
Compiler l'application
Le programme peut être compilé avec la ligne suivante:
Sous linux:
gcc -o <output> <source_file.c> `sdl-config --cflags --libs`
