| #ifndef TextureManager_HPP |
| #define TextureManager_HPP |
| |
| #include <iostream> |
| #include <string> |
| #include <map> |
| #include <vector> |
| |
| class TextureManager |
| { |
| std::string presetURL; |
| std::map<std::string,unsigned int> textures; |
| std::map<std::string,unsigned int> heights; |
| std::map<std::string,unsigned int> widths; |
| std::vector<unsigned int> user_textures; |
| std::vector<std::string> user_texture_names; |
| std::vector<std::string> random_textures; |
| public: |
| ~TextureManager(); |
| TextureManager(std::string _presetURL); |
| //void unloadTextures(const PresetOutputs::cshape_container &shapes); |
| void Clear(); |
| void Preload(); |
| unsigned int getTexture(const std::string filenamne); |
| unsigned int getTextureFullpath(const std::string filename, const std::string imageUrl); |
| unsigned int getTextureMemorySize(); |
| int getTextureWidth(const std::string imageUrl); |
| int getTextureHeight(const std::string imageUrl); |
| void setTexture(const std::string name, const unsigned int texId, const int width, const int height); |
| void loadTextureDir(); |
| std::string getRandomTextureName(std::string rand_name); |
| void clearRandomTextures(); |
| }; |
| |
| #endif |