00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IVIDEO_TEXTURE_H__
00020 #define __CS_IVIDEO_TEXTURE_H__
00021
00030 #include "csutil/scf.h"
00031 #include "cstypes.h"
00032
00033 struct iGraphics2D;
00034 struct iGraphics3D;
00035
00036 SCF_VERSION (iTextureHandle, 2, 2, 2);
00037
00041 struct iTextureHandle : public iBase
00042 {
00044 virtual int GetFlags () = 0;
00045
00047 virtual void SetKeyColor (bool Enable) = 0;
00048
00050 virtual void SetKeyColor (uint8 red, uint8 green, uint8 blue) = 0;
00051
00053 virtual bool GetKeyColor () = 0;
00054
00056 virtual void GetKeyColor (uint8 &red, uint8 &green, uint8 &blue) = 0;
00057
00068 virtual bool GetMipMapDimensions (int mipmap, int &mw, int &mh) = 0;
00069
00077 virtual void GetOriginalDimensions (int& mw, int& mh) = 0;
00078
00079 #ifdef CS_USE_NEW_RENDERER
00080
00081
00082 enum { CS_TEX_IMG_1D = 0, CS_TEX_IMG_2D, CS_TEX_IMG_3D, CS_TEX_IMG_CUBEMAP };
00086 enum { CS_TEXTURE_CUBE_POS_X = 0, CS_TEXTURE_CUBE_NEG_X,
00087 CS_TEXTURE_CUBE_POS_Y, CS_TEXTURE_CUBE_NEG_Y,
00088 CS_TEXTURE_CUBE_POS_Z, CS_TEXTURE_CUBE_NEG_Z };
00089
00100 virtual bool GetMipMapDimensions (int mipmap, int &mw, int &mh, int &md) = 0;
00101
00109 virtual void GetOriginalDimensions (int& mw, int& mh, int &md) = 0;
00110
00119 virtual void SetTextureTarget(int target) = 0;
00120
00121 #endif // CS_USE_NEW_RENDERER
00122
00124 virtual void GetMeanColor (uint8 &red, uint8 &green, uint8 &blue) = 0;
00125
00127 virtual void *GetCacheData () = 0;
00128
00130 virtual void SetCacheData (void *d) = 0;
00131
00136 virtual void *GetPrivateObject () = 0;
00137
00143 virtual bool GetAlphaMap () = 0;
00144
00150 virtual void Prepare () = 0;
00151
00157 virtual iGraphics2D* GetCanvas () = 0;
00158 };
00159
00162 #endif // __CS_IVIDEO_TEXTURE_H__