11 #include "GUIComponent.h" 12 #include "TextureBundle.h" 13 #include "threads/CriticalSection.h" 32 CTextureArray(
int width,
int height,
int loops,
bool texCoordsArePixels =
false);
39 void Add(std::shared_ptr<CTexture> texture,
int delay);
40 void Set(std::shared_ptr<CTexture> texture,
int width,
int height);
42 unsigned int size()
const;
44 std::vector<std::shared_ptr<CTexture>> m_textures;
45 std::vector<int> m_delays;
52 bool m_texCoordsArePixels;
66 CTextureMap(
const std::string& textureName,
int width,
int height,
int loops);
69 void Add(std::unique_ptr<CTexture> texture,
int delay);
72 const std::string& GetName()
const;
75 uint32_t GetMemoryUsage()
const;
78 void SetHeight(
int height);
79 void SetWidth(
int height);
84 std::string m_textureName;
85 unsigned int m_referenceCount;
102 bool HasTexture(
const std::string &textureName, std::string *path = NULL,
int *bundle = NULL,
int *size = NULL);
103 static bool CanLoad(
const std::string &texturePath);
104 const CTextureArray& Load(
const std::string& strTextureName,
bool checkBundleOnly =
false);
105 void ReleaseTexture(
const std::string& strTextureName,
bool immediately =
false);
108 uint32_t GetMemoryUsage()
const;
110 std::string GetTexturePath(
const std::string& textureName,
bool directory =
false);
111 std::vector<std::string> GetBundledTexturesFromPath(
const std::string& texturePath);
113 void AddTexturePath(
const std::string &texturePath);
114 void SetTexturePath(
const std::string &texturePath);
115 void RemoveTexturePath(
const std::string &texturePath);
117 void FreeUnusedTextures(
unsigned int timeDelay = 0);
118 void ReleaseHwTexture(
unsigned int texture);
120 std::vector<CTextureMap*> m_vecTextures;
121 std::list<std::pair<CTextureMap*, std::chrono::time_point<std::chrono::steady_clock>>>
123 std::vector<unsigned int> m_unusedHwTextures;
124 typedef std::vector<CTextureMap*>::iterator ivecTextures;
128 std::vector<std::string> m_texturePaths;
129 CCriticalSection m_section;
Definition: TextureManager.h:29
Base texture class, subclasses of which depend on the render spec (DX, GL etc.)
Definition: Texture.h:34
Definition: TextureManager.h:62
Definition: TextureBundle.h:20
Definition: TextureManager.h:96