summaryrefslogtreecommitdiff
path: root/include/core/renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/core/renderer.h')
-rw-r--r--include/core/renderer.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/core/renderer.h b/include/core/renderer.h
new file mode 100644
index 0000000..05e4a07
--- /dev/null
+++ b/include/core/renderer.h
@@ -0,0 +1,35 @@
+#ifndef RUIM_GUI_RENDERER
+#define RUIM_GUI_RENDERER
+
+#include "core/types.h"
+
+#ifdef RUIM_PLATFORM_LINUX
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES3/gl3.h>
+
+struct ruim_surfaceEGL {
+ EGLDisplay display;
+ EGLSurface surface;
+ EGLContext context;
+};
+
+void RuimInitEGL(RuimToplevel *toplevel);
+
+EGLBoolean RuimSwapEGL(RuimToplevel *toplevel);
+
+void RuimDeinitEGL(RuimSurfaceEGL *eglCtx);
+
+struct ruim_rendererGLES {
+ GLuint VBO, VAO, shaderProgram;
+};
+
+struct ruim_rendererGLES RuimSetupGLES(void);
+void RuimResizeGLES(struct ruim_rendererGLES *renderer, int width, int height);
+
+void RuimRenderGLES(struct ruim_rendererGLES *renderer);
+
+#endif /* RUIM_PLATFORM_LINUX */
+
+#endif /* RUIM_GUI_RENDERER */