Mercurial > hg > dmlib
diff dmtext_ttf.c @ 64:ad1ef3f0d474
More work on the text subsystem.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 01 Oct 2012 11:03:10 +0300 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dmtext_ttf.c Mon Oct 01 11:03:10 2012 +0300 @@ -0,0 +1,42 @@ +/* + * DMLib + * -- Bitmap and TTF text & font support + * Programmed and designed by Matti 'ccr' Hamalainen + * (C) Copyright 2012 Tecnic Software productions (TNSP) + */ +#include "dmtext.h" + + +void dmDrawTTFTextConst(SDL_Surface *screen, TTF_Font *font, SDL_Color col, int xc, int yc, const char *fmt) +{ + SDL_Surface *text = TTF_RenderText_Blended(font, fmt, col); + if (text) + { + SDL_Rect rect; + rect.x = xc; + rect.y = yc; + rect.w = text->w; + rect.h = text->h; + SDL_BlitSurface(text, NULL, screen, &rect); + SDL_FreeSurface(text); + } +} + +void dmDrawTTFTextVA(SDL_Surface *screen, TTF_Font *font, SDL_Color col, int xc, int yc, const char *fmt, va_list ap) +{ + char *tmp = dm_strdup_vprintf(fmt, ap); + if (tmp != NULL) + { + dmDrawTTFTextConst(screen, font, col, xc, yc, tmp); + dmFree(tmp); + } +} + +void dmDrawTTFText(SDL_Surface *screen, TTF_Font *font, SDL_Color col, int xc, int yc, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + dmDrawTTFTextVA(screen, font, col, xc, yc, fmt, ap); + va_end(ap); +}