#ifndef INTERFACE_H_ #define INTERFACE_H_ #include #include #include #include #include struct Window { std::string name; ImVec2 size; ImVec2 position; bool isOpen = true; std::function renderContent; Window(const std::string& name, std::function renderFunc) : name(name), size(ImVec2(512, 512)), position(ImVec2(0, 0)), renderContent(renderFunc) {} }; namespace Interface { void ApplyUIScaling(GLFWwindow* window); void AddWindow(std::vector& windows, const std::string& name, std::function renderFunc); Window* GetWindowByName(std::vector& windows, const std::string& name); void RenderWindows(std::vector& windows); } #endif // INTERFACE_H_