aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/gui
diff options
context:
space:
mode:
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