summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/Main.h
blob: 803ee3baa914b292242311bc69c9fce23337e37e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.

#pragma once

#include <memory>
#include <wx/app.h>

class CFrame;
class wxLocale;

extern CFrame* main_frame;

// Define a new application
class DolphinApp : public wxApp
{
public:
  CFrame* GetCFrame();

private:
  bool OnInit() override;
  int OnExit() override;
  void OnInitCmdLine(wxCmdLineParser& parser) override;
  bool OnCmdLineParsed(wxCmdLineParser& parser) override;
  void OnFatalException() override;
  bool Initialize(int& c, wxChar** v) override;

#ifdef __APPLE__
  void MacOpenFile(const wxString& fileName) override;
#endif

  void OnEndSession(wxCloseEvent& event);
  void InitLanguageSupport();
  void AfterInit();
  void OnIdle(wxIdleEvent&);

  bool m_batch_mode = false;
  bool m_confirm_stop = false;
  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;
  wxString m_confirm_setting;
  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;
};

DECLARE_APP(DolphinApp);