Settings widget mostly works

This commit is contained in:
irisz64
2025-05-23 10:15:25 +02:00
parent 1de29dd76d
commit 9fd6c585d6
9 changed files with 32 additions and 27 deletions

View File

@@ -4,10 +4,15 @@
#include <ImGuiImpl/StatusBar.hpp>
#include <ImGuiImpl/GUI.hpp>
KaizenGui::KaizenGui() noexcept : window("Kaizen", 1280, 720), core(std::make_shared<n64::Core>()), vulkanWidget(core, window.getHandle()), emuThread(core, fpsCounter, vulkanWidget, settingsWindow) {
KaizenGui::KaizenGui() noexcept : window("Kaizen", 800, 600), core(std::make_shared<n64::Core>()), vulkanWidget(core, window.getHandle()), emuThread(core, fpsCounter, vulkanWidget, settingsWindow) {
gui::Initialize(core->parallel.wsi, window.getHandle());
emuExitFunc = [&]() {
quit = true;
if (emuThread.isRunning) {
emuThread.requestInterruption();
while (emuThread.isRunning) {}
}
};
about.setFunc([&]() {
@@ -17,6 +22,7 @@ KaizenGui::KaizenGui() noexcept : window("Kaizen", 1280, 720), core(std::make_sh
ImGui::Text("Nintendo 64 is a registered trademark of Nintendo Co., Ltd.");
if(ImGui::Button("OK")) {
about.setOpened(false);
ImGui::CloseCurrentPopup();
}
});
@@ -49,7 +55,6 @@ KaizenGui::KaizenGui() noexcept : window("Kaizen", 1280, 720), core(std::make_sh
actionReset,
{"Settings", [&]() {
settingsWindow.popup.setOpened(true);
settingsWindow.render();
}},
}});
@@ -66,6 +71,7 @@ void KaizenGui::RenderUI() {
menuBar.render();
about.render();
statusBar.render();
settingsWindow.render();
gui::EndFrame();
if (core->render) {
@@ -85,25 +91,10 @@ void KaizenGui::LoadROM(const std::string &path) noexcept {
Util::RPC::GetInstance().Update(Util::RPC::Playing, gameNameDB);
}
void KaizenGui::handleEvents() {
SDL_Event e;
while(SDL_PollEvent(&e)) {
switch(e.type) {
case SDL_EVENT_QUIT:
emuExitFunc();
break;
}
}
}
int KaizenGui::run() {
while(!quit) {
if(vulkanWidget.wsiPlatform->quitRequested) {
quit = true;
if (emuThread.isRunning) {
emuThread.requestInterruption();
while (emuThread.isRunning) {}
}
emuExitFunc();
}
RenderUI();