00001 #ifndef TEXTURE_H 00002 #define TEXTURE_H 00003 00004 #include <string> 00005 00006 typedef enum 00007 { 00008 TEXTURE_FORMAT_NULL = 0, 00009 TEXTURE_FORMAT_TGA, 00010 TEXTURE_FORMAT_BMP, 00011 TEXTURE_FORMAT_PNG, 00012 TEXTURE_FORMAT_JPG, 00013 TEXTURE_FORMAT_DDS 00014 } ETextureFormat; 00015 00016 typedef enum 00017 { 00018 TEXTURE_TYPE_NULL = 0, 00019 TEXTURE_TYPE_TEXTURE_2D, 00020 TEXTURE_TYPE_MIPMAPS_2D, 00021 } ETextureType; 00022 00023 class CTextureManager; 00024 00025 class CTexture 00026 { 00027 friend class CTextureManager; 00028 00029 protected: 00030 unsigned int m_uiTexture; 00031 unsigned short m_unWidth; 00032 unsigned short m_unHeight; 00033 unsigned char m_ucColor; 00034 unsigned int m_uiIndex; 00035 std::string m_szFilename; 00036 00037 CTexture (); 00038 virtual ~CTexture (); 00039 00040 public: 00041 virtual void Bind () const = 0; 00042 virtual ETextureType Type () const = 0; 00043 00044 unsigned short GetWidth () const; 00045 unsigned short GetHeight () const; 00046 unsigned short GetColor () const; 00047 const char* GetFilename () const; 00048 }; 00049 00050 #endif //TEXTURE_H
1.3.8