/*
 =======================================================================================
  Name        : Textu_st.h
  Description : Device indepent Texture structure
 =======================================================================================
 */
 
#ifndef GLI_TEXTURE_ST_H
#define GLI_TEXTURE_ST_H
 
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
 
 
/*
 * Texture structure
 */
typedef struct GLI_tdstTexture_
{
    long                    bIsAvailable;
    long                    lTextureQuality;
 
    /* texture data */
    void                    *p_vBitMap;
    void                    *p_vColorTable;
 
    /* Parameter specific for card. */
    void                    *p_stSpecParam;
 
    
    /* texture capabilies */
    long                    lTextureCaps;
 
    /* texture size (after compression) */
    unsigned short          lHeight;
    unsigned short          lWidth;
  
    /* Real size (before compreesion). */
    unsigned short          lRealHeight;
    unsigned short          lRealWidth;
    
    /* data for scrolling texture */
    float                   fAddU;
    float                   fAddV;
    long                    lIncrementIsEnable;
 
    /* chromakey data */
    unsigned long           lChromakeyColorRGBA;
    
    
    /* MipMapping */
    long                    lNumberOfLod;
    unsigned long           lCompressionCounter;
    unsigned long           lTypeOfCompression;
    unsigned long           lTypeOfMipMapping;
    //struct GLI_tdstTexture_ *p_NextLodOfTexture;
    //struct GLI_tdstTexture_ *p_PrevLodOfTexture;
    struct GLI_tdstTexture_ *p_TextureOfSubstitution;
 
    unsigned char           ucBilinearMode;
    unsigned char           ucCylingMode;
 
    char                    a255_cFileName[ 128 ];
    //char                    *szName;
 
#ifdef PROCEDURAL_TEXTURE
    long                    l_Type;
    void                    *pv_Bitmap2;
    long                    l_RefreshRate;
    long                    l_RefreshCounter;
    long                    l_RenderingCounter;
#endif
} GLI_tdstTexture;
 
 
#ifdef __cplusplus
};
#endif /* __cplusplus */
 
#endif /* GLI_TEXTURE_H*/
