1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#include <stdlib.h>
#include <sdl.h>
#include <sdl_ttf.h>
int main(int argc, char** argv) {
SDL_Surface* surface;
TTF_Font* font;
SDL_Color c;
SDL_Rect src;
SDL_Rect dst;
SDL_Surface* texte;
FILE* thefile;
char* filecont;
int filesize;
SDL_RWops* wop;
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);
TTF_Init();
surface = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
if(surface==NULL)
printf("surface pas initialisée\n");
thefile = fopen("COMIC.TTF","rb");
fseek(thefile,0,SEEK_END);
filesize=ftell(thefile);
fseek(thefile,0,SEEK_SET);
filecont=malloc(filesize);
fread(filecont,1,filesize,thefile);
wop=SDL_RWFromConstMem(filecont,filesize);
font = TTF_OpenFontRW(wop,1,40);
//Enlevez le commentaire et ca ne fonctionne plus.
//free(filecont);
c.b=255;
c.g=0;
c.r=255;
texte = TTF_RenderText_Solid(font,"salut le monde!!!",c);
if(texte==NULL)
printf("erreur à la création du texte\n");
src.x=0;
src.y=0;
src.w=texte->w;
src.h=texte->h;
dst.x=1;
dst.y=1;
dst.w=texte->w;
dst.h=texte->h;
if(SDL_BlitSurface(texte,&src,surface,&dst)<0)
printf("erreur au blit\n");
if(SDL_Flip(surface)<0)
printf("erreur au flip");
SDL_Delay(5*1000);
SDL_FreeSurface(surface);
TTF_CloseFont(font);
SDL_FreeSurface(texte);
TTF_Quit();
SDL_Quit();
return 0;
} |
Partager