FADE_* → enum class Fade::Type
This commit is contained in:
@@ -2,14 +2,17 @@
|
||||
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
// Tipos de fundido
|
||||
constexpr int FADE_FULLSCREEN = 0;
|
||||
constexpr int FADE_CENTER = 1;
|
||||
constexpr int FADE_RANDOM_SQUARE = 2;
|
||||
#include <cstdint>
|
||||
|
||||
// Clase Fade
|
||||
class Fade {
|
||||
public:
|
||||
enum class Type : std::uint8_t {
|
||||
FULLSCREEN,
|
||||
CENTER,
|
||||
RANDOM_SQUARE
|
||||
};
|
||||
|
||||
explicit Fade(SDL_Renderer *renderer); // Constructor
|
||||
~Fade(); // Destructor
|
||||
|
||||
@@ -21,23 +24,23 @@ class Fade {
|
||||
[[nodiscard]] auto hasEnded() const -> bool; // Comprueba si ha terminado la transicion
|
||||
[[nodiscard]] auto isEnabled() const -> bool; // Comprueba si está activo
|
||||
|
||||
void setFadeType(Uint8 fade_type); // Establece el tipo de fade
|
||||
void setFadeType(Type fade_type); // Establece el tipo de fade
|
||||
|
||||
private:
|
||||
void renderFadeFullscreen(); // Helper de render: tipo FADE_FULLSCREEN
|
||||
void renderFadeCenter(); // Helper de render: tipo FADE_CENTER
|
||||
void renderFadeRandomSquare(); // Helper de render: tipo FADE_RANDOM_SQUARE
|
||||
void renderFadeFullscreen(); // Helper de render: tipo FULLSCREEN
|
||||
void renderFadeCenter(); // Helper de render: tipo CENTER
|
||||
void renderFadeRandomSquare(); // Helper de render: tipo RANDOM_SQUARE
|
||||
|
||||
SDL_Renderer *renderer_ = nullptr; // El renderizador de la ventana
|
||||
SDL_Texture *backbuffer_ = nullptr; // Textura para usar como backbuffer
|
||||
Uint8 fade_type_ = FADE_FULLSCREEN; // Tipo de fade a realizar
|
||||
Type fade_type_{Type::FULLSCREEN}; // Tipo de fade a realizar
|
||||
Uint16 counter_ = 0; // Contador interno
|
||||
bool enabled_ = false; // Indica si el fade está activo
|
||||
bool finished_ = false; // Indica si ha terminado la transición
|
||||
Uint8 r_ = 0, g_ = 0, b_ = 0; // Colores para el fade
|
||||
Uint8 r_original_ = 0, g_original_ = 0, b_original_ = 0; // Colores originales para FADE_RANDOM_SQUARE
|
||||
Uint32 last_square_ticks_ = 0; // Ticks del último cuadrado dibujado (FADE_RANDOM_SQUARE)
|
||||
Uint16 squares_drawn_ = 0; // Número de cuadrados dibujados (FADE_RANDOM_SQUARE)
|
||||
Uint8 r_original_ = 0, g_original_ = 0, b_original_ = 0; // Colores originales para RANDOM_SQUARE
|
||||
Uint32 last_square_ticks_ = 0; // Ticks del último cuadrado dibujado (RANDOM_SQUARE)
|
||||
Uint16 squares_drawn_ = 0; // Número de cuadrados dibujados (RANDOM_SQUARE)
|
||||
bool fullscreen_done_ = false; // Indica si el fade fullscreen ha terminado la fase de fundido
|
||||
SDL_Rect rect1_{}; // Rectangulo usado para crear los efectos de transición
|
||||
SDL_Rect rect2_{}; // Rectangulo usado para crear los efectos de transición
|
||||
|
||||
Reference in New Issue
Block a user