// Copyright (C) 2003-2008 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 __OGL_CONFIGDIALOG_h__ #define __OGL_CONFIGDIALOG_h__ #include #include #include #include #include #include #include #include #include #include #include #include class ConfigDialog : public wxDialog { public: ConfigDialog(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("OpenGL Plugin Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE); virtual ~ConfigDialog(); void CloseClick(wxCommandEvent& event); void AddFSReso(char *reso); void AddWindowReso(char *reso); void AddRenderBackend(const char *backend); void AddAAMode(int mode); void CreateGUIControls(); // Combo box lists, this one needs to be public wxArrayString arrayStringFor_FullscreenCB; private: DECLARE_EVENT_TABLE(); wxBoxSizer* sGeneral; wxStaticBoxSizer* sbBasic; wxGridBagSizer* sBasic; wxStaticBoxSizer* sbEnhancements; wxGridBagSizer* sEnhancements; wxBoxSizer* sAdvanced; wxStaticBoxSizer* sbInfo; wxGridBagSizer* sInfo; wxStaticBoxSizer* sbRendering; wxGridBagSizer* sRendering; wxStaticBoxSizer* sbUtilities; wxBoxSizer* sUtilities; wxStaticBoxSizer* sbHacks; wxGridBagSizer* sHacks; wxButton *m_About; wxButton *m_Close; wxNotebook *m_Notebook; wxPanel *m_PageGeneral; wxPanel *m_PageAdvanced; wxCheckBox *m_Fullscreen; wxCheckBox *m_RenderToMainWindow; wxCheckBox *m_StretchToFit; wxCheckBox *m_KeepAR; #ifndef _WIN32 wxCheckBox *m_HideCursor; #endif wxComboBox *m_FullscreenCB; wxArrayString arrayStringFor_WindowResolutionCB; wxComboBox *m_WindowResolutionCB; wxArrayString arrayStringFor_RenderBackend; wxComboBox *m_RenderBackend; wxCheckBox *m_ForceFiltering; // advanced wxChoice *m_MaxAnisotropyCB; wxArrayString arrayStringFor_MaxAnisotropyCB; wxComboBox *m_AliasModeCB; wxCheckBox *m_ShowFPS; wxCheckBox *m_ShaderErrors; wxCheckBox *m_Statistics; wxCheckBox *m_BlendStats; wxCheckBox *m_ProjStats; wxCheckBox *m_TexFmtOverlay; wxCheckBox *m_TexFmtCenter; wxCheckBox *m_UseXFB; wxCheckBox *m_Wireframe; wxCheckBox *m_DisableLighting; wxCheckBox *m_DisableTexturing; wxCheckBox *m_DumpTextures; wxStaticBox * m_StaticBox_EFB; wxCheckBox *m_CheckBox_DisableCopyEFB; wxRadioButton *m_Radio_CopyEFBToRAM, *m_Radio_CopyEFBToGL; wxDirPickerCtrl *m_TexturePath; wxCheckBox *m_EFBCopyDisableHotKey; wxCheckBox *m_ProjectionHax1; wxCheckBox *m_ProjectionHax2; wxCheckBox *m_SafeTextureCache; // Screen size wxStaticText *m_TextScreenWidth, *m_TextScreenHeight, *m_TextScreenLeft, *m_TextScreenTop; wxSlider *m_SliderWidth, *m_SliderHeight, *m_SliderLeft, *m_SliderTop; wxCheckBox *m_ScreenSize; enum { ID_CLOSE = 1000, ID_ABOUTOGL, ID_NOTEBOOK, ID_PAGEGENERAL, ID_PAGEADVANCED, ID_FULLSCREEN, ID_RENDERTOMAINWINDOW, ID_STRETCHTOFIT, ID_KEEPAR, ID_HIDECURSOR, ID_FSTEXT, ID_FULLSCREENCB, ID_WMTEXT, ID_WINDOWRESOLUTIONCB, ID_BETEXT, ID_RENDERBACKEND, ID_FORCEFILTERING, ID_MAXANISOTROPY, ID_AATEXT, ID_ALIASMODECB, ID_SHOWFPS, ID_SHADERERRORS, ID_STATISTICS, ID_BLENDSTATS, ID_PROJSTATS, ID_TEXFMTOVERLAY, ID_TEXFMTCENTER, ID_USEXFB, ID_WIREFRAME, ID_DISABLELIGHTING, ID_DISABLETEXTURING, ID_STATICBOX_EFB, ID_SAFETEXTURECACHE, ID_DUMPTEXTURES, ID_TEXTUREPATH, ID_CHECKBOX_DISABLECOPYEFB, ID_EFBCOPYDISABLEHOTKEY, ID_PROJECTIONHACK1, ID_PROJECTIONHACK2, ID_RADIO_COPYEFBTORAM, ID_RADIO_COPYEFBTOGL, // Screen size IDS_WIDTH, IDS_LEFT, IDS_HEIGHT, IDS_TOP, IDC_SCREEN_SIZE }; void OnClose(wxCloseEvent& event); void UpdateGUI(); void AboutClick(wxCommandEvent& event); void GeneralSettingsChanged(wxCommandEvent& event); void AdvancedSettingsChanged(wxCommandEvent& event); void AdvancedSettingsChangedScroll(wxScrollEvent& event); void TexturePathChange(wxFileDirPickerEvent& event); }; #endif