1 /*! 2 @file 3 @author Albert Semenov 4 @date 07/2012 5 */ 6 7 #ifndef _ec693983_b8f8_4345_8dfd_c9858fe58df9_ 8 #define _ec693983_b8f8_4345_8dfd_c9858fe58df9_ 9 10 #include "IExportSerializer.h" 11 #include "pugixml.hpp" 12 #include "Data.h" 13 14 namespace tools 15 { 16 17 class ImageExportSerializer : 18 public IExportSerializer 19 { 20 public: 21 virtual void serialization(pugi::xml_document& _doc); 22 virtual bool deserialization(pugi::xml_document& _doc); 23 24 private: 25 void parseImage(pugi::xml_node _node); 26 void parseGroup(pugi::xml_node _node, DataPtr _parent); 27 void parseIndex(pugi::xml_node _node, DataPtr _parent); 28 void parseFrame(pugi::xml_node _node, DataPtr _parent); 29 30 void writeImage(pugi::xml_node _parent, DataPtr _data); 31 void writeGroup(pugi::xml_node _parent, DataPtr _data); 32 void writeIndex(pugi::xml_node _parent, DataPtr _data); 33 void writeFrame(pugi::xml_node _parent, DataPtr _data); 34 35 void updateImageProperty(DataPtr _data); 36 void updateGroupProperty(DataPtr _data); 37 void updateIndexProperty(DataPtr _data); 38 39 MyGUI::IntPoint getFirstFramePoint(DataPtr _data); 40 }; 41 42 } 43 44 #endif 45