22 #ifndef FIFE_ATLAS_LOADER_H
23 #define FIFE_ATLAS_LOADER_H
33 #include "util/structures/rect.h"
34 #include "video/image.h"
35 #include "video/imagemanager.h"
37 #include "iatlasloader.h"
52 Atlas(
const std::string& name)
59 size_t getImageCount()
const;
63 ImagePtr& getPackedImage();
67 ImagePtr getImage(
const std::string&
id);
71 ImagePtr getImage(uint32_t index);
77 bool addImage(
const std::string& imagename,
const AtlasData& data);
82 void setPackedImage(
const ImagePtr& image);
84 const std::string& getName()
const;
86 typedef std::map<std::string, AtlasData> SubimageMap;
87 SubimageMap m_subimages;
94 class AtlasLoader :
public IAtlasLoader {
96 AtlasLoader(Model* model, VFS* vfs, ImageManager* imageManager);
98 virtual ~AtlasLoader();
103 virtual bool isLoadable(
const std::string& filename);
108 virtual AtlasPtr load(
const std::string& filename);
113 ImageManager* m_imageManager;
114 std::string m_atlasFilename;
116 void parseObject(Atlas* atlas,
TiXmlElement* root,
bool exists);