X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FState.h;h=84082aeb8f322bf5a956378ef6aaecce57051447;hb=4309d259becd96ead792678257e910c03a6b4a3d;hp=2a4b5e1bfd93176b8b9b4ebea58dfcfe9f519e8c;hpb=3f8fac16c7ae2cbe7da47b98aba9b558825723e7;p=l2e.git diff --git a/src/app/State.h b/src/app/State.h index 2a4b5e1..84082ae 100644 --- a/src/app/State.h +++ b/src/app/State.h @@ -1,14 +1,11 @@ -/* - * State.h - * - * Created on: Apr 8, 2012 - * Author: holy - */ - #ifndef APP_APPLICATIONSTATE_H_ #define APP_APPLICATIONSTATE_H_ -#include "fwd.h" +namespace app { + class Application; + class Input; +} + #include "Timer.h" #include @@ -28,9 +25,9 @@ public: /// Called by Application when popping this state. void ExitState(Application &ctrl, SDL_Surface *screen); /// Called by Application when this state becomes the top state. - void ResumeState(Application &ctrl, SDL_Surface *screen); + void ResumeState(SDL_Surface *screen); /// Called by Application when this state no longer is the top state. - void PauseState(Application &ctrl, SDL_Surface *screen); + void PauseState(SDL_Surface *screen); /// Called by Application on SDL window resize events. void Resize(int width, int height); @@ -38,7 +35,7 @@ public: /// Handle interactive events such as input and timers. virtual void HandleEvents(const Input &) = 0; /// Update the time-dependant world representation. - virtual void UpdateWorld(float deltaT) = 0; + virtual void UpdateWorld(Uint32 deltaMs) = 0; /// Draw a picture of the world. virtual void Render(SDL_Surface *) = 0; @@ -54,14 +51,14 @@ private: /// can not be done by the constructor. /// Called when the state first enters the stack. /// @param ctrl the Application running the state - virtual void OnEnterState(Application &ctrl, SDL_Surface *screen) = 0; + virtual void OnEnterState(SDL_Surface *screen) = 0; /// Do some cleanup. /// Called when the state is popped from the stack. - virtual void OnExitState(Application &ctrl, SDL_Surface *screen) = 0; + virtual void OnExitState(SDL_Surface *screen) = 0; /// Called when the state becomes the active one. - virtual void OnResumeState(Application &ctrl, SDL_Surface *screen) = 0; + virtual void OnResumeState(SDL_Surface *screen) = 0; /// Called when the state becomes inactive. - virtual void OnPauseState(Application &ctrl, SDL_Surface *screen) = 0; + virtual void OnPauseState(SDL_Surface *screen) = 0; /// Adapt the state's graphics to given dimensions. /// NOTE: currently, this is only called for the stack top and not @@ -77,15 +74,15 @@ public: /// Timers handle intended for graphics, sync'ed with world time. /// These timers are only updated for the stack top and thus appear paused /// when the state is visible (roughly). - Timers &PhysicsTimers() { return physicsTimers; } + Timers &PhysicsTimers() { return physicsTimers; } private: Application *ctrl; Timers graphicsTimers; - Timers physicsTimers; + Timers physicsTimers; }; } -#endif /* APP_STATE_H_ */ +#endif