diff options
Diffstat (limited to 'include/core/renderer.h')
| -rw-r--r-- | include/core/renderer.h | 35 |
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 */ |