#include "window.h"
#include "../util/util.h"
#include <stdlib.h>
window_t* Window_Create(const char* title, Uint32 width, Uint32 height)
{
window_t* window = (window_t*) malloc(sizeof(window_t));
window->title = title;
window->Width = width;
window->Height = height;
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
window->window = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
width, height, SDL_WINDOW_OPENGL);
if(window->window == NULL)
Util_FatalError( SDL_GetError() );
window->context = SDL_GL_CreateContext(window->window);
if(window->context == NULL)
Util_FatalError( SDL_GetError() );
glViewport(0, 0, width, height);
return window;
}
void Window_Resize(window_t* window, Uint32 width, Uint32 height)
{
window->Width = width;
window->Height = height;
SDL_SetWindowSize(window->window, width, height);
glViewport(0, 0, width, height);
}
void Window_Update(window_t* window)
{
SDL_GL_SwapWindow(window->window);
}
void Window_Destroy(window_t* window)
{
SDL_GL_DeleteContext(window->context);
SDL_DestroyWindow(window->window);
free(window);
}