/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #include "geometry/rect.h" #include "metafile/nml.h" using namespace GS; //------------------------------------------------------------------------------ template NML::Tag *Rect::AsMetaTag(const char *id) const { NML::Tag *root = new NML::Tag(id ? id : "Rect"); if (root) { root->AddChild("SX", sx); root->AddChild("SY", sy); root->AddChild("EX", ex); root->AddChild("EY", ey); } return root; } template bool Rect::FromMetaTag(NML::Tag &tag) { NML::Tag *t; List ::Iterator i(tag.GetTags().GetRoot()); t = i.ObjectPtr(); if (!t) return false; sx = t->GetReal(); ++i; t = i.ObjectPtr(); if (!t) return false; sy = t->GetReal(); ++i; t = i.ObjectPtr(); if (!t) return false; ex = t->GetReal(); ++i; t = i.ObjectPtr(); if (!t) return false; ey = t->GetReal(); ++i; return true; } //------------------------------------------------------------------------------