1 #ifndef TextureManager_HPP 2 #define TextureManager_HPP 3 4 #include <iostream> 5 #include <string> 6 #include <map> 7 #include <vector> 8 9 class TextureManager 10 { 11 std::string presetURL; 12 std::map<std::string,unsigned int> textures; 13 std::map<std::string,unsigned int> heights; 14 std::map<std::string,unsigned int> widths; 15 std::vector<unsigned int> user_textures; 16 std::vector<std::string> user_texture_names; 17 std::vector<std::string> random_textures; 18 public: 19 ~TextureManager(); 20 TextureManager(std::string _presetURL); 21 //void unloadTextures(const PresetOutputs::cshape_container &shapes); 22 void Clear(); 23 void Preload(); 24 unsigned int getTexture(const std::string filenamne); 25 unsigned int getTextureFullpath(const std::string filename, const std::string imageUrl); 26 unsigned int getTextureMemorySize(); 27 int getTextureWidth(const std::string imageUrl); 28 int getTextureHeight(const std::string imageUrl); 29 void setTexture(const std::string name, const unsigned int texId, const int width, const int height); 30 void loadTextureDir(); 31 std::string getRandomTextureName(std::string rand_name); 32 void clearRandomTextures(); 33 }; 34 35 #endif 36