| 
									
										
										
										
											2015-05-24 06:55:12 +02:00
										 |  |  | // Copyright 2008 Dolphin Emulator Project
 | 
					
						
							| 
									
										
										
										
											2015-05-18 01:08:10 +02:00
										 |  |  | // Licensed under GPLv2+
 | 
					
						
							| 
									
										
										
										
											2013-04-17 23:43:35 -04:00
										 |  |  | // Refer to the license.txt file included.
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-10 13:54:46 -05:00
										 |  |  | #pragma once
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-27 08:12:34 -04:00
										 |  |  | #include <memory>
 | 
					
						
							| 
									
										
										
										
											2014-02-22 23:36:30 +01:00
										 |  |  | #include <wx/app.h>
 | 
					
						
							| 
									
										
										
										
											2009-03-20 18:25:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class CFrame; | 
					
						
							| 
									
										
										
										
											2016-01-17 05:15:03 -06:00
										 |  |  | class wxCmdLineParser; | 
					
						
							| 
									
										
										
										
											2014-02-22 23:36:30 +01:00
										 |  |  | class wxLocale; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-08 15:58:25 +02:00
										 |  |  | extern CFrame* main_frame; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-22 23:36:30 +01:00
										 |  |  | // Define a new application
 | 
					
						
							| 
									
										
										
										
											2009-03-20 18:25:36 +00:00
										 |  |  | class DolphinApp : public wxApp | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2009-03-20 18:25:36 +00:00
										 |  |  | public: | 
					
						
							| 
									
										
										
										
											2016-10-27 21:50:09 -04:00
										 |  |  |   bool IsActiveThreadsafe() const { return m_is_active; } | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   CFrame* GetCFrame(); | 
					
						
							| 
									
										
										
										
											2011-01-20 03:26:51 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | private: | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   bool OnInit() override; | 
					
						
							|  |  |  |   void OnInitCmdLine(wxCmdLineParser& parser) override; | 
					
						
							| 
									
										
										
										
											2017-02-26 17:35:31 -08:00
										 |  |  |   bool OnCmdLineParsed(wxCmdLineParser& parser) override; | 
					
						
							| 
									
										
										
										
											2016-01-17 05:15:03 -06:00
										 |  |  |   int OnExit() override; | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   void OnFatalException() override; | 
					
						
							|  |  |  |   bool Initialize(int& c, wxChar** v) override; | 
					
						
							| 
									
										
										
										
											2015-08-27 06:59:23 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-21 15:28:49 -04:00
										 |  |  | #ifdef __APPLE__
 | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   void MacOpenFile(const wxString& fileName) override; | 
					
						
							| 
									
										
										
										
											2015-06-21 15:28:49 -04:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2010-07-07 22:00:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   void OnEndSession(wxCloseEvent& event); | 
					
						
							|  |  |  |   void InitLanguageSupport(); | 
					
						
							|  |  |  |   void AfterInit(); | 
					
						
							| 
									
										
										
										
											2016-10-27 21:50:09 -04:00
										 |  |  |   void OnActivate(wxActivateEvent& ev); | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   void OnIdle(wxIdleEvent&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-17 05:15:03 -06:00
										 |  |  |   void ParseCommandLine(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   bool m_batch_mode = false; | 
					
						
							|  |  |  |   bool m_confirm_stop = false; | 
					
						
							| 
									
										
										
										
											2016-10-27 21:50:09 -04:00
										 |  |  |   bool m_is_active = true; | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   bool m_load_file = false; | 
					
						
							|  |  |  |   bool m_play_movie = false; | 
					
						
							|  |  |  |   bool m_use_debugger = false; | 
					
						
							|  |  |  |   bool m_use_logger = false; | 
					
						
							|  |  |  |   bool m_select_video_backend = false; | 
					
						
							|  |  |  |   bool m_select_audio_emulation = false; | 
					
						
							| 
									
										
										
										
											2016-01-17 05:15:03 -06:00
										 |  |  |   bool m_confirm_setting; | 
					
						
							| 
									
										
										
										
											2016-06-24 10:43:46 +02:00
										 |  |  |   wxString m_video_backend_name; | 
					
						
							|  |  |  |   wxString m_audio_emulation_name; | 
					
						
							|  |  |  |   wxString m_user_path; | 
					
						
							|  |  |  |   wxString m_file_to_load; | 
					
						
							|  |  |  |   wxString m_movie_file; | 
					
						
							|  |  |  |   std::unique_ptr<wxLocale> m_locale; | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-20 18:25:36 +00:00
										 |  |  | DECLARE_APP(DolphinApp); |