diff options
Diffstat (limited to 'src/libjin/render/window.h')
-rw-r--r-- | src/libjin/render/window.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/libjin/render/window.h b/src/libjin/render/window.h new file mode 100644 index 0000000..f29c82d --- /dev/null +++ b/src/libjin/render/window.h @@ -0,0 +1,53 @@ +#ifndef __JIN_RENDER_WINDOW +#define __JIN_RENDER_WINDOW +#include "SDL2/SDL.h" +namespace jin +{ +namespace render +{ + class Window + { + public: + + void init(int w, int h, const char* t); + + SDL_Window* getWnd(); + + SDL_GLContext getCtx(); + + static inline Window* get() + { + return (g_wnd ? g_wnd : (g_wnd = new Window())); + } + + inline int Window::getW() + { + return w; + } + + inline int Window::getH() + { + return h; + } + + inline void Window::swapBuffers() + { + if (wnd) + SDL_GL_SwapWindow(wnd); + } + private: + + Window(); + ~Window(); + + static Window* g_wnd; + + SDL_Window* wnd; + + SDL_GLContext ctx; + + int w, h; + }; +} +} +#endif
\ No newline at end of file |