X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FState.hpp;fp=src%2Fapp%2FState.hpp;h=86ff0ad36c84852167f4bbb34b321dcdc7d8210b;hb=f5e5e8522b94a6b81a137d4bca7665ef15bcd2c6;hp=2bdd41b238f87518cd56d649add03d0fd11c39c1;hpb=29ee0558fdd951b25f41005ed721241b1f28aefa;p=blank.git diff --git a/src/app/State.hpp b/src/app/State.hpp index 2bdd41b..86ff0ad 100644 --- a/src/app/State.hpp +++ b/src/app/State.hpp @@ -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() { } + }; };