#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
int main(int argc, char *argv[])
{
/** DECLARATION DE VARIABLE RELATIVE A LA FENETRE */
SDL_Surface *fenetre_Acc = NULL; // La fenêtre d'acceuil
SDL_Surface *widget = NULL;
SDL_Surface *widgetVerti = NULL;
SDL_Rect position;
/* les différents styles de police */
SDL_Surface *texte = NULL; // Déclaration d'une Surface qui contiendra le texte
TTF_Font *font_calig = NULL;
TTF_Font *font_term = NULL;
/* Chargement des styles de polices que l'on utilisera */
font_calig = TTF_OpenFont ("calig.ttf", 25);
font_term = TTF_OpenFont ("Timeless.ttf", 30);
SDL_Color Blanc = { 225, 225, 225};
/* variable gérant les évanements */
SDL_Event event;
int continuer = 1;
/** FIN DE DECLARATION DE VARIABLE */
/* TESTE EST CHARGEMENT DE LA SDL */
if ((SDL_Init(SDL_INIT_VIDEO)== -1) && (TTF_Init() == -1)) {
fprintf(stderr, "erreur d'initialisation de la SDL: %s\n", SDL_GetError()); // ecriture de l'erreur dans un fichier texte pour windows
fprintf(stderr, "erreur d'initialisation de SDL_ttf: %s\n", TTF_GetError());
exit(EXIT_FAILURE);
}
SDL_WM_SetCaption ("Acceuil FreeSons", NULL); // On donne un nom à la fenêtre d'acceuil
fenetre_Acc = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
/** Mise en forme de Surface à l'écran */
widget = SDL_CreateRGBSurface(SDL_SWSURFACE, 600, 2, 16, 0, 0, 0, 0); // On charge dans la mémoire lente la surface de x*y dimension
SDL_FillRect (widget, NULL, SDL_MapRGB(fenetre_Acc->format, 225, 225, 225)); // On color celle ci en blanc
widgetVerti = SDL_CreateRGBSurface(SDL_SWSURFACE, 200, 30, 16, 0, 0, 0, 0);
SDL_FillRect (widgetVerti, NULL, SDL_MapRGB(fenetre_Acc->format, 225, 225, 225));
texte = TTF_RenderText_Blended(font_term, "FreeSons", Blanc);
/* attend un événement, qui se traduit par la pression d'une touche du clavier */
while (continuer) {
SDL_WaitEvent(&event);
switch (event.type) {
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case SDLK_ESCAPE: // Appui sur la touche Echap, on arrête le programme
continuer = 0;
break;
default:
continuer = 1;
break;
}
break;
}
position.x = 15;
position.y = 10;
SDL_BlitSurface(widget, NULL, fenetre_Acc, &position);
position.x = 15;
position.y = 400;
SDL_BlitSurface(widget, NULL, fenetre_Acc, &position);
position.x = 111;
position.y = 100;
SDL_BlitSurface (widgetVerti, NULL, fenetre_Acc, &position);
position.x = 350;
position.y = 350;
SDL_BlitSurface (texte, NULL, fenetre_Acc, &position);
position.x = 100;
position.y = 100;
SDL_BlitSurface (texte, NULL, fenetre_Acc, &position);
SDL_Flip (fenetre_Acc);
}
SDL_FreeSurface (fenetre_Acc);
SDL_FreeSurface (widget);
SDL_FreeSurface (widgetVerti);
SDL_FreeSurface (texte);
TTF_CloseFont(font_term);
TTF_CloseFont (font_calig);
TTF_Quit();
SDL_Quit();
return EXIT_SUCCESS;
}
Voilà le code, mais j'ai regardé, il me semble pas avoir oublié un truc.
Pour la couleur qui est déclaré blanc, en fait c'est du orange 🙂