glerminal/source/glerminal-private.h

46 lines
700 B
C
Raw Normal View History

2024-05-09 19:42:12 +00:00
#ifndef TERMG_PRIVATE_H
#define TERMG_PRIVATE_H
#include "glerminal.h"
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <stdexcept>
namespace glerminal
{
class glerminal
{
public:
glerminal(glerminal_main_cb main);
~glerminal();
glerminal(const glerminal&) = delete;
glerminal(glerminal&&) = delete;
glerminal& operator=(const glerminal&) = delete;
glerminal& operator=(glerminal&&) = delete;
void run();
void flush();
private:
GLFWwindow* m_window;
unsigned int m_vbo;
unsigned int m_vao;
unsigned int m_program;
glerminal_main_cb m_main;
void init_glfw();
void init_gl();
void deinit_glfw();
void deinit_gl();
};
}
#endif//TERMG_PRIVATE_H