#pragma once #include #include #include #include #include #include #include #include "Nodes/TextNode.h" #include "Font/FontManager.h" #include "../Scripting/ScriptingEngine.h" namespace Nuake { class InterfaceParser { private: static Ref Root; public: static Ref Parse(const std::string path); static void Iterate(const pugi::xml_node& xml_node, Ref node, int depth); static Ref CreateNode(const pugi::xml_node& xml_node); static Ref CreateCanvas(const pugi::xml_node& xml_node); static Ref CreateTextNode(const pugi::xml_node& xml_node); static Layout::LayoutUnit GetUnit(const std::string& value); static Layout::LayoutVec4 GetVec4Unit(const std::string& value); static Color GetColor(const std::string& value); }; }