summaryrefslogtreecommitdiff
path: root/in_practice/breakout/text.h
diff options
context:
space:
mode:
Diffstat (limited to 'in_practice/breakout/text.h')
-rw-r--r--in_practice/breakout/text.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/in_practice/breakout/text.h b/in_practice/breakout/text.h
new file mode 100644
index 0000000..1056498
--- /dev/null
+++ b/in_practice/breakout/text.h
@@ -0,0 +1,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