Imposible canviar la rendererSurface

This commit is contained in:
2025-03-05 18:51:36 +01:00
parent d41b0cb31c
commit 70a50f5117
16 changed files with 199 additions and 257 deletions

View File

@@ -75,8 +75,7 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer)
}
// Crea la surface donde se dibujan los graficos del juego
game_surface_data_ = std::make_shared<std::shared_ptr<SurfaceData>>(std::make_shared<SurfaceData>(options.game.width, options.game.height));
game_surface_ = std::make_shared<Surface>(game_surface_data_, options.game.width, options.game.height);
game_surface_ = std::make_shared<Surface>(nullptr, options.game.width, options.game.height);
game_surface_->loadPalette(palettes_.front());
// Crea la surface donde se dibujan los graficos del juego
@@ -115,7 +114,12 @@ void Screen::clearSurface(Uint8 index)
void Screen::start()
{
SDL_SetRenderTarget(renderer_, game_texture_);
setRenderSurfaceData(nullptr);
setRendererSurface(nullptr);
}
// Prepara para empezar a dibujar en la textura del borde
void Screen::startDrawOnBorder()
{
}
// Vuelca el contenido del renderizador en pantalla
@@ -373,9 +377,9 @@ void Screen::resetShaders()
}
// Establece el renderizador para las surfaces
void Screen::setRenderSurfaceData(std::shared_ptr<Surface> surface)
void Screen::setRendererSurface(std::shared_ptr<Surface> surface)
{
(surface) ? game_surface_->redirectSurfaceDataTo(surface) : game_surface_->restoreOriginalSurfaceData();
(surface) ? game_surface_->setSurfaceDest(surface) : game_surface_->setSurfaceDest(nullptr);
}
// Cambia la paleta