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

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche
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]