/* client/mainmenu.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_MAINMENU_H__ #define __INCLUDED_CLIENT_MAINMENU_H__ #include "ui/window.h" #include "ui/bitmap.h" namespace client { /** * @brief the client's main menu window * The MainMenu contains a number of child menu windows, * of which only one at a time will be visible * */ class MainMenu : public ui::Window { public: MainMenu(ui::Widget *parent = 0); virtual ~MainMenu(); virtual void show(); virtual void hide(); protected: virtual void draw_background(); virtual void resize(); private: /// the menu to show if the application is not connected ui::Window *mainmenu_mainmenu; /// the menu to show if the application is connected but the player has not joined yet ui::Window *mainmenu_joinmenu; /// the menu the show if the application is connected and the player has joined ui::Window *mainmenu_gamemenu; /// the options menu ui::Window *mainmenu_optionsmenu; /// the load game menu ui::Window *mainmenu_loadmenu; /// the save game menu ui::Window *mainmenu_savemenu; /// the connect to server menu ui::Window *mainmenu_connectmenu; std::string mainmenu_background; }; } #endif // __INCLUDED_CLIENT_MAINMENU_H__