aboutsummaryrefslogtreecommitdiffstats
path: root/renderer.c
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-02-23 22:10:26 -0500
committerSam Anthony <sam@samanthony.xyz>2025-02-23 22:10:26 -0500
commit093cb6f9acb50e5b385e596861c549a9415ca741 (patch)
treed31fe24d66dc60ba04b6c594ec3155813a11af0c /renderer.c
parent0039ce7aa183efe24bd0324022eb89d004506829 (diff)
downloadvolute-093cb6f9acb50e5b385e596861c549a9415ca741.zip
store font pointer in microui context
Diffstat (limited to 'renderer.c')
-rw-r--r--renderer.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/renderer.c b/renderer.c
index 94b7a41..cf9e6d8 100644
--- a/renderer.c
+++ b/renderer.c
@@ -44,13 +44,11 @@ static void clear(void);
static void render_command(mu_Command *cmd);
static void clip(mu_Rect rect);
static void draw_rect(mu_Rect rect, mu_Color color);
-static void draw_text(mu_Vec2 pos, mu_Color color, const char *str);
+static void draw_text(mu_Font font, mu_Vec2 pos, mu_Color color, const char *str);
static SDL_Window *window = NULL;
static SDL_Renderer *renderer = NULL;
-static TTF_Font *font = NULL;
-
/* Initialize the window and renderer. Returns non-zero on error. */
int
@@ -68,11 +66,12 @@ r_init(mu_Context *ctx) {
fprintf(stderr, "%s\n", SDL_GetError());
return 1;
}
- font = TTF_OpenFont(FONT, FONTSIZE);
+ TTF_Font *font = TTF_OpenFont(FONT, FONTSIZE);
if (!font) {
fprintf(stderr, "Failed to open font %s\n", FONT);
return 1;
}
+ ctx->style->font = font;
print_info();
@@ -94,7 +93,7 @@ print_info(void) {
}
static int
-text_width(mu_Font mufont, const char *str, int len) {
+text_width(mu_Font font, const char *str, int len) {
if (!str || !*str) { return 0; }
int w = 0;
@@ -106,7 +105,7 @@ text_width(mu_Font mufont, const char *str, int len) {
}
static int
-text_height(mu_Font mufont) {
+text_height(mu_Font font) {
return TTF_FontHeight(font);
}
@@ -187,7 +186,7 @@ render_command(mu_Command *cmd) {
draw_rect(cmd->rect.rect, cmd->rect.color);
}
break; case MU_COMMAND_TEXT: {
- draw_text(cmd->text.pos, cmd->text.color, cmd->text.str);
+ draw_text(cmd->text.font, cmd->text.pos, cmd->text.color, cmd->text.str);
}
}
}
@@ -212,7 +211,7 @@ draw_rect(mu_Rect rect, mu_Color color) {
}
static void
-draw_text(mu_Vec2 pos, mu_Color color, const char *str) {
+draw_text(mu_Font font, mu_Vec2 pos, mu_Color color, const char *str) {
if (!str || !*str) { return; }
SDL_Color sdl_color = {color.r, color.g, color.b, color.a};