Files
kaizen/src/frontend/KaizenGui.hpp
T
2026-06-05 17:48:11 +02:00

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 = "";
}
};