aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.cpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-09-09 07:55:22 +0100
committerYann Herklotz <ymherklotz@gmail.com>2017-09-09 07:55:22 +0100
commit60072c1d8089ffd3294e76636198d14710be95b8 (patch)
tree511d459e9afe69ca58d05880eb53ce44a9a183c6 /src/window.cpp
parent660996bd750dbb5fcdce85845ee6b260f3ed23eb (diff)
downloadYAGE-60072c1d8089ffd3294e76636198d14710be95b8.tar.gz
YAGE-60072c1d8089ffd3294e76636198d14710be95b8.zip
Restructuring
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp97
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