9 #include "CityThemes.h"
10 #include "WebLoadRequestCompletionCallback.h"
11 #include "GLHelpers.h"
16 #include "PendingWebRequestsContainer.h"
17 #include "IAsyncCubeTextureRequestor.h"
18 #include "AsyncTexturing.h"
19 #include "AsyncLoadersModule.h"
20 #include "IAsyncTextureObserver.h"
21 #include "PendingAsyncTextureLoadsContainer.h"
22 #include "ICallback.h"
23 #include "ITextureFileLoader.h"
41 std::set<std::string> m_inFlightCubeTextures;
44 std::uintptr_t m_themeChangeCount;
45 int m_currentThemeTexturesCount;
46 bool m_textureLoadingFailed;
48 struct TextureInfoRefs
55 std::map<std::string, TextureInfoRefs> m_loadedTextures;
70 bool IsLoading()
const {
return NumberOfTexturesInFlight() > 0; }
71 int CurrentThemeTexturesToLoad()
const {
return m_currentThemeTexturesCount; }
72 int CurrentThemeTexturesLoaded()
const {
return m_currentThemeTexturesCount - NumberOfTexturesInFlight(); }
73 bool LoadsFailed()
const {
return m_textureLoadingFailed; }
74 void CleanupRedundantLoads();
82 void BeginTextureDownload(
const std::string& textureName);
83 void BeginCubeMapTextureDownload(
const std::string& textureUrl);
85 void BeginTextureDownloads(
const std::vector<std::string>& textureUrls);
87 bool TryLoadTextureFromBufferAsync(
88 const std::string& url,
89 const std::vector<Byte>& buffer);
93 void LoadLocalTextureFromResource(
const std::string& url);
97 int NumberOfTexturesInFlight()
const;