aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/gui
diff options
context:
space:
mode:
authorThomas Guillermo Albers Raviola <thomas@thomaslabs.org>2026-01-16 23:02:32 +0100
committerThomas Guillermo Albers Raviola <thomas@thomaslabs.org>2026-01-16 23:02:32 +0100
commit6b8af9cf83851c075c6c9514b1deaa931c2b19a4 (patch)
tree428986b49c32e21d3f7a3c2dfa41858ae0153209 /07-july/src/gui
Initial commit
Diffstat (limited to '07-july/src/gui')
-rw-r--r--07-july/src/gui/gui_renderer.c0
-rw-r--r--07-july/src/gui/gui_renderer.h9
-rw-r--r--07-july/src/gui/widget.c17
-rw-r--r--07-july/src/gui/widget.h13
4 files changed, 39 insertions, 0 deletions
diff --git a/07-july/src/gui/gui_renderer.c b/07-july/src/gui/gui_renderer.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/07-july/src/gui/gui_renderer.c
diff --git a/07-july/src/gui/gui_renderer.h b/07-july/src/gui/gui_renderer.h
new file mode 100644
index 0000000..2c1b57f
--- /dev/null
+++ b/07-july/src/gui/gui_renderer.h
@@ -0,0 +1,9 @@
+#ifndef GUI_RENDERER_H
+#define GUI_RENDERER_H
+
+extern void gui_renderer_init();
+extern void gui_renderer_submit(widget *widget);
+extern void gui_renderer_quit();
+
+
+#endif // GUI_RENDERER_H
diff --git a/07-july/src/gui/widget.c b/07-july/src/gui/widget.c
new file mode 100644
index 0000000..9ed00f7
--- /dev/null
+++ b/07-july/src/gui/widget.c
@@ -0,0 +1,17 @@
+#include "widget.h"
+#include <stdlib.h>
+
+widget_t *Widget_CreateImage(texture_t *texture, int x, int y, int w, int h)
+{
+ widget_t *widget = (widget_t *) malloc( sizeof(widget_t) );
+ *widget = (widget_t){ x, y, w, h, 0, texture };
+
+ glGenBuffers(1, &widget->vbo);
+ glBindBuffer(GL_ARRAY_BUFFER, widget->vbo);
+ glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 4, NULL, GL_DYNAMIC_DRAW);
+}
+
+void Widget_Destroy(widget_t *widget)
+{
+ free(widget);
+}
diff --git a/07-july/src/gui/widget.h b/07-july/src/gui/widget.h
new file mode 100644
index 0000000..91fc4c4
--- /dev/null
+++ b/07-july/src/gui/widget.h
@@ -0,0 +1,13 @@
+#ifndef WIDGET_H
+#define WIDGET_H
+
+#include "GL/glew.h"
+#include "../texture.h"
+
+typedef struct
+{
+ int x, y, w, h;
+ texture_t *texture;
+} widget_t;
+
+#endif // WIDGET_H