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);
+}