X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FState.hpp;h=86ff0ad36c84852167f4bbb34b321dcdc7d8210b;hb=045a6ec084bf1fb4df3c6ade4a88932cf61bed23;hp=2bdd41b238f87518cd56d649add03d0fd11c39c1;hpb=afd253b2dd10fdf2d4655d3d4a5766e6aa8c1a2c;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() { } + }; };