Files
librefront/src/client/gfx_context.c
T
2025-09-09 09:09:42 +02:00

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);
}