diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-09-09 07:55:22 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-09-09 07:55:22 +0100 |
commit | 60072c1d8089ffd3294e76636198d14710be95b8 (patch) | |
tree | 511d459e9afe69ca58d05880eb53ce44a9a183c6 /src/window.cpp | |
parent | 660996bd750dbb5fcdce85845ee6b260f3ed23eb (diff) | |
download | YAGE-60072c1d8089ffd3294e76636198d14710be95b8.tar.gz YAGE-60072c1d8089ffd3294e76636198d14710be95b8.zip |
Restructuring
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 |