Simplify GfxContext
This commit is contained in:
+1
-3
@@ -91,9 +91,7 @@ SDL_AppIterate (void *appstate)
|
|||||||
{
|
{
|
||||||
UNUSED (appstate);
|
UNUSED (appstate);
|
||||||
|
|
||||||
GfxContext_prerender (gfx_ctx);
|
GfxContext_render (gfx_ctx);
|
||||||
GfxContext_render_World (gfx_ctx, test_world);
|
|
||||||
GfxContext_postrender (gfx_ctx);
|
|
||||||
|
|
||||||
return SDL_APP_CONTINUE;
|
return SDL_APP_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,15 +46,16 @@ GfxContext_new ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
GfxContext_prerender (GfxContext *self)
|
GfxContext_render (GfxContext *self)
|
||||||
{
|
{
|
||||||
SDL_SetRenderDrawColor (self->renderer, 0, 0, 0, 255);
|
SDL_SetRenderDrawColor (self->renderer, 0, 0, 0, 255);
|
||||||
SDL_RenderClear (self->renderer);
|
SDL_RenderClear (self->renderer);
|
||||||
|
|
||||||
|
if (self->world_texture)
|
||||||
|
{
|
||||||
|
SDL_RenderTexture (self->renderer, self->world_texture, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
GfxContext_postrender (GfxContext *self)
|
|
||||||
{
|
|
||||||
SDL_RenderPresent (self->renderer);
|
SDL_RenderPresent (self->renderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,18 +123,3 @@ GfxContext_cache_World (GfxContext *self, World *world)
|
|||||||
|
|
||||||
SDL_SetRenderTarget (self->renderer, old_target);
|
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_Renderer *renderer;
|
||||||
|
|
||||||
SDL_Texture *world_texture; /* Generated once per every game. */
|
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 *GfxContext_new ();
|
GfxContext *GfxContext_new ();
|
||||||
void GfxContext_prerender (GfxContext * self);
|
void GfxContext_render (GfxContext *self);
|
||||||
void GfxContext_postrender (GfxContext * self);
|
|
||||||
void GfxContext_free (GfxContext * self);
|
void GfxContext_free (GfxContext * self);
|
||||||
|
|
||||||
void GfxContext_cache_World (GfxContext * self, World * world);
|
void GfxContext_cache_World (GfxContext * self, World * world);
|
||||||
void GfxContext_render_World (GfxContext * self, World * world);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user