Quan canvia de RendererSurface, torna a deixar la que havia, no la de per defecte

This commit is contained in:
2025-03-06 12:09:59 +01:00
parent 60c926a9c9
commit f2bfc970bc
11 changed files with 75 additions and 59 deletions

View File

@@ -174,6 +174,7 @@ void Ending::iniTexts()
// Crea la textura
st.image_surface = std::make_shared<Surface>(WIDTH, HEIGHT);
auto previuos_renderer = Screen::get()->getRendererSurface();
Screen::get()->setRendererSurface(st.image_surface);
text->writeDX(TEXT_STROKE, 2, 2, txt.caption, 1, text_color, 2, shadow_color);
@@ -216,7 +217,7 @@ void Ending::iniTexts()
st.cover_clip_height = HEIGHT;
sprite_texts_.push_back(st);
Screen::get()->setRendererSurface(nullptr);
Screen::get()->setRendererSurface(previuos_renderer);
}
}
@@ -250,6 +251,7 @@ void Ending::iniPics()
// Crea la cover_surface
sp.cover_surface = std::make_shared<Surface>(WIDTH, HEIGHT + 8);
auto previuos_renderer = Screen::get()->getRendererSurface();
Screen::get()->setRendererSurface(sp.cover_surface);
// Rellena la cover_surface con color transparente
@@ -283,7 +285,7 @@ void Ending::iniPics()
sp.cover_clip_height = HEIGHT;
sprite_pics_.push_back(sp);
Screen::get()->setRendererSurface(nullptr);
Screen::get()->setRendererSurface(previuos_renderer);
}
}
@@ -473,6 +475,7 @@ void Ending::checkChangeScene()
void Ending::fillCoverTexture()
{
// Rellena la textura que cubre el texto con color transparente
auto previuos_renderer = Screen::get()->getRendererSurface();
Screen::get()->setRendererSurface(cover_surface_);
cover_surface_->clear(stringToColor("transparent"));
@@ -495,7 +498,7 @@ void Ending::fillCoverTexture()
SDL_Rect rect = {0, 0, 256, options.game.height};
surface->fillRect(&rect, color);
Screen::get()->setRendererSurface(nullptr);
Screen::get()->setRendererSurface(previuos_renderer);
}
// Dibuja la cortinilla de cambio de escena