From f6997ebd1de555916c491dbd603f7a0e9c1d9c58 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Fri, 4 Aug 2006 00:56:19 +0000 Subject: git-svn-id: svn://mattst88.com/svn/sdlpong/trunk@2 e27a58fc-241a-0410-afba-9958544cdf14 --- text.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 text.c (limited to 'text.c') diff --git a/text.c b/text.c new file mode 100644 index 0000000..f221f3d --- /dev/null +++ b/text.c @@ -0,0 +1,30 @@ +#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); +} + -- cgit v1.2.3