]> git.localhorst.tv Git - blank.git/blobdiff - src/app/State.hpp
enhanced application state control
[blank.git] / src / app / State.hpp
index 2bdd41b238f87518cd56d649add03d0fd11c39c1..86ff0ad36c84852167f4bbb34b321dcdc7d8210b 100644 (file)
@@ -6,16 +6,28 @@
 
 namespace blank {
 
+class Application;
 class Viewport;
 
 struct State {
 
+       friend class Application;
+
        virtual void Handle(const SDL_Event &) = 0;
 
        virtual void Update(int dt) = 0;
 
        virtual void Render(Viewport &) = 0;
 
+
+private:
+       int ref_count = 0;
+
+       virtual void OnEnter() { }
+       virtual void OnResume() { }
+       virtual void OnPause() { }
+       virtual void OnExit() { }
+
 };
 
 };