From 43a87590f45aa6e55724d30d0c2d0d34b407a57e Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 17 Jan 2021 18:54:26 +0000 Subject: First cut modernizing and sanitizing --- display.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'display.cpp') diff --git a/display.cpp b/display.cpp index 4317933..b4a42d7 100644 --- a/display.cpp +++ b/display.cpp @@ -1,6 +1,6 @@ #include "display.h" #include -#include +#include Display::Display(int width, int height, const std::string & title) { @@ -14,13 +14,12 @@ Display::Display(int width, int height, const std::string & title) SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - m_window = SDL_CreateWindow( - title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, width, height, SDL_WINDOW_OPENGL); - m_glContext = SDL_GL_CreateContext(m_window); + m_window = m_window.create(SDL_CreateWindow, SDL_DestroyWindow, title.c_str(), SDL_WINDOWPOS_CENTERED, + SDL_WINDOWPOS_CENTERED, width, height, SDL_WINDOW_OPENGL); + m_glContext = m_glContext.create(SDL_GL_CreateContext, SDL_GL_DeleteContext, m_window); - GLenum res = glewInit(); - if (res != GLEW_OK) { - std::cerr << "Glew failed to initialize!" << std::endl; + if (glewInit() != GLEW_OK) { + throw std::runtime_error {"Glew failed to initialize!"}; } glEnable(GL_DEPTH_TEST); @@ -31,20 +30,18 @@ Display::Display(int width, int height, const std::string & title) Display::~Display() { - SDL_GL_DeleteContext(m_glContext); - SDL_DestroyWindow(m_window); SDL_Quit(); } void -Display::Clear(float r, float g, float b, float a) +Display::Clear(float r, float g, float b, float a) const { glClearColor(r, g, b, a); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); } void -Display::SwapBuffers() +Display::SwapBuffers() const { SDL_GL_SwapWindow(m_window); } -- cgit v1.2.3