Simplify GfxContext
This commit is contained in:
+1
-3
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user