Initial support for title switching + better Wii U menu compatibility (#907)

This commit is contained in:
Exzap 2023-07-21 13:54:07 +02:00 committed by GitHub
parent bfbeeae6f6
commit 2200cc0ddf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
95 changed files with 2549 additions and 746 deletions

View file

@ -15,6 +15,7 @@
#include <future>
#include "Cafe/HW/Espresso/Debugger/GDBStub.h"
#include "Cafe/CafeSystem.h"
class DebuggerWindow2;
struct GameEntry;
@ -50,14 +51,17 @@ private:
INITIATED_BY m_initiatedBy;
};
class MainWindow : public wxFrame
class MainWindow : public wxFrame, public CafeSystem::SystemImplementation
{
friend class CemuApp;
public:
MainWindow();
~MainWindow();
void CreateGameListAndStatusBar();
void DestroyGameListAndStatusBar();
void UpdateSettingsAfterGameLaunch();
void RestoreSettingsAfterGameExited();
@ -151,6 +155,11 @@ private:
void OnTimer(wxTimerEvent& event);
// CafeSystem implementation
void CafeRecreateCanvas() override;
void OnRequestRecreateCanvas(wxCommandEvent& event);
wxRect GetDesktopRect();
MemorySearcherTool* m_toolWindow = nullptr;
@ -183,8 +192,6 @@ private:
void LoadSettings();
void SaveSettings();
std::string GetRegionString(uint32 region) const;
void OnGraphicWindowClose(wxCloseEvent& event);
void OnGraphicWindowOpen(wxTitleIdEvent& event);
@ -195,42 +202,40 @@ private:
wxWindow* m_render_canvas{};
// gamelist
wxGameList* m_game_list;
wxInfoBar* m_info_bar;
wxGameList* m_game_list{};
wxInfoBar* m_info_bar{};
// menu
wxMenuBar* m_menuBar = nullptr;
wxMenuBar* m_menuBar{};
// file
wxMenu* m_fileMenu;
wxMenuItem* m_fileMenuSeparator0;
wxMenuItem* m_fileMenuSeparator1;
wxMenuItem* m_loadMenuItem;
wxMenuItem* m_installUpdateMenuItem;
wxMenuItem* m_exitMenuItem;
wxMenu* m_fileMenu{};
wxMenuItem* m_fileMenuSeparator0{};
wxMenuItem* m_fileMenuSeparator1{};
wxMenuItem* m_loadMenuItem{};
wxMenuItem* m_installUpdateMenuItem{};
wxMenuItem* m_exitMenuItem{};
// options
//wxMenu* m_gpuBufferCacheAccuracySubmenu;
wxMenu* m_optionsAccountMenu;
wxMenu* m_optionsAccountMenu{};
wxMenuItem* m_fullscreenMenuItem;
wxMenuItem* m_padViewMenuItem;
wxMenuItem* m_fullscreenMenuItem{};
wxMenuItem* m_padViewMenuItem{};
// tools
wxMenuItem* m_memorySearcherMenuItem;
wxMenuItem* m_memorySearcherMenuItem{};
// cpu
//wxMenu* m_cpuModeSubmenu;
wxMenu* m_cpuTimerSubmenu;
wxMenu* m_cpuTimerSubmenu{};
// nfc
wxMenu* m_nfcMenu;
wxMenuItem* m_nfcMenuSeparator0;
wxMenu* m_nfcMenu{};
wxMenuItem* m_nfcMenuSeparator0{};
// debug
wxMenu* m_debugMenu;
wxMenu* m_loggingSubmenu;
wxMenuItem* m_asyncCompile;
wxMenu* m_debugMenu{};
wxMenu* m_loggingSubmenu{};
wxMenuItem* m_asyncCompile{};
wxDECLARE_EVENT_TABLE();
};