Mesen-X/GUI/MainWindow.h

58 lines
1.4 KiB
C
Raw Normal View History

#include "stdafx.h"
#include "Renderer.h"
#include "SoundManager.h"
#include "../Core/Console.h"
namespace NES {
class MainWindow
{
private:
static MainWindow *Instance;
HINSTANCE _hInstance;
HWND _hWnd;
int _nCmdShow;
2014-06-23 19:02:09 -04:00
unique_ptr<Renderer> _renderer;
unique_ptr<SoundManager> _soundManager;
unique_ptr<Console> _console;
2014-06-21 19:03:13 -04:00
unique_ptr<thread> _emuThread;
wstring _currentROM;
private:
bool Initialize();
HRESULT InitWindow();
static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
static INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
2014-06-22 08:38:42 -04:00
static MainWindow* GetInstance() { return MainWindow::Instance; }
void SaveTestResult();
void RunTests();
2014-06-26 20:55:22 -04:00
vector<wstring> GetFolders(wstring rootFolder);
vector<wstring> GetFilesInFolder(wstring folder, wstring mask, bool recursive);
2014-06-21 19:03:13 -04:00
void LimitFPS_Click();
void ShowFPS_Click();
2014-06-21 19:03:13 -04:00
void SetMenuEnabled(int resourceID, bool enabled);
bool IsMenuChecked(int resourceID);
bool SetMenuCheck(int resourceID, bool checked);
2014-06-21 19:03:13 -04:00
bool ToggleMenuCheck(int resourceID);
wstring SelectROM();
void Start(wstring romFilename);
void Reset();
void Stop(bool powerOff);
void InitializeOptions();
public:
MainWindow(HINSTANCE hInstance, int nCmdShow) : _hInstance(hInstance), _nCmdShow(nCmdShow)
{
MainWindow::Instance = this;
}
int Run();
};
}