X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FColorFade.h;h=079d30ea74a44a49f53c0707d6136fc9f97c8a96;hb=350055a7ff27c74882aff8a4d6af2014782f830b;hp=66d8192933e80f78c7b29e2ba6bb59f8e4358bcf;hpb=f7555575e8f2f8b9dbf740628f66e34ff93d8390;p=l2e.git diff --git a/src/graphics/ColorFade.h b/src/graphics/ColorFade.h index 66d8192..079d30e 100644 --- a/src/graphics/ColorFade.h +++ b/src/graphics/ColorFade.h @@ -23,28 +23,36 @@ public: virtual ~ColorFade() { } public: - virtual void EnterState(app::Application &ctrl, SDL_Surface *screen); - virtual void ExitState(app::Application &ctrl, SDL_Surface *screen); - virtual void ResumeState(app::Application &ctrl, SDL_Surface *screen); - virtual void PauseState(app::Application &ctrl, SDL_Surface *screen); - - virtual void Resize(int width, int height); + void SetLeadInTime(int ms) { leadIn = ms; if (ms > 0) leadInDone = false; } + void SetLeadOutTime(int ms) { leadOut = ms; } +public: virtual void HandleEvents(const app::Input &); virtual void UpdateWorld(float deltaT); virtual void Render(SDL_Surface *); +private: + virtual void OnEnterState(SDL_Surface *screen); + virtual void OnExitState(SDL_Surface *screen); + virtual void OnResumeState(SDL_Surface *screen); + virtual void OnPauseState(SDL_Surface *screen); + + virtual void OnResize(int width, int height); + private: void UpdateBlinds(int width, int height); Uint8 GetAlpha() const; private: app::Timer timer; - app::Application *ctrl; app::State *slave; SDL_Surface *blinds; Uint32 color; int duration; + int leadIn; + int leadOut; + bool leadInDone; + bool fadeDone; bool in; bool interactive;