utility.h: Change Buffer's interface to be more compatible with SharedBuffer's interf...
[oweals/minetest.git] / src / guiPauseMenu.h
1 /*\r
2 Minetest-c55\r
3 Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>\r
4 \r
5 This program is free software; you can redistribute it and/or modify\r
6 it under the terms of the GNU General Public License as published by\r
7 the Free Software Foundation; either version 2 of the License, or\r
8 (at your option) any later version.\r
9 \r
10 This program is distributed in the hope that it will be useful,\r
11 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 GNU General Public License for more details.\r
14 \r
15 You should have received a copy of the GNU General Public License along\r
16 with this program; if not, write to the Free Software Foundation, Inc.,\r
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 */\r
19 \r
20 #ifndef GUIPAUSEMENU_HEADER\r
21 #define GUIPAUSEMENU_HEADER\r
22 \r
23 #include "common_irrlicht.h"\r
24 #include "modalMenu.h"\r
25 \r
26 class IGameCallback\r
27 {\r
28 public:\r
29         virtual void exitToOS() = 0;\r
30         virtual void disconnect() = 0;\r
31         virtual void changePassword() = 0;\r
32 };\r
33 \r
34 class GUIPauseMenu : public GUIModalMenu\r
35 {\r
36 public:\r
37         GUIPauseMenu(gui::IGUIEnvironment* env,\r
38                         gui::IGUIElement* parent, s32 id,\r
39                         IGameCallback *gamecallback,\r
40                         IMenuManager *menumgr);\r
41         ~GUIPauseMenu();\r
42         \r
43         void removeChildren();\r
44         /*\r
45                 Remove and re-add (or reposition) stuff\r
46         */\r
47         void regenerateGui(v2u32 screensize);\r
48 \r
49         void drawMenu();\r
50 \r
51         bool OnEvent(const SEvent& event);\r
52         \r
53 private:\r
54         IGameCallback *m_gamecallback;\r
55 };\r
56 \r
57 #endif\r
58 \r