// Copyright (C) 2003 Dolphin Project. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 2.0. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License 2.0 for more details. // A copy of the GPL 2.0 should have been included with the program. // If not, see http://www.gnu.org/licenses/ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ #ifndef _PLUGIN_VIDEOSOFTWARE_CONFIG_DIAG_H_ #define _PLUGIN_VIDEOSOFTWARE_CONFIG_DIAG_H_ #include #include #include "VideoConfig.h" #include #include #include #include #include #include #include #include #include template class BoolSetting : public W { public: BoolSetting(wxWindow* parent, const wxString& label, bool &setting, bool reverse = false, long style = 0); void UpdateValue(wxCommandEvent& ev) { m_setting = (ev.GetInt() != 0) ^ m_reverse; ev.Skip(); } private: bool& m_setting; const bool m_reverse; }; template class IntegerSetting : public wxSpinCtrl { public: IntegerSetting(wxWindow* parent, const wxString& label, T& setting, int minVal, int maxVal, long style = 0); void UpdateValue(wxCommandEvent& ev) { m_setting = ev.GetInt(); ev.Skip(); } private: T& m_setting; }; typedef BoolSetting SettingCheckBox; typedef IntegerSetting U32Setting; class VideoConfigDialog : public wxDialog { public: VideoConfigDialog(wxWindow* parent, const std::string &title, const std::string& ininame); protected: void Event_ClickClose(wxCommandEvent&); void Event_Close(wxCloseEvent&); SWVideoConfig& vconfig; std::string ininame; }; #endif