All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AsyncLoadersModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Modules.h"
7 #include "AsyncTexturing.h"
8 #include "AsyncModels.h"
9 #include "Web.h"
10 #include "Helpers.h"
11 #include "GLHelpers.h"
12 #include "Rendering.h"
13 
14 namespace Eegeo
15 {
16  namespace Modules
17  {
18  namespace Core
19  {
21  {
22  public:
23  AsyncLoadersModule(Web::IWebLoadRequestFactory& webLoadRequestFactory,
24  Helpers::IHttpCache& httpCache,
25  Helpers::ITextureFileLoader& textureLoader,
27  );
28 
29 
31  static AsyncLoadersModule* Create(Web::IWebLoadRequestFactory& webLoadRequestFactory,
32  Helpers::IHttpCache& httpCache,
33  Helpers::ITextureFileLoader& textureLoader,
35 
36  Rendering::AsyncTexturing::HttpAsyncTextureLoader& GetHttpAsyncTextureLoader() const;
37  Rendering::AsyncTexturing::HttpAsyncCubeTextureLoader& GetHttpAsyncCubeTextureLoader() const;
38  Rendering::AsyncTexturing::LocalAsyncTextureLoader& GetLocalAsyncTextureLoader() const;
39 
40  Rendering::AsyncTexturing::IAsyncTexture& GetPlaceholderTexture() const;
41  Rendering::AsyncTexturing::IAsyncTexture& GetPlaceholderCubeTexture() const;
42 
43  private:
44  Rendering::AsyncTexturing::HttpAsyncTextureLoader* m_pHttpAsyncTextureLoader;
45  Rendering::AsyncTexturing::HttpAsyncCubeTextureLoader* m_pHttpAsyncCubeTextureLoader;
46  Rendering::AsyncTexturing::LocalAsyncTextureLoader* m_pLocalAsyncTextureLoader;
47 
48  Rendering::AsyncTexturing::IAsyncTexture* m_pProceduralPlaceholder;
49  Rendering::AsyncTexturing::IAsyncTexture* m_pProceduralPlaceholderCube;
50  Rendering::AsyncTexturing::IAsyncTexture* m_pLoadedPlaceholder;
51  Rendering::AsyncTexturing::IAsyncTexture* m_pLoadedPlaceholderCube;
52  };
53  }
54  }
55 }