1 /* 2 * The ManaPlus Client 3 * Copyright (C) 2004-2009 The Mana World Development Team 4 * Copyright (C) 2009-2010 The Mana Developers 5 * Copyright (C) 2011-2019 The ManaPlus Developers 6 * Copyright (C) 2019-2021 Andrei Karas 7 * 8 * This file is part of The ManaPlus Client. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program. If not, see <http://www.gnu.org/licenses/>. 22 */ 23 24 #ifndef GUI_WIDGETS_TABS_SETUP_VIDEO_H 25 #define GUI_WIDGETS_TABS_SETUP_VIDEO_H 26 27 #include "gui/widgets/tabs/setuptab.h" 28 29 #include "listeners/keylistener.h" 30 31 class Button; 32 class CheckBox; 33 class DropDown; 34 class Label; 35 class ListBox; 36 class ModeListModel; 37 class OpenGLListModel; 38 class Slider; 39 class TextDialog; 40 41 class Setup_Video final : public SetupTab, 42 public KeyListener 43 { 44 public: 45 explicit Setup_Video(const Widget2 *const widget); 46 47 A_DELETE_COPY(Setup_Video) 48 49 ~Setup_Video() override final; 50 51 void apply() override final; 52 53 void cancel() override final; 54 55 void action(const ActionEvent &event) override final; 56 57 private: 58 bool mFullScreenEnabled; 59 RenderType mOpenGLEnabled; 60 int mFps; 61 int mAltFps; 62 ModeListModel *mModeListModel; 63 OpenGLListModel *mOpenGLListModel; 64 ListBox *mModeList; 65 CheckBox *mFsCheckBox; 66 DropDown *mOpenGLDropDown; 67 CheckBox *mFpsCheckBox; 68 Slider *mFpsSlider; 69 Label *mFpsLabel; 70 Slider *mAltFpsSlider; 71 Label *mAltFpsLabel; 72 #if !defined(ANDROID) && !defined(__APPLE__) && !defined(__native_client__) 73 Button *mDetectButton; 74 #endif // !defined(ANDROID) && !defined(__APPLE__) && 75 // !defined(__native_client__) 76 TextDialog *mDialog; 77 bool mCustomCursorEnabled; 78 bool mEnableResize; 79 bool mNoFrame; 80 #ifdef USE_SDL2 81 bool mAllowHighDPI; 82 CheckBox *mAllowHighDPICheckBox; 83 #endif // USE_SDL2 84 CheckBox *mCustomCursorCheckBox; 85 CheckBox *mEnableResizeCheckBox; 86 CheckBox *mNoFrameCheckBox; 87 }; 88 89 #endif // GUI_WIDGETS_TABS_SETUP_VIDEO_H 90