summaryrefslogtreecommitdiffstats
path: root/src/splash.c
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2021-08-03 00:07:46 (EDT)
committer P. J. McDermott <pj@pehjota.net>2021-08-03 00:07:46 (EDT)
commitf75620d8d873af217fffd3c574463a1931ae54c1 (patch)
tree26d7ae50bf5a322679debe205ecd361d74a1b5db /src/splash.c
parent6f4631c8f82a2a631730767cad70c0b6ae02e0ad (diff)
downloadmazefight-f75620d8d873af217fffd3c574463a1931ae54c1.zip
mazefight-f75620d8d873af217fffd3c574463a1931ae54c1.tar.gz
mazefight-f75620d8d873af217fffd3c574463a1931ae54c1.tar.bz2
splash: Align text by the baseline
And factor out text rendering into a shared interface.
Diffstat (limited to 'src/splash.c')
-rw-r--r--src/splash.c36
1 files changed, 3 insertions, 33 deletions
diff --git a/src/splash.c b/src/splash.c
index f662a0d..c11d76b 100644
--- a/src/splash.c
+++ b/src/splash.c
@@ -25,39 +25,9 @@
#include "dirs.h"
#include "maze.h"
#include "splash.h"
+#include "ttf.h"
#include "util.h"
-static SDL_Texture *
-_mf_splash_text(TTF_Font *font, const char *text, SDL_Color *color,
- SDL_Renderer *renderer, SDL_Rect *rect)
-{
- SDL_Surface *surface;
- SDL_Texture *texture;
-
- surface = TTF_RenderUTF8_Blended(font, text, *color);
- if (surface == NULL) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
- "Couldn't create surface: %s",
- TTF_GetError());
- return NULL;
- }
-
- texture = SDL_CreateTextureFromSurface(renderer, surface);
- if (texture == NULL) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION,
- "Couldn't create texture: %s",
- SDL_GetError());
- return NULL;
- }
-
- rect->w = surface->w;
- rect->h = surface->h;
-
- SDL_FreeSurface(surface);
-
- return texture;
-}
-
int
mf_splash(SDL_Renderer *renderer)
{
@@ -87,7 +57,7 @@ mf_splash(SDL_Renderer *renderer)
free(font_path);
return -1;
}
- title_texture = _mf_splash_text(font, "Maze Fight", &text_color,
+ title_texture = mf_ttf_render(font, "Maze Fight", &text_color,
renderer, &title_rect);
if (title_texture == NULL) {
goto err;
@@ -95,7 +65,7 @@ mf_splash(SDL_Renderer *renderer)
TTF_CloseFont(font);
font = NULL;
title_rect.x = (MF_WINDOW_W - title_rect.w) / 2;
- title_rect.y = MF_SPLASH_WINDOW_P + MF_SPLASH_FORM_P;
+ title_rect.y += MF_SPLASH_WINDOW_P + MF_SPLASH_FORM_P;
/* TODO: Widgets */