absence_thelab
annotate src/3deng/textureman.h @ 0:1cffe3409164
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 23 Oct 2014 01:46:07 +0300 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef _TEXTUREMAN_H_ |
nuclear@0 | 2 #define _TEXTUREMAN_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include <string> |
nuclear@0 | 5 #include "hashtable.h" |
nuclear@0 | 6 #include "typedefs.h" |
nuclear@0 | 7 #include "d3d8.h" |
nuclear@0 | 8 #include "3dengtypes.h" |
nuclear@0 | 9 |
nuclear@0 | 10 class GraphicsContext; |
nuclear@0 | 11 |
nuclear@0 | 12 const dword UsageRenderTarget = D3DUSAGE_RENDERTARGET; |
nuclear@0 | 13 const dword UsageDepthStencil = D3DUSAGE_DEPTHSTENCIL; |
nuclear@0 | 14 |
nuclear@0 | 15 class TextureManager { |
nuclear@0 | 16 private: |
nuclear@0 | 17 GraphicsContext *gc; |
nuclear@0 | 18 HashTable<std::string, Texture*> textures; |
nuclear@0 | 19 int notfilecount; |
nuclear@0 | 20 |
nuclear@0 | 21 // private copy constructor and assignment op, to prohibit copying |
nuclear@0 | 22 TextureManager(const TextureManager &tm) {} |
nuclear@0 | 23 void operator =(const TextureManager &tm) {} |
nuclear@0 | 24 |
nuclear@0 | 25 void CreateStockTextures(); |
nuclear@0 | 26 |
nuclear@0 | 27 public: |
nuclear@0 | 28 TextureManager(GraphicsContext *gc = 0); |
nuclear@0 | 29 ~TextureManager(); |
nuclear@0 | 30 |
nuclear@0 | 31 void SetGraphicsContext(GraphicsContext *gc); |
nuclear@0 | 32 |
nuclear@0 | 33 Texture *LoadTexture(const char *fname); |
nuclear@0 | 34 Texture *CreateTexture(dword x, dword y, dword usage, bool mipmaps, bool local=false); |
nuclear@0 | 35 Texture *AddTexture(Texture *tex, const char *name=0); |
nuclear@0 | 36 Texture *AddTexture(const char *fname); |
nuclear@0 | 37 }; |
nuclear@0 | 38 |
nuclear@0 | 39 #endif // _TEXTUREMAN_H_ |