Introduction
Bibliothèque graphique ouverte et multiplateforme permettant de gérer des événements, des fenêtres, et des moteurs de rendus.
Historique
Elle fut créée par Sam Lantinga qui travaillait à porter des applications et des jeux du système d’exploitation Windows vers les systèmes d’exploitation Macintosh et Linux.
| Année | Version | Description |
|---|---|---|
| 1998 | 1.0 | Publication de la bibliothèque. |
| 2013 | 2.0 | Possibilité d’accélération matériel, changement de licence, etc. |
| 2017 | 2.0.6 | Support de la bibliothèque graphique Vulkan, de contrôleurs de jeu, etc. |
| 2023 | 3.0 | Présentation de la prochaine version au « Game Developers Conference ». |
| 2024 | 3.1.3 | Publication de la version 3. |
Inclusion
Pour être utilisée, des fichiers d’en‐tête de la bibliothèque doivent être inclus :
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
Le fichier « SDL_main.h » est uniquement nécessaire pour la fonction principale du programme.
Extensions
Des extensions peuvent aussi être incluses :
#include <SDL3_ttf/SDL_ttf.h>
#include <SDL3_image/SDL_image.h>
// ...
Initialisation
Pour initialiser la bibliothèque :
bool SDL_Init(SDL_InitFlags flags);
Indicateurs
Les indicateurs d'initialisation suivants peuvent être combinés :
| Indicateur | Description |
|---|---|
| SDL_INIT_AUDIO | Audio et événements. |
| SDL_INIT_VIDEO | Vidéo et événements. |
| SDL_INIT_JOYSTICK | Manette et événements. |
| SDL_INIT_HAPTIC | Retour de force. |
| SDL_INIT_GAMEPAD | Contrôleur de jeu et manette. |
| SDL_INIT_EVENTS | Événements. |
| SDL_INIT_SENSOR | Capteur et événement. |
| SDL_INIT_CAMERA | Caméra et événement. |
Validation
Pour valider l'initialisation de la bibliothèque :
if (!SDL_Init(SDL_INIT_FLAGS)) {
SDL_Log("%s", SDL_GetError());
return -1;
}
Libération
Pour libérer la bibliothèque :
void SDL_Quit();