add the text primitive, finally

This commit is contained in:
2024-08-22 23:41:52 -03:00
parent 0f03c18806
commit 9892bf71dc
13 changed files with 329 additions and 34 deletions

View File

@ -17,6 +17,34 @@ static void title_tick(struct state *state) {
m_sprite("/assets/title.png", ((t_frect) {
(RENDER_BASE_WIDTH / 2) - (320 / 2), 64, 320, 128 }));
/* draw the tick count as an example of dynamic text */
size_t text_str_len = snprintf(NULL, 0, "%ld", state->ctx->tick_count) + 1;
char *text_str = cmalloc(text_str_len);
snprintf(text_str, text_str_len, "%ld", state->ctx->tick_count);
const char *font = "fonts/kenney-pixel.ttf";
int text_h = 32;
int text_w = get_text_width(text_str, text_h, font);
push_rectangle(
(t_frect) {
.x = 0,
.y = 0,
.w = (float)text_w,
.h = (float)text_h,
},
(t_color) { 0, 0, 0, 255 }
);
push_text(
text_str,
(t_fvec2){ 0, 0 },
text_h,
(t_color) { 255, 255, 255, 255 },
font
);
free(text_str);
}