#pragma once #ifndef _TEXTURELOADER_HPP_ #define _TEXTURELOADER_HPP_ #include #include #include #include #include #include // This might suffice #include typedef std::map, TextureData::Handle> TextureArchive; class FileIndex; class TextureLoader { public: bool loadFromMemory(FileHandle file, TextureArchive& inTextures); }; // TODO: refactor this interface to be more like ModelLoader so they can be rolled into one. class LoadTextureArchiveJob : public WorkJob { private: TextureArchive& archive; FileIndex* fileIndex; std::string _file; FileHandle data; public: LoadTextureArchiveJob(WorkContext* context, FileIndex* index, TextureArchive& inTextures, const std::string& file); void work(); void complete(); }; #endif