1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#ifndef TEXT_H
#define TEXT_H
#include "types.h"
#include "my_math.h"
struct text_char {
u32 texture;
v2 size;
v2 bearing;
u32 advance;
};
struct text_renderer {
struct text_char chars[128];
u32 shader;
u32 vao;
u32 vbo;
};
struct text_renderer init_text_renderer(i32 width, i32 height);
void load_font(struct text_renderer *renderer, const char *dir, const char *filename, u32 size);
v2 get_text_size(struct text_renderer renderer, const char *text, f32 scale);
void render_text(struct text_renderer renderer, const char *text, v2 pos, f32 scale, v3 color);
void render_text_centered(struct text_renderer renderer, const char *text, v2 pos, f32 scale, v3 color);
#endif
|