1 // Copyright (C) 2003 Dolphin Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official SVN repository and contact information can be found at
16 // http://code.google.com/p/dolphin-emu/
18 #ifndef _DX_DLGSETTINGS_H_
19 #define _DX_DLGSETTINGS_H_
22 #include <wx/dialog.h>
23 #include <wx/textctrl.h>
24 #include <wx/button.h>
25 #include <wx/stattext.h>
26 #include <wx/choice.h>
27 #include <wx/combobox.h>
28 #include <wx/checkbox.h>
29 #include <wx/notebook.h>
31 #include <wx/filepicker.h>
32 #include <wx/gbsizer.h>
34 class GFXConfigDialogDX
: public wxDialog
37 GFXConfigDialogDX(wxWindow
*parent
, wxWindowID id
= 1,
39 const wxString
&title
= wxT("DX9 (DEBUGFAST) Plugin Configuration"),
42 const wxString
&title
= wxT("DX9 Plugin Configuration"),
44 const wxString
&title
= wxT("DX9 (DEBUG) Plugin Configuration"),
47 const wxPoint
& pos
= wxDefaultPosition
,
48 const wxSize
& size
= wxDefaultSize
,
49 long style
= wxDEFAULT_DIALOG_STYLE
);
50 virtual ~GFXConfigDialogDX();
51 void CreateGUIControls();
52 void CloseClick(wxCommandEvent
& WXUNUSED (event
));
55 DECLARE_EVENT_TABLE();
58 wxStaticBoxSizer
* sbBasic
;
59 wxGridBagSizer
* sBasic
;
60 wxStaticBoxSizer
* sbSTC
;
63 wxBoxSizer
* sEnhancements
;
64 wxStaticBoxSizer
* sbTextureFilter
;
65 wxGridBagSizer
* sTextureFilter
;
66 wxStaticBoxSizer
* sbEFBHacks
;
67 wxGridBagSizer
* sEFBHacks
;
69 wxBoxSizer
* sAdvanced
;
70 wxStaticBoxSizer
* sbSettings
;
71 wxGridBagSizer
* sSettings
;
72 wxStaticBoxSizer
* sbDataDumping
;
73 wxGridBagSizer
* sDataDumping
;
74 wxStaticBoxSizer
* sbDebuggingTools
;
75 wxGridBagSizer
* sDebuggingTools
;
80 wxNotebook
*m_Notebook
;
81 wxPanel
*m_PageDirect3D
;
82 wxPanel
*m_PageEnhancements
;
83 wxPanel
*m_PageAdvanced
;
86 wxStaticText
* m_AdapterText
;
87 wxChoice
*m_AdapterCB
;
88 wxArrayString arrayStringFor_AdapterCB
;
89 wxArrayString arrayStringFor_MSAAModeCB
;
91 wxCheckBox
*m_WidescreenHack
;
92 wxStaticText
* m_staticARText
;
94 wxStaticText
* m_staticMSAAText
;
95 wxChoice
*m_MSAAModeCB
;
96 wxStaticText
* m_EFBScaleText
;
97 wxChoice
*m_EFBScaleMode
;
98 wxCheckBox
*m_EnableEFBAccess
;
99 wxCheckBox
*m_SafeTextureCache
;
100 wxRadioButton
*m_Radio_SafeTextureCache_Fast
;
101 wxRadioButton
*m_Radio_SafeTextureCache_Normal
;
102 wxRadioButton
*m_Radio_SafeTextureCache_Safe
;
105 wxCheckBox
*m_ForceFiltering
;
106 wxCheckBox
*m_MaxAnisotropy
;
107 wxCheckBox
*m_HiresTextures
;
108 wxCheckBox
*m_EFBScaledCopy
;
111 wxCheckBox
*m_DisableFog
;
112 wxCheckBox
*m_OverlayFPS
;
113 wxCheckBox
*m_CopyEFB
;
114 wxRadioButton
*m_Radio_CopyEFBToRAM
;
115 wxRadioButton
*m_Radio_CopyEFBToGL
;
116 wxCheckBox
*m_EnableHotkeys
;
117 wxCheckBox
*m_WireFrame
;
118 wxCheckBox
*m_EnableXFB
;
119 wxCheckBox
*m_EnableRealXFB
;
120 wxCheckBox
*m_UseNativeMips
;
121 wxCheckBox
*m_DumpTextures
;
122 wxCheckBox
*m_DumpFrames
;
123 wxCheckBox
*m_OverlayStats
;
124 wxCheckBox
*m_ProjStats
;
125 wxCheckBox
*m_ShaderErrors
;
126 wxCheckBox
*m_TexfmtOverlay
;
127 wxCheckBox
*m_TexfmtCenter
;
136 ID_FULLSCREENRESOLUTION
,
139 ID_EFB_ACCESS_ENABLE
,
141 ID_RADIO_SAFETEXTURECACHE_SAFE
,
142 ID_RADIO_SAFETEXTURECACHE_NORMAL
,
143 ID_RADIO_SAFETEXTURECACHE_FAST
,
146 ID_LOADHIRESTEXTURES
,
177 void InitializeAdapters();
178 void OnClose(wxCloseEvent
& event
);
179 void InitializeGUIValues();
180 void DirectXSettingsChanged(wxCommandEvent
& event
);
181 void EnhancementsSettingsChanged(wxCommandEvent
& event
);
182 void AdvancedSettingsChanged(wxCommandEvent
& event
);
187 #endif //_DX_DLGSETTINGS_H_