1 #pragma once
2 #include <algorithm>
3 #include <functional>
4 #include <string>
5 
6 #include "snoutlib/menu.h"
7 #include "snoutlib/mfont.h"
8 #include "snoutlib/settings.h"
9 
10 typedef vector<Menu *> vec_menup;
11 
12 class GameMenu
13 {
14   MenuSystem m_menusystem;
15   vec_menup m_menus;
16 
17   void create_menus(void);
18   void process_action(str_pair_t action);
19 
20 public:
21   GameMenu();
22   ~GameMenu();
23 
24   void draw(void);
25   void key_action(int key);
26   void mouse_action(int button);
27   void mouse_moved(void);
28   void mouse_wheel(int dir);
29   void switch_to_item(const int item);
30   void switch_to_menu(const string& menu);
31 };
32