summaryrefslogtreecommitdiff
path: root/gfx
diff options
context:
space:
mode:
Diffstat (limited to 'gfx')
-rw-r--r--gfx/window.cpp7
-rw-r--r--gfx/window.h7
2 files changed, 8 insertions, 6 deletions
diff --git a/gfx/window.cpp b/gfx/window.cpp
index 2e3c843..dd300a7 100644
--- a/gfx/window.cpp
+++ b/gfx/window.cpp
@@ -3,10 +3,9 @@
#include <stdexcept>
Window::Window(int width, int height, const std::string & title) :
- m_window {m_window.create(SDL_CreateWindow, SDL_DestroyWindow, title.c_str(),
- static_cast<int>(SDL_WINDOWPOS_CENTERED), static_cast<int>(SDL_WINDOWPOS_CENTERED), width, height,
- static_cast<Uint32>(SDL_WINDOW_OPENGL))},
- m_glContext {m_glContext.create(SDL_GL_CreateContext, SDL_GL_DeleteContext, m_window)}
+ m_window {title.c_str(), static_cast<int>(SDL_WINDOWPOS_CENTERED), static_cast<int>(SDL_WINDOWPOS_CENTERED), width,
+ height, static_cast<Uint32>(SDL_WINDOW_OPENGL)},
+ m_glContext {m_window}
{
if (glewInit() != GLEW_OK) {
throw std::runtime_error {"Glew failed to initialize!"};
diff --git a/gfx/window.h b/gfx/window.h
index 3ac583f..252ccaa 100644
--- a/gfx/window.h
+++ b/gfx/window.h
@@ -19,8 +19,11 @@ public:
void SwapBuffers() const;
private:
- wrapped_ptr<SDL_Window> m_window;
- wrapped_ptr<std::remove_pointer_t<SDL_GLContext>> m_glContext;
+ using GL_Context = std::remove_pointer_t<SDL_GLContext>;
+ using SDL_WindowPtr = wrapped_ptrt<SDL_Window, SDL_CreateWindow, SDL_DestroyWindow>;
+ using SDL_GLContextPtr = wrapped_ptrt<GL_Context, SDL_GL_CreateContext, SDL_GL_DeleteContext>;
+ SDL_WindowPtr m_window;
+ SDL_GLContextPtr m_glContext;
};
#endif