#pragma once #include "RendererBackend.h" #include "config.h" #include "file_browser.h" #include "playback.h" #include "theme.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(IMGUI_IMPL_OPENGL_ES2) #include #else #include #endif #include "license.h" #include "base85.h" #include "IconFontCppHeaders/IconsForkAwesome.h" #include "imgui/imgui.h" #include "imgui/misc/cpp/imgui_stdlib.h" #include "translation.h" #ifdef __EMSCRIPTEN__ #include "../libs/emscripten/emscripten_mainloop_stub.h" #endif #include "../../../backend.hpp" using namespace std::filesystem; using namespace std::numbers; using std::string; class MainLoop : public RendererBackend { bool show_demo_window = false; FileBrowser fileDialog = FileBrowser(false); std::string userdir; float position = 0.0; float length = 0.0; bool prefs_window = false; bool theme_editor = false; bool about_window = false; bool stopped = true; std::vector backends; UIBackend *cur_backend; public: Playback *playback; vector args; void LoadFile(std::string file); void Init() override; void GuiFunction() override; void Deinit() override; void Drop(std::string file) override; MainLoop(); };