From f97cb9ea10da632bb2edc46c8a7feec6a5b5872c Mon Sep 17 00:00:00 2001 From: wolfee Date: Mon, 23 Jun 2025 01:30:14 +0200 Subject: [PATCH] [Renderers/SDL] Font sizing is ignored (#444) --- examples/SDL3-simple-demo/main.c | 1 + renderers/SDL2/clay_renderer_SDL2.c | 2 ++ renderers/SDL3/clay_renderer_SDL3.c | 1 + 3 files changed, 4 insertions(+) diff --git a/examples/SDL3-simple-demo/main.c b/examples/SDL3-simple-demo/main.c index de4aa3d..ee9f605 100644 --- a/examples/SDL3-simple-demo/main.c +++ b/examples/SDL3-simple-demo/main.c @@ -32,6 +32,7 @@ static inline Clay_Dimensions SDL_MeasureText(Clay_StringSlice text, Clay_TextEl TTF_Font *font = fonts[config->fontId]; int width, height; + TTF_SetFontSize(font, config->fontSize); if (!TTF_GetStringSize(font, text.chars, text.length, &width, &height)) { SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Failed to measure text: %s", SDL_GetError()); } diff --git a/renderers/SDL2/clay_renderer_SDL2.c b/renderers/SDL2/clay_renderer_SDL2.c index 6eccb01..6372ba7 100644 --- a/renderers/SDL2/clay_renderer_SDL2.c +++ b/renderers/SDL2/clay_renderer_SDL2.c @@ -23,6 +23,7 @@ static Clay_Dimensions SDL2_MeasureText(Clay_StringSlice text, Clay_TextElementC SDL2_Font *fonts = (SDL2_Font*)userData; TTF_Font *font = fonts[config->fontId].font; + TTF_SetFontSize(font, config->fontSize); char *chars = (char *)calloc(text.length + 1, 1); memcpy(chars, text.chars, text.length); int width = 0; @@ -294,6 +295,7 @@ static void Clay_SDL2_Render(SDL_Renderer *renderer, Clay_RenderCommandArray ren char *cloned = (char *)calloc(config->stringContents.length + 1, 1); memcpy(cloned, config->stringContents.chars, config->stringContents.length); TTF_Font* font = fonts[config->fontId].font; + TTF_SetFontSize(font, config->fontSize); SDL_Surface *surface = TTF_RenderUTF8_Blended(font, cloned, (SDL_Color) { .r = (Uint8)config->textColor.r, .g = (Uint8)config->textColor.g, diff --git a/renderers/SDL3/clay_renderer_SDL3.c b/renderers/SDL3/clay_renderer_SDL3.c index b918c97..e0a4829 100644 --- a/renderers/SDL3/clay_renderer_SDL3.c +++ b/renderers/SDL3/clay_renderer_SDL3.c @@ -164,6 +164,7 @@ static void SDL_Clay_RenderClayCommands(Clay_SDL3RendererData *rendererData, Cla case CLAY_RENDER_COMMAND_TYPE_TEXT: { Clay_TextRenderData *config = &rcmd->renderData.text; TTF_Font *font = rendererData->fonts[config->fontId]; + TTF_SetFontSize(font, config->fontSize); TTF_Text *text = TTF_CreateText(rendererData->textEngine, font, config->stringContents.chars, config->stringContents.length); TTF_SetTextColor(text, config->textColor.r, config->textColor.g, config->textColor.b, config->textColor.a); TTF_DrawRendererText(text, rect.x, rect.y); -- 2.39.5