summaryrefslogtreecommitdiff
path: root/in_practice/breakout/text.h
blob: 1056498547f0bee4eaec8681ea2a6f66150ededa (plain)
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