6 #include "IAsyncTextureRequestor.h"
11 #include "WebLoadRequestCompletionCallback.h"
16 #include "PendingWebRequestsContainer.h"
17 #include "PendingAsyncTextureLoadsContainer.h"
18 #include "ICallback.h"
19 #include "ITextureFileLoader.h"
25 namespace AsyncTexturing
27 typedef std::vector<Rendering::AsyncTexturing::IAsyncTexture*> TIAsyncTextures;
44 bool generateMipmaps=
false,
45 bool tryToUpdateIfModified=
false);
50 void IssueNextLoadRequest();
51 bool HasPendingLoadRequests()
const;
54 int TextureCount()
const;
56 int PendingTextureLoadsCount()
const;
70 bool Contains(
const std::string& textureUrl)
const;
75 bool tryToUpdateIfModified);
87 void BeginLoadTextureFromBuffer(
88 const std::vector<Byte>& buffer,
91 typedef std::map<HttpAsyncTexture*, Web::IWebLoadRequest*> TTextureToRequest;
92 typedef std::deque<HttpAsyncTexture*> TTextureDeque;
93 typedef std::map<std::string, HttpAsyncTexture*> TStringToTexture;
94 typedef std::map<HttpAsyncTexture*, Rendering::AsyncTexturing::IAsyncTextureLoad*> TTextureToDecode;
96 TTextureToRequest m_requestByTexture;
97 TTextureDeque m_pendingLoads;
98 TStringToTexture m_texturesByUrl;
99 TTextureToDecode m_decodeByTexture;
100 int m_inFlightLoadCount;