Settings widget mostly works
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user