/***************************************************************************
 *                          Zanoza Modeler v2.x                            *
 *      This is unpublished propietary source code of Zanoza Software.     *
 *      The copyright notice does not evidence any actual or intended      *
 *                    publication of such source code.                     *
 *                                                                         *
 *                Copyright (c) 2002-2003 Zanoza Software.                 *
 *                                                                         *
 *                        All rights reserved.                             *
 ***************************************************************************
 *--------------------------------------------------------------------------
 * @author:   Oleg M.
 *--------------------------------------------------------------------------
 * @purpose:  ZModeler 2.x textures helpers
 *--------------------------------------------------------------------------
 * @histroy: 08.07.2003. Created
 */
#ifndef textureshelper_h_included
#define textureshelper_h_included

#include <rend/ITexture.h>

namespace rend
{
  DLL_LINKAGE ZRESULT ZAPICALL createTexture(DWORD format, DWORD width, DWORD height, BYTE* pData /*in (D3DFORMAT)format */, IBaseTexture** ppBaseTexture);
  DLL_LINKAGE ZRESULT ZAPICALL createTextureRGBA(DWORD format, DWORD width, DWORD height, DWORD* pRGBAData, IBaseTexture** ppBaseTexture);
  DLL_LINKAGE ZRESULT ZAPICALL createTextureABGR(DWORD format, DWORD width, DWORD height, DWORD* pABGRData, IBaseTexture** ppBaseTexture);
  DLL_LINKAGE long ZAPICALL getTextureDataSize(DWORD width, DWORD height, DWORD dwFormat, DWORD dwStages=1);//1 stage = 1 texture;
  DLL_LINKAGE ZRESULT ZAPICALL convertRGBATextureToDXT1(DWORD width, DWORD height, IBaseTexture* pSourceTexture, BYTE*& pOutData, long&/*inout*/ nDataSize, bool bMipMap=true);
  DLL_LINKAGE ZRESULT ZAPICALL convertRGBATextureToDXT5(DWORD width, DWORD height, IBaseTexture* pSourceTexture, BYTE*& pOutData, long&/*inout*/ nDataSize, bool bMipMap=true);
};//rend


#endif //textureshelper_h_included



