1 // SuperTux 2 // Copyright (C) 2004 Tobas Glaesser <tobi.web@gmx.de> 3 // Copyright (C) 2006 Matthias Braun <matze@braunis.de> 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 #ifndef HEADER_SUPERTUX_SUPERTUX_MENU_OPTIONS_MENU_HPP 19 #define HEADER_SUPERTUX_SUPERTUX_MENU_OPTIONS_MENU_HPP 20 21 #include "gui/menu.hpp" 22 23 class OptionsMenu final : public Menu 24 { 25 public: 26 OptionsMenu(bool complete); 27 ~OptionsMenu() override; 28 29 void menu_action(MenuItem& item) override; 30 31 private: 32 int next_magnification; 33 int next_aspect_ratio; 34 int next_window_resolution; 35 int next_resolution; 36 int next_vsync; 37 int next_sound_volume; 38 int next_music_volume; 39 40 std::vector<std::string> magnifications; 41 std::vector<std::string> aspect_ratios; 42 std::vector<std::string> window_resolutions; 43 std::vector<std::string> resolutions; 44 std::vector<std::string> vsyncs; 45 std::vector<std::string> sound_volumes; 46 std::vector<std::string> music_volumes; 47 48 private: 49 OptionsMenu(const OptionsMenu&) = delete; 50 OptionsMenu& operator=(const OptionsMenu&) = delete; 51 }; 52 53 #endif 54 55 /* EOF */ 56