1 /*---------------------------------------------------------------------------*
2 
3   Copyright (C) 2010-2011 Nintendo.  All rights reserved.
4 
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law.  They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10 
11  *---------------------------------------------------------------------------*/
12 // -------------------------------------------------------
13 // ddsReader.h
14 //
15 // Declares functions for ddsReader library.
16 //
17 // -------------------------------------------------------
18 #ifndef DDSREADER_H
19 #define DDSREADER_H
20 
21 #include "TexConvert.h"
22 
23 namespace DDSReader
24 {
25 #define DDSREADER_API __cdecl
26 
27 /// @addtogroup GX2TexReaderGroup
28 /// @{
29 
30 /// \brief Using data from a DDS file, fill in the supplied GX2Surface with surface data.
31 ///
32 /// This routine provides a common interface for loading various surface formats
33 /// via the DirectDraw Surface file format (.dds). The contents of the file are
34 /// loaded into the provided GX2Surface structure, creating memory for surface
35 /// data and filling in descriptive fields in the structure appropriately.
36 ///
37 /// \param pszFilename Input DDS texture file
38 /// \param pOutSurface GX2Surface structure to fill with converted DDS file data.
39 ///
40 /// \donotcall \notthreadsafe \hostonly \enddonotcall
41 ///
42 bool DDSREADER_API DDSLoadFile(const TCHAR* pszFilename, GX2Surface* pOutSurface);
43 
44 /// \brief Free GX2Surface image (mip) buffer
45 ///
46 /// \param pSurface GX2Surface created from DDS data
47 ///
48 /// \donotcall \notthreadsafe \hostonly \enddonotcall
49 ///
50 bool DDSREADER_API DDSFree(GX2Surface* pSurface);
51 
52 /// \brief Creating DDS file using data from a GX2 Surface
53 ///
54 /// \param pszFilename Output DDS texture file
55 /// \param pSurface GX2Surface to create dds
56 ///
57 /// \donotcall \notthreadsafe \hostonly \enddonotcall
58 ///
59 bool DDSREADER_API DDSSaveFile(const TCHAR* pszFilename, const GX2Surface* pSurface);
60 
61 /// @}
62 
63 }   //namespace DDSReader
64 
65 
66 #endif  //#ifndef DDSREADER_H
67