44 lines
820 B
C
44 lines
820 B
C
#include "gfx_context.h"
|
|
|
|
GfxContext *
|
|
GfxContext_new ()
|
|
{
|
|
GfxContext *self = g_new0 (GfxContext, 1);
|
|
|
|
self->window = SDL_CreateWindow (GAME_NAME, 800, 600, SDL_WINDOW_RESIZABLE);
|
|
|
|
if (!self->window)
|
|
{
|
|
g_critical ("Couldn't create window for context %p: %s", self, SDL_GetError ());
|
|
}
|
|
|
|
self->renderer = SDL_CreateRenderer (self->window, NULL);
|
|
|
|
if (!self->window)
|
|
{
|
|
g_critical ("Couldn't create renderer for context %p: %s", self, SDL_GetError ());
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
void
|
|
GfxContext_prerender (GfxContext *self)
|
|
{
|
|
SDL_RenderClear (self->renderer);
|
|
}
|
|
|
|
void
|
|
GfxContext_postrender (GfxContext *self)
|
|
{
|
|
SDL_RenderPresent (self->renderer);
|
|
}
|
|
|
|
void
|
|
GfxContext_free (GfxContext *self)
|
|
{
|
|
SDL_DestroyRenderer (self->renderer);
|
|
SDL_DestroyWindow (self->window);
|
|
g_free (self);
|
|
}
|