]> git.localhorst.tv Git - blobs.git/blob - src/app/State.hpp
more stolen stuff
[blobs.git] / src / app / State.hpp
1 #ifndef BLOBS_APP_STATE_HPP_
2 #define BLOBS_APP_STATE_HPP_
3
4 #include <SDL.h>
5
6
7 namespace blobs {
8 namespace app {
9
10 class Application;
11
12 class State {
13
14         friend class Application;
15
16         void Handle(const SDL_Event &);
17         void Handle(const SDL_WindowEvent &);
18         void Update(int dt);
19         void Render();
20
21         virtual void OnEnter() { }
22         virtual void OnResume() { }
23         virtual void OnPause() { }
24         virtual void OnExit() { }
25
26         virtual void OnFocus() { }
27         virtual void OnBlur() { }
28         virtual void OnResize() { }
29
30         virtual void OnEvent(const SDL_Event &);
31         virtual void OnUpdate(int dt);
32         virtual void OnRender();
33
34         int ref_count = 0;
35
36 };
37
38 }
39 }
40
41 #endif