1 // This file is part of Dust Racing 2D. 2 // Copyright (C) 2012 Jussi Lind <jussi.lind@iki.fi> 3 // 4 // Dust Racing 2D is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // Dust Racing 2D is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with Dust Racing 2D. If not, see <http://www.gnu.org/licenses/>. 15 16 #ifndef MAINMENU_HPP 17 #define MAINMENU_HPP 18 19 #include <QObject> 20 21 #include "surfacemenu.hpp" 22 23 namespace MTFH { 24 class MenuManager; 25 } 26 class Scene; 27 28 //! The main menu of the game. 29 class MainMenu : public QObject, public SurfaceMenu 30 { 31 Q_OBJECT 32 33 public: 34 static std::string MenuId; 35 36 //! Constructor. 37 MainMenu(MTFH::MenuManager & menuManager, Scene & scene, int width, int height); 38 39 signals: 40 41 void exitGameRequested(); 42 43 private: 44 void createMenuItems(); 45 46 void createSubMenus(); 47 48 MTFH::MenuManager & m_menuManager; 49 50 Scene & m_scene; 51 }; 52 53 #endif // MAINMENU_HPP 54