Blue Flower

#include 
#include 
#include <SDL/SDL.h>

void pause();
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL;

SDL_Init(SDL_INIT_VIDEO);
ecran=SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
/*Gestion erreur ecran*/
if (ecran == NULL) // Si l'ouverture a échoué, on écrit l'erreur et on arrête
{
fprintf(stderr, "Impossible de charger le mode vidéo : %s\nq", SDL_GetError());
/*Fin gestion erreur ecran*/
exit(EXIT_FAILURE);
}
SDL_WM_SetCaption("Le titre de ma fenetre !", NULL);
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0,0, 255));
SDL_Flip(ecran);
pause();

SDL_Quit();

return EXIT_SUCCESS; 
}

void pause()
{
int continuer = 1;
SDL_Event event;

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
}

Mémoriser une surface.

On créé un pointeur SDL_Surface *ecran = NULL; et on peut donc récupérer la valeur. (Gestion des erreurs.).

Choisir une couleur.

SDL_MapRGB(ecran->format, 0,0, 255);
Nota.
0 La quantité de rouge.
0 La quantité de vert.
255 La quantité de bleu.

Colorier la surface.

SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0,0, 255));

Afficher la fenêtre coloriée.

SDL_Flip(ecran);

Dessiner une nouvelle surface.

Création d'une variable.

SDL_Surface *rectangle = NULL;

Dessiner un rectangle.

rectangle = SDL_CreateRGBSurface(SDL_HWSURFACE, 210, 200, 32, 0, 0, 0, 0);
Explication.
SDL_HWSURFACE ou
SDL_SWSURFACE
La surface est chargée en mémoire vidéo, ou
La surface est chargée dans la RAM.
210 La largeur de la surface (en pixels).
200 La hauteur de la surface (en pixels).
32 Le nombre de couleurs (en bits / pixel).

Libérer la mémoire.

SDL_FreeSurface(rectangle);
Nota.
Placer cette instruction, juste avant SDL_Quit();.

Colorier notre rectangle.

SDL_FillRect(rectangle, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

Création d'une variable position.

SDL_Rect position;
position.x = 0;
position.y = 0;

Coller le rectangle.

SDL_BlitSurface(rectangle, NULL, ecran, &position);