1
0
mirror of https://github.com/clementine-player/Clementine synced 2024-12-25 09:10:49 +01:00
Clementine-audio-player-Mac.../3rdparty/libprojectm/Renderer/TextureManager.hpp
2010-06-06 21:43:45 +00:00

36 lines
1.1 KiB
C++

#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