]> git.localhorst.tv Git - l2e.git/blobdiff - src/app/State.h
reworked Application's state stack
[l2e.git] / src / app / State.h
index 7f46c5746c580ddc1ea089acab018d2f3b1f5926..678f2b986d88d69d68366bb829aaebbef47c0124 100644 (file)
@@ -22,9 +22,16 @@ public:
 
 public:
        /// do some setup
+       /// called when the state first enters the stack
        /// @param ctrl the Application running the state
        virtual void EnterState(Application &ctrl, SDL_Surface *screen) = 0;
-       virtual void ExitState() = 0;
+       /// do some cleanup
+       /// called when the state is popped from the stack
+       virtual void ExitState(Application &ctrl, SDL_Surface *screen) = 0;
+       /// called when the state becomes the active one
+       virtual void ResumeState(Application &ctrl, SDL_Surface *screen) = 0;
+       /// called when the state becomes inactive
+       virtual void PauseState(Application &ctrl, SDL_Surface *screen) = 0;
 
        /// adapt the state's graphics to given dimensions
        virtual void Resize(int width, int height) = 0;