47 lines
1.0 KiB
C++
47 lines
1.0 KiB
C++
/* -----------------------------------------------------------------------------
|
|
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;
|
|
}
|
|
//------------------------------------------------------------------------------
|