Programmation avec la SDL/Récapitulatif des fonctions de la SDL

Un livre de Wikilivres.
Programmation avec la SDL
Sommaire
L' affichage vidéo
L'essentiel
Approfondissement
La gestion des évènements
Annexes
Modifier ce modèle

Voici un récapitulatif des fonctions étudiées dans ce livre.

Initialisation[modifier | modifier le wikicode]

Fonctions d'initialisation
Objectif Prototype
Initialiser la SDL
int SDL_Init(Uint32 flags);
Initialiser le sous-système vidéo
SDL_VideoInit(NULL);
Initialiser un ou plusieurs sous-systèmes après la première initialisation
int SDL_InitSubSystem(Uint32 flags);
Quitter la SDL
SDL_Quit(NULL);
Quitter le sous-système vidéo
SDL_VideoQuit();
Quitter un ou plusieurs sous-systèmes
int SDL_QuitSubSystem(Uint32 flags);

Gestion des erreurs[modifier | modifier le wikicode]

Fonctions de gestion des erreurs
Objectif Prototype
Récupérer la dernière erreur répertoriée par la SDL
char* SDL_GetError(void);

Les fenêtres[modifier | modifier le wikicode]

Fonctions de gestion des fenêtres
Objectif Prototype
Créer une fenêtre.
SDL_Window* SDL_CreateWindow(const char* title, int x, int y, int w, int h, Uint32 flags);
Détruire une fenêtre.
void SDL_DestroyWindow(SDL_Window* window);
Donner un titre à la fenêtre.
void SDL_SetWindowTitle(SDL_Window* window , const char* title);
Récupérer le titre de la fenêtre.
const char* SDL_GetWindowTitle(SDL_Window* window);
Ajouter une icone à la fenêtre.
void SDL_SetWindowIcon(SDL_Window*  window , SDL_Surface* icon);
Changer la position de la fenêtre.
void SDL_SetWindowPosition(SDL_Window* window , int x, int y);
Récupérer la position de la fenêtre.
void SDL_GetWindowPosition(SDL_Window* window , int* x, int* y);
Changer la taille de la fenêtre.
void SDL_SetWindowSize(SDL_Window* window , int w , int h);
Récupérer la taille de la fenêtre.
void SDL_GetWindowSize(SDL_Window* window , int* w , int* h);
Agrandir.
void SDL_MaximizeWindow(SDL_Window* window);
Réduire.
void SDL_MinimizeWindow(SDL_Window* window);
Restaurer.
void SDL_RestoreWindow(SDL_Window* window);
Passer en mode plein écran ou en mode normal.
int SDL_SetWindowFullscreen(SDL_Window* window , SDL_bool fullscreen);
Définir la luminosité de la fenêtre.
int SDL_SetWindowBrightness(SDL_Window* window, float luminosite);
Récupérer la luminosité de la fenêtre.
float SDL_GetWindowBrightness(SDL_Window* window);
Récupérer l'ID d'une fenêtre.
Uint32 SDL_GetWindowID(SDL_Window* window);
Récupérer une fenêtre à partir de son ID.
SDL_Window* SDL_GetWindowFromID(Uint32 id);

Le renderer[modifier | modifier le wikicode]

Fonction de gestion du renderer
Objectif Prototype
Créer un renderer.
SDL_Renderer* SDL_CreateRenderer(SDL_Window* window, int index , Uint32 flags);
Créer un renderer et une fenêtre
SDL_CreateWindowAndRenderer(int largeur, int hauteur, Uint32 window_flags, SDL_Window **window, SDL_Renderer **renderer);
Détruire un renderer.
void SDL_DestroyRenderer(SDL_Renderer* renderer);
Faire un rendu.
void SDL_RenderPresent(SDL_Renderer* renderer);
Récupérer le renderer associé à une fenêtre.
SDL_Renderer* SDL_GetRenderer(SDL_Window* window);
Récupérer des informations à propos d'un renderer.
int SDL_GetRendererInfo(SDL_Renderer* renderer ,SDL_RendererInfo* info);
Changer la couleur de dessin.
int SDL_SetRenderDrawColor(SDL_Renderer* renderer, Uint8 r,  Uint8 g , Uint8 b , Uint8  a);
Récupérer la couleur de dessin.
int SDL_GetRenderDrawColor(SDL_Renderer* renderer, Uint8* r, Uint8* g, Uint8* b, Uint8* a);
Dessiner un point.
int SDL_RenderDrawPoint(SDL_Renderer* renderer, int x , int y);
Dessiner un ou plusieurs points.
int SDL_RenderDrawPoints(SDL_Renderer* renderer,  const SDL_Point* points,  int nombre_de_points);
Tracer un segment.
int SDL_RenderDrawLine(SDL_Renderer* renderer, int x1 , int y1 , int x2 , int y2);
Tracer un chemin.
int SDL_RenderDrawLines(SDL_Renderer* renderer,  const SDL_Point* points,  int nombre_de_points);
Tracer un rectangle.
int SDL_RenderDrawRect(SDL_Renderer* renderer, const SDL_Rect* rect);
Tracer un ou plusieurs rectangles.
int SDL_RenderDrawRects(SDL_Renderer* renderer, const SDL_Rect* rect, int nombre_de_rectangle);
Remplir un rectangle.
int SDL_RenderFillRect(SDL_Renderer*   renderer, const SDL_Rect* rect);
Remplir un ou plusieurs rectangles.
int SDL_RenderFillRects(SDL_Renderer*   renderer, const SDL_Rect* rect, int nombre_de_rectangle);
Délimiter une zone de travail.
int SDL_RenderSetViewport(SDL_Renderer* renderer, const SDL_Rect* rect);
Récupérer le rectangle représentant la zone de travail.
void SDL_RenderGetViewport(SDL_Renderer* renderer, const SDL_Rect* rect);

Les textures[modifier | modifier le wikicode]

Fonction de gestion des textures
Objectif Prototype
Créer une texture
SDL_Texture* SDL_CreateTexture(SDL_Renderer* renderer, Uint32 format, int access, int  largeur, int  hauteur);
  • Format : SDL_PIXELFORMAT_RGBA8888
  • Access : SDL_TEXTUREACCESS_TARGET
Changer la texture affectée par les modifications
int SDL_SetRenderTarget(SDL_Renderer* renderer, SDL_Texture*  texture);
  • envoyer NULL à l'argument texture pour revenir au renderer
Récupérer la texture affectée par les modifications
SDL_Texture* SDL_GetRenderTarget(SDL_Renderer* renderer);
Récupérer des informations sur la texture
int SDL_QueryTexture(SDL_Texture* texture,  Uint32* format,  int*  access,  int*  w,  int* h)
Afficher une texture
int SDL_RenderCopy(SDL_Renderer*   renderer  ,  SDL_Texture*    texture  ,  const SDL_Rect* srcrect  ,  const SDL_Rect* dstrect);

Les surfaces[modifier | modifier le wikicode]