Simplify GfxContext

This commit is contained in:
2025-09-24 19:08:09 +02:00
parent 665e2bdd4e
commit 8d7b8d82d8
3 changed files with 12 additions and 27 deletions
+1 -3
View File
@@ -91,9 +91,7 @@ SDL_AppIterate (void *appstate)
{
UNUSED (appstate);
GfxContext_prerender (gfx_ctx);
GfxContext_render_World (gfx_ctx, test_world);
GfxContext_postrender (gfx_ctx);
GfxContext_render (gfx_ctx);
return SDL_APP_CONTINUE;
}
+6 -20
View File
@@ -46,15 +46,16 @@ GfxContext_new ()
}
void
GfxContext_prerender (GfxContext *self)
GfxContext_render (GfxContext *self)
{
SDL_SetRenderDrawColor (self->renderer, 0, 0, 0, 255);
SDL_RenderClear (self->renderer);
}
void
GfxContext_postrender (GfxContext *self)
{
if (self->world_texture)
{
SDL_RenderTexture (self->renderer, self->world_texture, NULL, NULL);
}
SDL_RenderPresent (self->renderer);
}
@@ -122,18 +123,3 @@ GfxContext_cache_World (GfxContext *self, World *world)
SDL_SetRenderTarget (self->renderer, old_target);
}
void
GfxContext_render_World (GfxContext *self, World *world)
{
UNUSED (world);
if (!self->world_texture)
{
g_warning ("No world texture present");
return;
}
SDL_FRect dest = { 0, 0, 800, 600 };
SDL_RenderTexture (self->renderer, self->world_texture, NULL, &dest);
}
+5 -4
View File
@@ -33,14 +33,15 @@ typedef struct GfxContext
SDL_Renderer *renderer;
SDL_Texture *world_texture; /* Generated once per every game. */
SDL_Texture *player_texture; /* Probably changes every tick. */
SDL_Texture *player_texture; /* Probably changes every tick, but
only parts of it could be modified,
and it could be done
concurrently. */
} GfxContext;
GfxContext *GfxContext_new ();
void GfxContext_prerender (GfxContext * self);
void GfxContext_postrender (GfxContext * self);
void GfxContext_render (GfxContext *self);
void GfxContext_free (GfxContext * self);
void GfxContext_cache_World (GfxContext * self, World * world);
void GfxContext_render_World (GfxContext * self, World * world);