| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | // 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/
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-17 04:14:24 +00:00
										 |  |  | #ifndef __OGL_CONFIGDIALOG_h__
 | 
					
						
							|  |  |  | #define __OGL_CONFIGDIALOG_h__
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <wx/wx.h>
 | 
					
						
							|  |  |  | #include <wx/dialog.h>
 | 
					
						
							|  |  |  | #include <wx/textctrl.h>
 | 
					
						
							|  |  |  | #include <wx/button.h>
 | 
					
						
							|  |  |  | #include <wx/stattext.h>
 | 
					
						
							|  |  |  | #include <wx/choice.h>
 | 
					
						
							|  |  |  | #include <wx/combobox.h>
 | 
					
						
							|  |  |  | #include <wx/checkbox.h>
 | 
					
						
							|  |  |  | #include <wx/notebook.h>
 | 
					
						
							|  |  |  | #include <wx/panel.h>
 | 
					
						
							|  |  |  | #include <wx/filepicker.h>
 | 
					
						
							|  |  |  | #include <wx/gbsizer.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ConfigDialog : public wxDialog | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	public: | 
					
						
							| 
									
										
										
										
											2009-01-14 16:36:43 +00:00
										 |  |  | 		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); | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		virtual ~ConfigDialog(); | 
					
						
							|  |  |  | 		void CloseClick(wxCommandEvent& event); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		void AddFSReso(char *reso); | 
					
						
							|  |  |  | 		void AddWindowReso(char *reso); | 
					
						
							| 
									
										
										
										
											2009-02-19 10:29:53 +00:00
										 |  |  | 		void CreateGUIControls(); | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-19 11:28:55 +00:00
										 |  |  | 		// Combo box lists, this one needs to be public
 | 
					
						
							|  |  |  | 		wxArrayString arrayStringFor_FullscreenCB; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 	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; | 
					
						
							| 
									
										
										
										
											2009-02-04 17:33:59 +00:00
										 |  |  | 		wxBoxSizer* sUtilities; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxStaticBoxSizer* sbHacks; | 
					
						
							|  |  |  | 		wxGridBagSizer* sHacks; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		wxButton *m_About; | 
					
						
							|  |  |  | 		wxButton *m_Close; | 
					
						
							|  |  |  | 		wxNotebook *m_Notebook; | 
					
						
							|  |  |  | 		wxPanel *m_PageGeneral; | 
					
						
							|  |  |  | 		wxPanel *m_PageAdvanced; | 
					
						
							|  |  |  | 		wxCheckBox *m_Fullscreen; | 
					
						
							| 
									
										
										
										
											2009-03-05 23:11:13 +00:00
										 |  |  | 		wxCheckBox *m_VSync; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxCheckBox *m_RenderToMainWindow; | 
					
						
							| 
									
										
										
										
											2009-02-28 16:33:59 +00:00
										 |  |  | 		wxCheckBox *m_NativeResolution; | 
					
						
							| 
									
										
										
										
											2009-03-09 20:18:36 +00:00
										 |  |  | 		wxCheckBox *m_ForceFiltering; | 
					
						
							| 
									
										
										
										
											2009-02-25 05:54:36 +00:00
										 |  |  | 		wxCheckBox *m_KeepAR43, *m_KeepAR169, *m_Crop; | 
					
						
							| 
									
										
										
										
											2009-02-28 16:33:59 +00:00
										 |  |  | 		wxCheckBox *m_UseXFB; | 
					
						
							|  |  |  | 		wxCheckBox *m_AutoScale; | 
					
						
							| 
									
										
										
										
											2009-01-04 23:00:07 +00:00
										 |  |  | 		#ifndef _WIN32
 | 
					
						
							|  |  |  | 			wxCheckBox *m_HideCursor; | 
					
						
							|  |  |  | 		#endif
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxComboBox *m_FullscreenCB; | 
					
						
							|  |  |  | 		wxArrayString arrayStringFor_WindowResolutionCB; | 
					
						
							|  |  |  | 		wxComboBox *m_WindowResolutionCB; | 
					
						
							|  |  |  | 		wxArrayString arrayStringFor_MaxAnisotropyCB; | 
					
						
							| 
									
										
										
										
											2009-03-08 20:04:40 +00:00
										 |  |  | 		wxChoice *m_MaxAnisotropyCB; | 
					
						
							|  |  |  | 		wxArrayString arrayStringFor_MSAAModeCB; | 
					
						
							|  |  |  | 		wxChoice *m_MSAAModeCB; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxCheckBox *m_ShowFPS; | 
					
						
							|  |  |  | 		wxCheckBox *m_ShaderErrors; | 
					
						
							|  |  |  | 		wxCheckBox *m_Statistics; | 
					
						
							| 
									
										
										
										
											2009-02-15 20:49:59 +00:00
										 |  |  | 		wxCheckBox *m_BlendStats; | 
					
						
							|  |  |  | 		wxCheckBox *m_ProjStats; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxCheckBox *m_TexFmtOverlay; | 
					
						
							|  |  |  | 		wxCheckBox *m_TexFmtCenter; | 
					
						
							|  |  |  | 		wxCheckBox *m_Wireframe; | 
					
						
							|  |  |  | 		wxCheckBox *m_DisableLighting; | 
					
						
							|  |  |  | 		wxCheckBox *m_DisableTexturing; | 
					
						
							| 
									
										
										
										
											2009-03-16 05:04:59 +00:00
										 |  |  |         wxCheckBox *m_DstAlphaPass; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxCheckBox *m_DumpTextures; | 
					
						
							| 
									
										
										
										
											2009-03-07 09:29:25 +00:00
										 |  |  | 		wxCheckBox *m_DumpEFBTarget; | 
					
						
							| 
									
										
										
										
											2009-01-13 20:50:51 +00:00
										 |  |  | 		wxStaticBox * m_StaticBox_EFB; | 
					
						
							|  |  |  | 		wxCheckBox *m_CheckBox_DisableCopyEFB; | 
					
						
							|  |  |  | 		wxRadioButton *m_Radio_CopyEFBToRAM, *m_Radio_CopyEFBToGL; | 
					
						
							|  |  |  | 		wxCheckBox *m_EFBCopyDisableHotKey; | 
					
						
							| 
									
										
										
										
											2009-03-02 19:38:38 +00:00
										 |  |  | 		wxCheckBox *m_ProjectionHax1; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		wxCheckBox *m_SafeTextureCache; | 
					
						
							| 
									
										
										
										
											2009-02-19 02:58:29 +00:00
										 |  |  | 		// Screen size
 | 
					
						
							|  |  |  | 		wxStaticText *m_TextScreenWidth, *m_TextScreenHeight, *m_TextScreenLeft, *m_TextScreenTop; | 
					
						
							|  |  |  | 		wxSlider *m_SliderWidth, *m_SliderHeight, *m_SliderLeft, *m_SliderTop; | 
					
						
							|  |  |  | 		wxCheckBox *m_ScreenSize; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		enum | 
					
						
							|  |  |  | 		{ | 
					
						
							|  |  |  | 			ID_CLOSE = 1000, | 
					
						
							|  |  |  | 			ID_ABOUTOGL, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			ID_NOTEBOOK, | 
					
						
							|  |  |  | 			ID_PAGEGENERAL, | 
					
						
							|  |  |  | 			ID_PAGEADVANCED, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			ID_FULLSCREEN, | 
					
						
							| 
									
										
										
										
											2009-03-05 23:11:13 +00:00
										 |  |  | 			ID_VSYNC, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 			ID_RENDERTOMAINWINDOW, | 
					
						
							| 
									
										
										
										
											2009-02-28 16:33:59 +00:00
										 |  |  | 			ID_NATIVERESOLUTION, | 
					
						
							| 
									
										
										
										
											2009-02-25 05:54:36 +00:00
										 |  |  | 			ID_KEEPAR_4_3, ID_KEEPAR_16_9, ID_CROP, | 
					
						
							| 
									
										
										
										
											2009-02-28 16:33:59 +00:00
										 |  |  | 			ID_USEXFB, | 
					
						
							|  |  |  | 			ID_AUTOSCALE, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 			ID_HIDECURSOR, | 
					
						
							|  |  |  | 			ID_FSTEXT, | 
					
						
							|  |  |  | 			ID_FULLSCREENCB, | 
					
						
							|  |  |  | 			ID_WMTEXT, | 
					
						
							|  |  |  | 			ID_WINDOWRESOLUTIONCB, | 
					
						
							| 
									
										
										
										
											2009-03-09 20:18:36 +00:00
										 |  |  | 			ID_FORCEFILTERING, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 			ID_MAXANISOTROPY, | 
					
						
							| 
									
										
										
										
											2009-03-08 20:04:40 +00:00
										 |  |  | 			ID_MSAAMODECB, | 
					
						
							|  |  |  | 			ID_MSAAMODETEXT, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			ID_SHOWFPS, | 
					
						
							|  |  |  | 			ID_SHADERERRORS, | 
					
						
							|  |  |  | 			ID_STATISTICS, | 
					
						
							| 
									
										
										
										
											2009-02-15 20:49:59 +00:00
										 |  |  | 			ID_BLENDSTATS, | 
					
						
							|  |  |  | 			ID_PROJSTATS, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 			ID_TEXFMTOVERLAY, | 
					
						
							|  |  |  | 			ID_TEXFMTCENTER, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			ID_WIREFRAME, | 
					
						
							|  |  |  | 			ID_DISABLELIGHTING, | 
					
						
							|  |  |  | 			ID_DISABLETEXTURING, | 
					
						
							| 
									
										
										
										
											2009-01-13 20:50:51 +00:00
										 |  |  | 			ID_STATICBOX_EFB, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 			ID_SAFETEXTURECACHE, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			ID_DUMPTEXTURES, | 
					
						
							| 
									
										
										
										
											2009-03-07 09:29:25 +00:00
										 |  |  | 			ID_DUMPEFBTARGET, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 			ID_TEXTUREPATH, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-13 20:50:51 +00:00
										 |  |  | 			ID_CHECKBOX_DISABLECOPYEFB,  | 
					
						
							|  |  |  | 			ID_EFBCOPYDISABLEHOTKEY, | 
					
						
							| 
									
										
										
										
											2009-03-02 19:38:38 +00:00
										 |  |  | 			ID_PROJECTIONHACK1, | 
					
						
							| 
									
										
										
										
											2009-03-16 05:04:59 +00:00
										 |  |  |             ID_DSTALPHAPASS, | 
					
						
							| 
									
										
										
										
											2009-01-13 20:50:51 +00:00
										 |  |  | 			ID_RADIO_COPYEFBTORAM, | 
					
						
							| 
									
										
										
										
											2009-02-19 02:58:29 +00:00
										 |  |  | 			ID_RADIO_COPYEFBTOGL, | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 		}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		void OnClose(wxCloseEvent& event); | 
					
						
							| 
									
										
										
										
											2009-02-19 02:58:29 +00:00
										 |  |  | 		void UpdateGUI(); | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		void AboutClick(wxCommandEvent& event); | 
					
						
							|  |  |  | 		void GeneralSettingsChanged(wxCommandEvent& event); | 
					
						
							| 
									
										
										
										
											2009-02-20 03:49:57 +00:00
										 |  |  | 		void AdvancedSettingsChanged(wxCommandEvent& event);  | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |