www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

main.c (1452B)


      1 #include <stdlib.h>
      2 #include <stdio.h>
      3 #include <SDL/SDL.h>
      4 #include "erreurs.h"
      5 
      6 #define PROFONDEUR 24
      7 
      8 typedef enum {
      9 	TRUE = (0==0),
     10 	FALSE = (0==1)
     11 } bool;
     12 
     13 // Variable globale boucle.
     14 bool boucle = TRUE;
     15 
     16 SDL_Surface* init() {
     17 	if (SDL_Init(SDL_INIT_VIDEO) != 0) {
     18 		die("Erreur lors de l'initialisation de SDL :");
     19 	}
     20 	
     21 	SDL_Surface* fenetre;
     22 	fenetre = SDL_SetVideoMode(640, 480, PROFONDEUR, SDL_HWSURFACE);
     23 	if (fenetre == NULL) {
     24 		die("Erreur lors de la crĂ©ation de la fenĂȘtre.");
     25 	}
     26 	SDL_WM_SetCaption("Lew", NULL);
     27 	SDL_WM_SetIcon(SDL_LoadBMP("icone.bmp"), NULL);
     28 	
     29 	SDL_FillRect(fenetre, NULL, SDL_MapRGB(fenetre->format, 0, 0, 0));
     30 	SDL_Flip(fenetre);
     31 	
     32 	return fenetre;
     33 }
     34 
     35 void quit() {
     36 	SDL_Quit();
     37 	exit(EXIT_SUCCESS);
     38 }
     39 
     40 void clavier(SDL_Event* ev) {
     41 	switch (ev->key.keysym.sym) {
     42 		case SDLK_ESCAPE:
     43 		case SDLK_q:
     44 			boucle = FALSE;
     45 			break;
     46 	}
     47 }
     48 
     49 int main(int argc, char** argv) {
     50 	SDL_Surface* fenetre = init();
     51 	
     52 	SDL_Surface* bloc = SDL_CreateRGBSurface(SDL_HWSURFACE, 11, 11, PROFONDEUR, 0, 0, 0, 0);
     53 	SDL_FillRect(bloc, NULL, SDL_MapRGB(fenetre->format, 255, 255, 255));
     54 	SDL_Rect position = {0,0};
     55 	
     56 	SDL_BlitSurface(bloc, NULL, fenetre, &position);
     57 	SDL_Flip(fenetre);
     58 	
     59 	SDL_Event evenement;
     60 	while (boucle) {
     61 		SDL_WaitEvent(&evenement);
     62 		switch (evenement.type) {
     63 			case SDL_QUIT:
     64 				boucle = FALSE;
     65 				break;
     66 			case SDL_KEYDOWN:
     67 				clavier(&evenement);
     68 				break;
     69 		}
     70 	}
     71 	
     72 	SDL_FreeSurface(bloc);
     73 	
     74 	quit();
     75 }