d3dx9tex.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. #include <_mingw_unicode.h>
  2. /*
  3. * Copyright (C) 2008 Tony Wasserka
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2.1 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public
  16. * License along with this library; if not, write to the Free Software
  17. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  18. */
  19. #include "d3dx9.h"
  20. #ifndef __WINE_D3DX9TEX_H
  21. #define __WINE_D3DX9TEX_H
  22. /**********************************************
  23. ***************** Definitions ****************
  24. **********************************************/
  25. #define D3DX_FILTER_NONE 0x00000001
  26. #define D3DX_FILTER_POINT 0x00000002
  27. #define D3DX_FILTER_LINEAR 0x00000003
  28. #define D3DX_FILTER_TRIANGLE 0x00000004
  29. #define D3DX_FILTER_BOX 0x00000005
  30. #define D3DX_FILTER_MIRROR_U 0x00010000
  31. #define D3DX_FILTER_MIRROR_V 0x00020000
  32. #define D3DX_FILTER_MIRROR_W 0x00040000
  33. #define D3DX_FILTER_MIRROR 0x00070000
  34. #define D3DX_FILTER_DITHER 0x00080000
  35. #define D3DX_FILTER_DITHER_DIFFUSION 0x00100000
  36. #define D3DX_FILTER_SRGB_IN 0x00200000
  37. #define D3DX_FILTER_SRGB_OUT 0x00400000
  38. #define D3DX_FILTER_SRGB 0x00600000
  39. #define D3DX_SKIP_DDS_MIP_LEVELS_MASK 0x1f
  40. #define D3DX_SKIP_DDS_MIP_LEVELS_SHIFT 26
  41. #define D3DX_SKIP_DDS_MIP_LEVELS(l, f) ((((l) & D3DX_SKIP_DDS_MIP_LEVELS_MASK) \
  42. << D3DX_SKIP_DDS_MIP_LEVELS_SHIFT) | ((f) == D3DX_DEFAULT ? D3DX_FILTER_BOX : (f)))
  43. #define D3DX_NORMALMAP_MIRROR_U 0x00010000
  44. #define D3DX_NORMALMAP_MIRROR_V 0x00020000
  45. #define D3DX_NORMALMAP_MIRROR 0x00030000
  46. #define D3DX_NORMALMAP_INVERTSIGN 0x00080000
  47. #define D3DX_NORMALMAP_COMPUTE_OCCLUSION 0x00100000
  48. #define D3DX_CHANNEL_RED 0x00000001
  49. #define D3DX_CHANNEL_BLUE 0x00000002
  50. #define D3DX_CHANNEL_GREEN 0x00000004
  51. #define D3DX_CHANNEL_ALPHA 0x00000008
  52. #define D3DX_CHANNEL_LUMINANCE 0x00000010
  53. /**********************************************
  54. ****************** Typedefs ******************
  55. **********************************************/
  56. typedef enum _D3DXIMAGE_FILEFORMAT
  57. {
  58. D3DXIFF_BMP,
  59. D3DXIFF_JPG,
  60. D3DXIFF_TGA,
  61. D3DXIFF_PNG,
  62. D3DXIFF_DDS,
  63. D3DXIFF_PPM,
  64. D3DXIFF_DIB,
  65. D3DXIFF_HDR,
  66. D3DXIFF_PFM,
  67. D3DXIFF_FORCE_DWORD = 0x7fffffff
  68. } D3DXIMAGE_FILEFORMAT;
  69. typedef struct _D3DXIMAGE_INFO
  70. {
  71. UINT Width;
  72. UINT Height;
  73. UINT Depth;
  74. UINT MipLevels;
  75. D3DFORMAT Format;
  76. D3DRESOURCETYPE ResourceType;
  77. D3DXIMAGE_FILEFORMAT ImageFileFormat;
  78. } D3DXIMAGE_INFO;
  79. /**********************************************
  80. ****************** Functions *****************
  81. **********************************************/
  82. /* Typedefs for callback functions */
  83. typedef void (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *out, const D3DXVECTOR2 *texcoord,
  84. const D3DXVECTOR2 *texelsize, void *data);
  85. typedef void (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *out, const D3DXVECTOR3 *texcoord,
  86. const D3DXVECTOR3 *texelsize, void *data);
  87. #ifdef __cplusplus
  88. extern "C" {
  89. #endif
  90. /* Image Information */
  91. HRESULT WINAPI D3DXGetImageInfoFromFileA(const char *file, D3DXIMAGE_INFO *info);
  92. HRESULT WINAPI D3DXGetImageInfoFromFileW(const WCHAR *file, D3DXIMAGE_INFO *info);
  93. #define D3DXGetImageInfoFromFile __MINGW_NAME_AW(D3DXGetImageInfoFromFile)
  94. HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, const char *resource, D3DXIMAGE_INFO *info);
  95. HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, const WCHAR *resource, D3DXIMAGE_INFO *info);
  96. #define D3DXGetImageInfoFromResource __MINGW_NAME_AW(D3DXGetImageInfoFromResource)
  97. HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(const void *data, UINT data_size, D3DXIMAGE_INFO *info);
  98. /* Surface Loading/Saving */
  99. HRESULT WINAPI D3DXLoadSurfaceFromFileA(struct IDirect3DSurface9 *destsurface,
  100. const PALETTEENTRY *destpalette, const RECT *destrect, const char *srcfile,
  101. const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  102. HRESULT WINAPI D3DXLoadSurfaceFromFileW(struct IDirect3DSurface9 *destsurface,
  103. const PALETTEENTRY *destpalette, const RECT *destrect, const WCHAR *srcfile,
  104. const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  105. #define D3DXLoadSurfaceFromFile __MINGW_NAME_AW(D3DXLoadSurfaceFromFile)
  106. HRESULT WINAPI D3DXLoadSurfaceFromResourceA(struct IDirect3DSurface9 *destsurface,
  107. const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const char *resource,
  108. const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  109. HRESULT WINAPI D3DXLoadSurfaceFromResourceW(struct IDirect3DSurface9 *destsurface,
  110. const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const WCHAR *resource,
  111. const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  112. #define D3DXLoadSurfaceFromResource __MINGW_NAME_AW(D3DXLoadSurfaceFromResource)
  113. HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(struct IDirect3DSurface9 *destsurface,
  114. const PALETTEENTRY *destpalette, const RECT *destrect, const void *srcdata, UINT srcdatasize,
  115. const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  116. HRESULT WINAPI D3DXLoadSurfaceFromSurface(struct IDirect3DSurface9 *destsurface,
  117. const PALETTEENTRY *destpalette, const RECT *destrect, struct IDirect3DSurface9 *srcsurface,
  118. const PALETTEENTRY *srcpalette, const RECT *srcrect, DWORD filter, D3DCOLOR colorkey);
  119. HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface,
  120. const PALETTEENTRY *dst_palette, const RECT *dst_rect, const void *src_memory,
  121. D3DFORMAT src_format, UINT src_pitch, const PALETTEENTRY *src_palette, const RECT *src_rect,
  122. DWORD filter, D3DCOLOR color_key);
  123. HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(struct ID3DXBuffer **destbuffer,
  124. D3DXIMAGE_FILEFORMAT destformat, struct IDirect3DSurface9 *srcsurface,
  125. const PALETTEENTRY *srcpalette, const RECT *srcrect);
  126. HRESULT WINAPI D3DXSaveSurfaceToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
  127. struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect);
  128. HRESULT WINAPI D3DXSaveSurfaceToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
  129. struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect);
  130. #define D3DXSaveSurfaceToFile __MINGW_NAME_AW(D3DXSaveSurfaceToFile)
  131. /* Volume Loading/Saving */
  132. HRESULT WINAPI D3DXLoadVolumeFromFileA(struct IDirect3DVolume9 *destvolume,
  133. const PALETTEENTRY *destpalette, const D3DBOX *destbox, const char *srcfile,
  134. const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  135. HRESULT WINAPI D3DXLoadVolumeFromFileW( struct IDirect3DVolume9 *destvolume,
  136. const PALETTEENTRY *destpalette, const D3DBOX *destbox, const WCHAR *srcfile,
  137. const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  138. #define D3DXLoadVolumeFromFile __MINGW_NAME_AW(D3DXLoadVolumeFromFile)
  139. HRESULT WINAPI D3DXLoadVolumeFromResourceA(struct IDirect3DVolume9 *destvolume,
  140. const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const char *resource,
  141. const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  142. HRESULT WINAPI D3DXLoadVolumeFromResourceW(struct IDirect3DVolume9 *destvolume,
  143. const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const WCHAR *resource,
  144. const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  145. #define D3DXLoadVolumeFromResource __MINGW_NAME_AW(D3DXLoadVolumeFromResource)
  146. HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(struct IDirect3DVolume9 *destvolume,
  147. const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcdata, UINT srcdatasize,
  148. const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo);
  149. HRESULT WINAPI D3DXLoadVolumeFromVolume(struct IDirect3DVolume9 *destvolume,
  150. const PALETTEENTRY *destpalette, const D3DBOX *destbox, struct IDirect3DVolume9 *srcvolume,
  151. const PALETTEENTRY *srcpalette, const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey);
  152. HRESULT WINAPI D3DXLoadVolumeFromMemory(struct IDirect3DVolume9 *destvolume,
  153. const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcmemory,
  154. D3DFORMAT srcformat, UINT srcrowpitch, UINT srcslicepitch, const PALETTEENTRY *srcpalette,
  155. const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey);
  156. HRESULT WINAPI D3DXSaveVolumeToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
  157. struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox);
  158. HRESULT WINAPI D3DXSaveVolumeToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
  159. struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox);
  160. #define D3DXSaveVolumeToFile __MINGW_NAME_AW(D3DXSaveVolumeToFile)
  161. /* Texture, cube texture and volume texture creation */
  162. HRESULT WINAPI D3DXCheckTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height,
  163. UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
  164. HRESULT WINAPI D3DXCheckCubeTextureRequirements(struct IDirect3DDevice9 *device, UINT *size,
  165. UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
  166. HRESULT WINAPI D3DXCheckVolumeTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height,
  167. UINT *depth, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool);
  168. HRESULT WINAPI D3DXCreateTexture(struct IDirect3DDevice9 *device, UINT width, UINT height,
  169. UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DTexture9 **texture);
  170. HRESULT WINAPI D3DXCreateCubeTexture(struct IDirect3DDevice9 *device, UINT size,
  171. UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DCubeTexture9 **cube);
  172. HRESULT WINAPI D3DXCreateVolumeTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, UINT depth,
  173. UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DVolumeTexture9 **volume);
  174. HRESULT WINAPI D3DXCreateTextureFromFileA(struct IDirect3DDevice9 *device,
  175. const char *srcfile, struct IDirect3DTexture9 **texture);
  176. HRESULT WINAPI D3DXCreateTextureFromFileW(struct IDirect3DDevice9 *device,
  177. const WCHAR *srcfile, struct IDirect3DTexture9 **texture);
  178. #define D3DXCreateTextureFromFile __MINGW_NAME_AW(D3DXCreateTextureFromFile)
  179. HRESULT WINAPI D3DXCreateCubeTextureFromFileA(struct IDirect3DDevice9 *device,
  180. const char *srcfile, struct IDirect3DCubeTexture9 **cube);
  181. HRESULT WINAPI D3DXCreateCubeTextureFromFileW(struct IDirect3DDevice9 *device,
  182. const WCHAR *srcfile, struct IDirect3DCubeTexture9 **cube);
  183. #define D3DXCreateCubeTextureFromFile __MINGW_NAME_AW(D3DXCreateCubeTextureFromFile)
  184. HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(struct IDirect3DDevice9 *device,
  185. const char *srcfile, struct IDirect3DVolumeTexture9 **volume);
  186. HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(struct IDirect3DDevice9 *device,
  187. const WCHAR *srcfile, struct IDirect3DVolumeTexture9 **volume);
  188. #define D3DXCreateVolumeTextureFromFile __MINGW_NAME_AW(D3DXCreateVolumeTextureFromFile)
  189. HRESULT WINAPI D3DXCreateTextureFromResourceA(struct IDirect3DDevice9 *device,
  190. HMODULE srcmodule, const char *resource, struct IDirect3DTexture9 **texture);
  191. HRESULT WINAPI D3DXCreateTextureFromResourceW(struct IDirect3DDevice9 *device,
  192. HMODULE srcmodule, const WCHAR *resource, struct IDirect3DTexture9 **texture);
  193. #define D3DXCreateTextureFromResource __MINGW_NAME_AW(D3DXCreateTextureFromResource)
  194. HRESULT WINAPI D3DXCreateCubeTextureFromResourceA(struct IDirect3DDevice9 *device,
  195. HMODULE srcmodule, const char *resource, struct IDirect3DCubeTexture9 **cube);
  196. HRESULT WINAPI D3DXCreateCubeTextureFromResourceW(struct IDirect3DDevice9 *device,
  197. HMODULE srcmodule, const WCHAR *resource, struct IDirect3DCubeTexture9 **cube);
  198. #define D3DXCreateCubeTextureFromResource __MINGW_NAME_AW(D3DXCreateCubeTextureFromResource)
  199. HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(struct IDirect3DDevice9 *device,
  200. HMODULE srcmodule, const char *resource, struct IDirect3DVolumeTexture9 **volume);
  201. HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(struct IDirect3DDevice9 *device,
  202. HMODULE srcmodule, const WCHAR *resource, struct IDirect3DVolumeTexture9 **volume);
  203. #define D3DXCreateVolumeTextureFromResource __MINGW_NAME_AW(D3DXCreateVolumeTextureFromResource)
  204. HRESULT WINAPI D3DXCreateTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
  205. UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
  206. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  207. PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
  208. HRESULT WINAPI D3DXCreateTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
  209. UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
  210. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  211. PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
  212. #define D3DXCreateTextureFromFileEx __MINGW_NAME_AW(D3DXCreateTextureFromFileEx)
  213. HRESULT WINAPI D3DXCreateCubeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
  214. UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
  215. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  216. PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
  217. HRESULT WINAPI D3DXCreateCubeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
  218. UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
  219. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  220. PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
  221. #define D3DXCreateCubeTextureFromFileEx __MINGW_NAME_AW(D3DXCreateCubeTextureFromFileEx)
  222. HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile,
  223. UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
  224. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  225. PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
  226. HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile,
  227. UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
  228. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  229. PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
  230. #define D3DXCreateVolumeTextureFromFileEx __MINGW_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
  231. HRESULT WINAPI D3DXCreateTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
  232. const char *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
  233. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  234. PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
  235. HRESULT WINAPI D3DXCreateTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
  236. const WCHAR *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
  237. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  238. PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
  239. #define D3DXCreateTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateTextureFromResourceEx)
  240. HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
  241. const char *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
  242. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  243. PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
  244. HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
  245. const WCHAR *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
  246. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  247. PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
  248. #define D3DXCreateCubeTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
  249. HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule,
  250. const char *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
  251. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  252. PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
  253. HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule,
  254. const WCHAR *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
  255. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  256. PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
  257. #define D3DXCreateVolumeTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
  258. HRESULT WINAPI D3DXCreateTextureFromFileInMemory(struct IDirect3DDevice9 *device,
  259. const void *srcdata, UINT srcdatasize, struct IDirect3DTexture9 **texture);
  260. HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory(struct IDirect3DDevice9 *device,
  261. const void *srcdata, UINT srcdatasize, struct IDirect3DCubeTexture9 **cube);
  262. HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(struct IDirect3DDevice9 *device,
  263. const void *srcdata, UINT srcdatasize, struct IDirect3DVolumeTexture9 **volume);
  264. HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
  265. UINT srcdatasize, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format,
  266. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  267. PALETTEENTRY *palette, struct IDirect3DTexture9 **texture);
  268. HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
  269. UINT srcdatasize, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format,
  270. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  271. PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube);
  272. HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata,
  273. UINT srcdatasize, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format,
  274. D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo,
  275. PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume);
  276. HRESULT WINAPI D3DXSaveTextureToFileInMemory(struct ID3DXBuffer **destbuffer, D3DXIMAGE_FILEFORMAT destformat,
  277. struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
  278. HRESULT WINAPI D3DXSaveTextureToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat,
  279. struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
  280. HRESULT WINAPI D3DXSaveTextureToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat,
  281. struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette);
  282. #define D3DXSaveTextureToFile __MINGW_NAME_AW(D3DXSaveTextureToFile)
  283. /* Other functions */
  284. HRESULT WINAPI D3DXFilterTexture(struct IDirect3DBaseTexture9 *texture,
  285. const PALETTEENTRY *palette, UINT srclevel, DWORD filter);
  286. #define D3DXFilterCubeTexture D3DXFilterTexture
  287. #define D3DXFilterVolumeTexture D3DXFilterTexture
  288. HRESULT WINAPI D3DXFillTexture(struct IDirect3DTexture9 *texture, LPD3DXFILL2D function, void *data);
  289. HRESULT WINAPI D3DXFillCubeTexture(struct IDirect3DCubeTexture9 *cube, LPD3DXFILL3D function, void *data);
  290. HRESULT WINAPI D3DXFillVolumeTexture(struct IDirect3DVolumeTexture9 *volume, LPD3DXFILL3D function, void *data);
  291. HRESULT WINAPI D3DXFillTextureTX(struct IDirect3DTexture9 *texture, ID3DXTextureShader *texture_shader);
  292. HRESULT WINAPI D3DXFillCubeTextureTX(struct IDirect3DCubeTexture9 *cube, ID3DXTextureShader *texture_shader);
  293. HRESULT WINAPI D3DXFillVolumeTextureTX(struct IDirect3DVolumeTexture9 *volume, ID3DXTextureShader *texture_shader);
  294. HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *srctexture,
  295. const PALETTEENTRY *srcpalette, DWORD flags, DWORD channel, float amplitude);
  296. #ifdef __cplusplus
  297. }
  298. #endif
  299. #endif /* __WINE_D3DX9TEX_H */