/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #include "core/renderer.h" using namespace GS::Render; using GS::NML::Tag; //------------------------------------------------------------------------------ bool Renderer::FromMetaTag(Tag &tag) { if (tag.name != GetName()) return false; // Incorrect tag. registry.Clear(); NMLTagForeach(pt, tag) { if (pt->name == "Version") ; else if (pt->name == "Registry") { NMLTagForeach(child, *pt) registry.AddRoot(child->Clone()); } } return true; } Tag *Renderer::AsMetaTag() { Tag *root = new Tag(GetName()); root->AddChild("Version", GetVersion()); Tag *tag_registry = root->AddChild("Registry"); NMLFileForeach(child, registry) tag_registry->AddChild(child->Clone()); return root; } //------------------------------------------------------------------------------