diff options
Diffstat (limited to 'src/window.cpp')
-rw-r--r-- | src/window.cpp | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/window.cpp b/src/window.cpp deleted file mode 100644 index 143b1d5d..00000000 --- a/src/window.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* ---------------------------------------------------------------------------- - * window.cpp - * - * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License - * See file LICENSE for more details - * ---------------------------------------------------------------------------- - */ - -#include <YAGE/window.h> -#include <GL/glew.h> - -#include <iostream> -#include <stdexcept> - -namespace yage -{ - -Window::Window() = default; - -Window::~Window() -{ - SDL_DestroyWindow(window_); -} - -void Window::create(const std::string &window_name, int width, int height, - unsigned flags) -{ - Uint32 gl_window_states = 0; - - // set the correct input flags - if (flags & WindowFlags::SHOWN) { - gl_window_states |= SDL_WINDOW_OPENGL; - } - if (flags & WindowFlags::HIDDEN) { - gl_window_states |= SDL_WINDOW_HIDDEN; - } - if (flags & WindowFlags::FULLSCREEN) { - gl_window_states |= SDL_WINDOW_FULLSCREEN; - } - if (flags & WindowFlags::BORDERLESS) { - gl_window_states |= SDL_WINDOW_BORDERLESS; - } - - // SDL_GL options - - // SDL_GL_SetAttribute (SDL_GL_CONTEXT_MAJOR_VERSION, 4); - // SDL_GL_SetAttribute (SDL_GL_CONTEXT_MINOR_VERSION, 5); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - - // create the SDL window - window_ = SDL_CreateWindow(window_name.c_str(), SDL_WINDOWPOS_CENTERED, - SDL_WINDOWPOS_CENTERED, width, height, - gl_window_states); - if (window_ == nullptr) { - throw std::runtime_error("SDL_CreateWindow failed"); - } - - // initialize the GL context in the window - SDL_GLContext gl_context = SDL_GL_CreateContext(window_); - if (gl_context == nullptr) { - throw std::runtime_error("SDL_GL_CreateContext failed"); - } - - // initialize glew - GLenum error = glewInit(); - if (error != GLEW_OK) { - throw std::runtime_error("glewInit failed"); - } - - // print out the current OpenGL version to debug - std::cout << "*** OpenGL version: " << glGetString(GL_VERSION) - << " ***\n"; - - // set vsync on instead of custom fps limiting - SDL_GL_SetSwapInterval(1); - // set the clear color to black - glClearColor(0.f, 0.5f, 0.f, 1.f); - // set alpha blending - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); -} - -void Window::swapBuffer() -{ - // swap the window buffer - SDL_GL_SwapWindow(window_); -} - -void Window::clearBuffer() -{ - // set the clear depth - glClearDepth(1.f); - // clears buffer with clear color - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); -} - -} // namespace yage |