From f75620d8d873af217fffd3c574463a1931ae54c1 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Tue, 03 Aug 2021 00:07:46 -0400 Subject: splash: Align text by the baseline And factor out text rendering into a shared interface. --- (limited to 'src/splash.c') 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 */ -- cgit v0.9.1