31 lines
809 B
C++
31 lines
809 B
C++
#pragma once
|
|
|
|
#include "core/jail/jdraw8.hpp"
|
|
|
|
namespace scenes {
|
|
|
|
// Embolcall fi damunt de la màquina d'estats de fade de jdraw8
|
|
// (`JD8_FadeStart*` / `JD8_FadeTickStep`). Exposa una API time-based
|
|
// però internament avança un pas del fade per cada crida a `tick()`.
|
|
// La raó de tindre-ho com a classe a banda: que una escena no puga
|
|
// cridar accidentalment a `JD8_FadeOut`/`JD8_FadeToPal` (els shims
|
|
// bloquejants vells) i que el `done()` siga consultable com la resta
|
|
// dels helpers.
|
|
class PaletteFade {
|
|
public:
|
|
PaletteFade() = default;
|
|
|
|
void startFadeOut();
|
|
void startFadeTo(JD8_Palette target);
|
|
|
|
void tick(int delta_ms);
|
|
|
|
bool active() const { return active_; }
|
|
bool done() const { return !active_; }
|
|
|
|
private:
|
|
bool active_{false};
|
|
};
|
|
|
|
} // namespace scenes
|