Further objectification of the graphics resource manager

svn-id: r39499
This commit is contained in:
Filippos Karapetis 2009-03-17 23:30:57 +00:00
parent 4edee56b3f
commit e546c60948
7 changed files with 349 additions and 355 deletions

View file

@ -864,6 +864,10 @@ int c_viewinfo(EngineState *s) {
else {
sciprintf("has %d loops:\n", loops);
// FIXME: the initialization of the GFX resource manager should
// be pushed up, and it shouldn't occur here
GfxResManager *_gfx = new GfxResManager(s->gfx_state->resstate);
for (i = 0; i < loops; i++) {
int j, cels;
@ -874,10 +878,11 @@ int c_viewinfo(EngineState *s) {
Common::Point mod;
if (con_can_handle_pixmaps()) {
view_pixmaps = gfxr_get_view(s->gfx_state->resstate, view, &i, &j, palette);
view_pixmaps = _gfx->getView(view, &i, &j, palette);
con_insert_pixmap(gfx_clone_pixmap(view_pixmaps->loops[i].cels[j], s->gfx_state->driver->mode));
}
delete _gfx;
gfxop_get_cel_parameters(s->gfx_state, view, i, j, &width, &height, &mod);
sciprintf(" cel %d: size %dx%d, adj+(%d,%d)\n", j, width, height, mod.x, mod.y);
@ -2011,7 +2016,11 @@ static int c_gfx_flush_resources(EngineState *s) {
gfxop_set_pointer_cursor(s->gfx_state, GFXOP_NO_POINTER);
sciprintf("Flushing resources...\n");
s->visual->widfree(GFXW(s->visual));
gfxr_free_all_resources(s->gfx_state->resstate);
// FIXME: the initialization of the GFX resource manager should
// be pushed up, and it shouldn't occur here
GfxResManager *_gfx = new GfxResManager(s->gfx_state->resstate);
_gfx->freeAllResources();
delete _gfx;
s->visual = NULL;
return 0;