#include "SDL.h" #include "SDL_ttf.h" #include #include "text.h" Text_t * CreateText(TTF_Font * Font, const char * text, SDL_Color * components) { Text_t * newtext; newtext = malloc(sizeof(Text_t)); newtext->Surface = NULL; UpdateText(newtext, Font, text, components); return newtext; } void UpdateText(Text_t * tobeupdated, TTF_Font * Font, const char * text, SDL_Color * components) { SDL_Surface * Temp = NULL; Temp = TTF_RenderText_Blended(Font, text, *components); if (tobeupdated->Surface) { SDL_FreeSurface(tobeupdated->Surface); } tobeupdated->Surface = SDL_DisplayFormatAlpha(Temp); SDL_FreeSurface(Temp); tobeupdated->Rect.w = tobeupdated->Surface->w; tobeupdated->Rect.h = tobeupdated->Surface->h; } void DeleteText(Text_t * Text) { SDL_FreeSurface(Text->Surface); free(Text); }