]> git.localhorst.tv Git - l2e.git/blob - ConfigMenu.h
f7dda534966a2672da11e04aaddee6f8bab60c7a
[l2e.git] / ConfigMenu.h
1 #ifndef MENU_CONFIGMENU_H_
2 #define MENU_CONFIGMENU_H_
3
4 #include "fwd.h"
5 #include "../app/State.h"
6 #include "../geometry/Vector.h"
7 #include "../graphics/Menu.h"
8
9 namespace menu {
10
11 class ConfigMenu
12 : public app::State {
13
14 public:
15         explicit ConfigMenu(PartyMenu *parent);
16
17 public:
18         virtual void HandleEvents(const app::Input &);
19         virtual void UpdateWorld(float deltaT);
20         virtual void Render(SDL_Surface *);
21
22 public:
23         int Width() const;
24         int Height() const;
25
26 private:
27         virtual void OnEnterState(SDL_Surface *screen);
28         virtual void OnExitState(SDL_Surface *screen);
29         virtual void OnResumeState(SDL_Surface *screen);
30         virtual void OnPauseState(SDL_Surface *screen);
31
32         virtual void OnResize(int width, int height);
33
34         void RenderHeadline(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
35         void RenderMenu(SDL_Surface *screen, const geometry::Vector<int> &offset) const;
36
37 private:
38         PartyMenu *parent;
39         graphics::Menu<int> configMenu;
40
41 };
42
43 }
44
45 #endif /* MENU_CONFIGMENU_H_ */