Aller au contenu principal

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éeVersionDescription
19981.0Publication de la bibliothèque.
20132.0Possibilité d’accélération matériel, changement de licence, etc.
20172.0.6Support de la bibliothèque graphique Vulkan, de contrôleurs de jeu, etc.
20233.0Présentation de la prochaine version au « Game Developers Conference ».
20243.1.3Publication 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 :

IndicateurDescription
SDL_INIT_AUDIOAudio et événements.
SDL_INIT_VIDEOVidéo et événements.
SDL_INIT_JOYSTICKManette et événements.
SDL_INIT_HAPTICRetour de force.
SDL_INIT_GAMEPADContrôleur de jeu et manette.
SDL_INIT_EVENTSÉvénements.
SDL_INIT_SENSORCapteur et événement.
SDL_INIT_CAMERACamé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();