skins: SkinManager + hot-swap (F7), classic/nes a data/skins/
This commit is contained in:
@@ -212,6 +212,14 @@ auto Texture::reLoad() -> bool {
|
||||
return loadFromFile(path_, renderer_);
|
||||
}
|
||||
|
||||
// Reapunta el path emmagatzemat i recarrega: usat pel SkinManager per a
|
||||
// fer hot-swap d'skin mantenint estable el punter Texture* (els Sprites
|
||||
// continuen apuntant al mateix objecte amb contingut actualitzat).
|
||||
auto Texture::reLoadFromPath(const std::string &new_path) -> bool {
|
||||
path_ = new_path;
|
||||
return loadFromFile(path_, renderer_);
|
||||
}
|
||||
|
||||
// Obtiene la textura
|
||||
auto Texture::getSDLTexture() -> SDL_Texture * {
|
||||
return texture_;
|
||||
|
||||
@@ -26,13 +26,14 @@ class Texture {
|
||||
void setAlpha(Uint8 alpha); // Establece el alpha para la modulación
|
||||
|
||||
void render(SDL_Renderer *renderer, int x, int y, const SDL_Rect *clip = nullptr, float zoom_w = 1, float zoom_h = 1, double angle = 0.0, const SDL_Point *center = nullptr, SDL_FlipMode flip = SDL_FLIP_NONE); // Renderiza la textura en un punto específico
|
||||
void setAsRenderTarget(SDL_Renderer *renderer); // Establece la textura como objetivo de renderizado
|
||||
void setAsRenderTarget(SDL_Renderer *renderer); // Establece la textura como objetivo de renderizado
|
||||
|
||||
[[nodiscard]] auto getWidth() const -> int; // Obtiene el ancho de la imagen
|
||||
[[nodiscard]] auto getHeight() const -> int; // Obtiene el alto de la imagen
|
||||
|
||||
auto reLoad() -> bool; // Recarga la textura
|
||||
auto getSDLTexture() -> SDL_Texture *; // Obtiene la textura
|
||||
auto reLoad() -> bool; // Recarga la textura
|
||||
auto reLoadFromPath(const std::string &new_path) -> bool; // Reapunta path_ i recarrega (preserva el Texture*)
|
||||
auto getSDLTexture() -> SDL_Texture *; // Obtiene la textura
|
||||
|
||||
private:
|
||||
// Objetos y punteros
|
||||
|
||||
Reference in New Issue
Block a user