diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2024-02-05 16:36:47 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2024-02-05 16:48:20 +0000 |
| commit | e85f81ec109782a01f1f741d4c2ed5f21af0c124 (patch) | |
| tree | 8708c742b296de20e2d54ef9fa8ea7c2036d3d82 /src/ui/rendering.c | |
| parent | 457a4a3b1f00bf4d6c31b693085aa7150d2dcded (diff) | |
Organize the sourcefiles
Diffstat (limited to 'src/ui/rendering.c')
| -rw-r--r-- | src/ui/rendering.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/ui/rendering.c b/src/ui/rendering.c new file mode 100644 index 0000000..1516736 --- /dev/null +++ b/src/ui/rendering.c @@ -0,0 +1,63 @@ +#include <stdbool.h> +#include <stdio.h> +#include <string.h> + +#define ENGINE_INTERNALS + +#include <engine/engine.h> +#include <engine/rendering.h> + +extern Platform* GLOBAL_PLATFORM; + +extern const char* uitype_str[]; + +void render_uitree(Window* w, UITree* t) { + switch (t->type) { + case uitype_container: + render_container(w, &t->container); + break; + case uitype_button: + render_button(w, &t->button); + break; + case uitype_title: + render_title(w, &t->title); + break; + case uitype_text: + render_text(w, &t->text); + break; + default: + if (t->type >= uitype_MAX) { + ERROR("Unknown uitype: %d", t->type); + } else { + WARN("Rendering not implemented for %s", uitype_str[t->type]); + } + break; + } +} + +void render_container(Window* w, UITree_container* t) { + + if (t->children != NULL && t->children_len > 0) { + for (usize i = 0; i < t->children_len; i++) { + render_uitree(w, t->children[i]); + } + } +} + +void render_button(Window* w, UITree_button* t) { +} + +void render_title(Window* w, UITree_title* t) { +} + +void render_text(Window* w, UITree_text* t) { +} + +i64 add_texture(struct Resources* resptr, Texture* t) { + return 0; +} + +i64 engine_render_text(i32 font_id, Engine_color fg, char* text, + v2_i32* size_out, bool wrapped) { + return 0; +} |
