@ElmImageAtlas.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class ElmImageAtlas : ElmData
  4. {
  5. class Img
  6. {
  7. bool removed;
  8. UID id;
  9. TimeStamp removed_time;
  10. static int Compare(C Img &img, C UID &id);
  11. bool equal(C Img &src)C;
  12. bool newer(C Img &src)C;
  13. bool undo(C Img &src);
  14. public:
  15. Img();
  16. };
  17. bool mip_maps;
  18. Memc<Img> images;
  19. TimeStamp file_time, mip_maps_time;
  20. C Img* find(C UID &id)C;
  21. Img* find(C UID &id);
  22. Img& get(C UID &id);
  23. // operations
  24. virtual void newData()override;
  25. bool equal(C ElmImageAtlas &src)C;
  26. bool newer(C ElmImageAtlas &src)C;
  27. virtual bool mayContain(C UID &id)C override;
  28. uint undo(C ElmImageAtlas &src);
  29. uint sync(C ElmImageAtlas &src);
  30. bool syncFile(C ElmImageAtlas &src);
  31. // io
  32. virtual bool save(File &f)C override;
  33. virtual bool load(File &f)override;
  34. virtual void save(MemPtr<TextNode> nodes)C override;
  35. virtual void load(C MemPtr<TextNode> &nodes)override;
  36. public:
  37. ElmImageAtlas();
  38. };
  39. /******************************************************************************/
  40. /******************************************************************************/
  41. /******************************************************************************/