42 lines
931 B
C++
42 lines
931 B
C++
#pragma once
|
|
#include <RenderWidget.hpp>
|
|
#include <EmuThread.hpp>
|
|
#include <SDL3/SDL_gamepad.h>
|
|
#include <QMainWindow>
|
|
|
|
class KaizenGui final : QMainWindow {
|
|
public:
|
|
explicit KaizenGui() noexcept;
|
|
~KaizenGui();
|
|
|
|
bool fastForward = false;
|
|
bool unlockFramerate = false;
|
|
bool minimized = false;
|
|
|
|
SettingsWindow *settingsWindow;
|
|
RenderWidget *vulkanWidget;
|
|
EmuThread emuThread;
|
|
|
|
SDL_Gamepad *gamepad = nullptr;
|
|
|
|
static void LoadTAS(const std::string &path) noexcept;
|
|
void LoadROM(const std::string &path) noexcept;
|
|
|
|
private:
|
|
int width{}, height{};
|
|
bool aboutOpen = false;
|
|
bool fileDialogOpen = false;
|
|
bool quit = false;
|
|
bool shouldDisplaySpinner = false;
|
|
std::string fileToLoad = "";
|
|
|
|
void FileWorker() {
|
|
if (fileToLoad.empty())
|
|
return;
|
|
|
|
LoadROM(fileToLoad);
|
|
shouldDisplaySpinner = false;
|
|
fileToLoad = "";
|
|
}
|
|
};
|