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 20 #include <d3dx9.h> 21 22 #ifndef __WINE_D3DX9TEX_H 23 #define __WINE_D3DX9TEX_H 24 25 /********************************************** 26 ***************** Definitions **************** 27 **********************************************/ 28 #define D3DX_FILTER_NONE 0x00000001 29 #define D3DX_FILTER_POINT 0x00000002 30 #define D3DX_FILTER_LINEAR 0x00000003 31 #define D3DX_FILTER_TRIANGLE 0x00000004 32 #define D3DX_FILTER_BOX 0x00000005 33 #define D3DX_FILTER_MIRROR_U 0x00010000 34 #define D3DX_FILTER_MIRROR_V 0x00020000 35 #define D3DX_FILTER_MIRROR_W 0x00040000 36 #define D3DX_FILTER_MIRROR 0x00070000 37 #define D3DX_FILTER_DITHER 0x00080000 38 #define D3DX_FILTER_DITHER_DIFFUSION 0x00100000 39 #define D3DX_FILTER_SRGB_IN 0x00200000 40 #define D3DX_FILTER_SRGB_OUT 0x00400000 41 #define D3DX_FILTER_SRGB 0x00600000 42 43 #define D3DX_SKIP_DDS_MIP_LEVELS_MASK 0x1f 44 #define D3DX_SKIP_DDS_MIP_LEVELS_SHIFT 26 45 #define D3DX_SKIP_DDS_MIP_LEVELS(l, f) ((((l) & D3DX_SKIP_DDS_MIP_LEVELS_MASK) \ 46 << D3DX_SKIP_DDS_MIP_LEVELS_SHIFT) | ((f) == D3DX_DEFAULT ? D3DX_FILTER_BOX : (f))) 47 48 #define D3DX_NORMALMAP_MIRROR_U 0x00010000 49 #define D3DX_NORMALMAP_MIRROR_V 0x00020000 50 #define D3DX_NORMALMAP_MIRROR 0x00030000 51 #define D3DX_NORMALMAP_INVERTSIGN 0x00080000 52 #define D3DX_NORMALMAP_COMPUTE_OCCLUSION 0x00100000 53 54 #define D3DX_CHANNEL_RED 0x00000001 55 #define D3DX_CHANNEL_BLUE 0x00000002 56 #define D3DX_CHANNEL_GREEN 0x00000004 57 #define D3DX_CHANNEL_ALPHA 0x00000008 58 #define D3DX_CHANNEL_LUMINANCE 0x00000010 59 60 /********************************************** 61 ****************** Typedefs ****************** 62 **********************************************/ 63 typedef enum _D3DXIMAGE_FILEFORMAT 64 { 65 D3DXIFF_BMP, 66 D3DXIFF_JPG, 67 D3DXIFF_TGA, 68 D3DXIFF_PNG, 69 D3DXIFF_DDS, 70 D3DXIFF_PPM, 71 D3DXIFF_DIB, 72 D3DXIFF_HDR, 73 D3DXIFF_PFM, 74 D3DXIFF_FORCE_DWORD = 0x7fffffff 75 } D3DXIMAGE_FILEFORMAT; 76 77 typedef struct _D3DXIMAGE_INFO 78 { 79 UINT Width; 80 UINT Height; 81 UINT Depth; 82 UINT MipLevels; 83 D3DFORMAT Format; 84 D3DRESOURCETYPE ResourceType; 85 D3DXIMAGE_FILEFORMAT ImageFileFormat; 86 } D3DXIMAGE_INFO; 87 88 /********************************************** 89 ****************** Functions ***************** 90 **********************************************/ 91 /* Typedefs for callback functions */ 92 typedef void (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *out, const D3DXVECTOR2 *texcoord, 93 const D3DXVECTOR2 *texelsize, void *data); 94 typedef void (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *out, const D3DXVECTOR3 *texcoord, 95 const D3DXVECTOR3 *texelsize, void *data); 96 97 #ifdef __cplusplus 98 extern "C" { 99 #endif 100 101 102 /* Image Information */ 103 HRESULT WINAPI D3DXGetImageInfoFromFileA(const char *file, D3DXIMAGE_INFO *info); 104 HRESULT WINAPI D3DXGetImageInfoFromFileW(const WCHAR *file, D3DXIMAGE_INFO *info); 105 #define D3DXGetImageInfoFromFile __MINGW_NAME_AW(D3DXGetImageInfoFromFile) 106 107 HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, const char *resource, D3DXIMAGE_INFO *info); 108 HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, const WCHAR *resource, D3DXIMAGE_INFO *info); 109 #define D3DXGetImageInfoFromResource __MINGW_NAME_AW(D3DXGetImageInfoFromResource) 110 111 HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(const void *data, UINT data_size, D3DXIMAGE_INFO *info); 112 113 114 /* Surface Loading/Saving */ 115 HRESULT WINAPI D3DXLoadSurfaceFromFileA(struct IDirect3DSurface9 *destsurface, 116 const PALETTEENTRY *destpalette, const RECT *destrect, const char *srcfile, 117 const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 118 HRESULT WINAPI D3DXLoadSurfaceFromFileW(struct IDirect3DSurface9 *destsurface, 119 const PALETTEENTRY *destpalette, const RECT *destrect, const WCHAR *srcfile, 120 const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 121 #define D3DXLoadSurfaceFromFile __MINGW_NAME_AW(D3DXLoadSurfaceFromFile) 122 123 HRESULT WINAPI D3DXLoadSurfaceFromResourceA(struct IDirect3DSurface9 *destsurface, 124 const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const char *resource, 125 const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 126 HRESULT WINAPI D3DXLoadSurfaceFromResourceW(struct IDirect3DSurface9 *destsurface, 127 const PALETTEENTRY *destpalette, const RECT *destrect, HMODULE srcmodule, const WCHAR *resource, 128 const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 129 #define D3DXLoadSurfaceFromResource __MINGW_NAME_AW(D3DXLoadSurfaceFromResource) 130 131 HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(struct IDirect3DSurface9 *destsurface, 132 const PALETTEENTRY *destpalette, const RECT *destrect, const void *srcdata, UINT srcdatasize, 133 const RECT *srcrect, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 134 135 HRESULT WINAPI D3DXLoadSurfaceFromSurface(struct IDirect3DSurface9 *destsurface, 136 const PALETTEENTRY *destpalette, const RECT *destrect, struct IDirect3DSurface9 *srcsurface, 137 const PALETTEENTRY *srcpalette, const RECT *srcrect, DWORD filter, D3DCOLOR colorkey); 138 139 HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface, 140 const PALETTEENTRY *dst_palette, const RECT *dst_rect, const void *src_memory, 141 D3DFORMAT src_format, UINT src_pitch, const PALETTEENTRY *src_palette, const RECT *src_rect, 142 DWORD filter, D3DCOLOR color_key); 143 144 HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(struct ID3DXBuffer **destbuffer, 145 D3DXIMAGE_FILEFORMAT destformat, struct IDirect3DSurface9 *srcsurface, 146 const PALETTEENTRY *srcpalette, const RECT *srcrect); 147 148 HRESULT WINAPI D3DXSaveSurfaceToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat, 149 struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect); 150 HRESULT WINAPI D3DXSaveSurfaceToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat, 151 struct IDirect3DSurface9 *srcsurface, const PALETTEENTRY *srcpalette, const RECT *srcrect); 152 #define D3DXSaveSurfaceToFile __MINGW_NAME_AW(D3DXSaveSurfaceToFile) 153 154 155 /* Volume Loading/Saving */ 156 HRESULT WINAPI D3DXLoadVolumeFromFileA(struct IDirect3DVolume9 *destvolume, 157 const PALETTEENTRY *destpalette, const D3DBOX *destbox, const char *srcfile, 158 const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 159 HRESULT WINAPI D3DXLoadVolumeFromFileW( struct IDirect3DVolume9 *destvolume, 160 const PALETTEENTRY *destpalette, const D3DBOX *destbox, const WCHAR *srcfile, 161 const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 162 #define D3DXLoadVolumeFromFile __MINGW_NAME_AW(D3DXLoadVolumeFromFile) 163 164 HRESULT WINAPI D3DXLoadVolumeFromResourceA(struct IDirect3DVolume9 *destvolume, 165 const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const char *resource, 166 const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 167 HRESULT WINAPI D3DXLoadVolumeFromResourceW(struct IDirect3DVolume9 *destvolume, 168 const PALETTEENTRY *destpalette, const D3DBOX *destbox, HMODULE srcmodule, const WCHAR *resource, 169 const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 170 #define D3DXLoadVolumeFromResource __MINGW_NAME_AW(D3DXLoadVolumeFromResource) 171 172 HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(struct IDirect3DVolume9 *destvolume, 173 const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcdata, UINT srcdatasize, 174 const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo); 175 176 HRESULT WINAPI D3DXLoadVolumeFromVolume(struct IDirect3DVolume9 *destvolume, 177 const PALETTEENTRY *destpalette, const D3DBOX *destbox, struct IDirect3DVolume9 *srcvolume, 178 const PALETTEENTRY *srcpalette, const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey); 179 180 HRESULT WINAPI D3DXLoadVolumeFromMemory(struct IDirect3DVolume9 *destvolume, 181 const PALETTEENTRY *destpalette, const D3DBOX *destbox, const void *srcmemory, 182 D3DFORMAT srcformat, UINT srcrowpitch, UINT srcslicepitch, const PALETTEENTRY *srcpalette, 183 const D3DBOX *srcbox, DWORD filter, D3DCOLOR colorkey); 184 185 HRESULT WINAPI D3DXSaveVolumeToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat, 186 struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox); 187 HRESULT WINAPI D3DXSaveVolumeToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat, 188 struct IDirect3DVolume9 *srcvolume, const PALETTEENTRY *srcpalette, const D3DBOX *srcbox); 189 #define D3DXSaveVolumeToFile __MINGW_NAME_AW(D3DXSaveVolumeToFile) 190 191 192 /* Texture, cube texture and volume texture creation */ 193 HRESULT WINAPI D3DXCheckTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height, 194 UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool); 195 HRESULT WINAPI D3DXCheckCubeTextureRequirements(struct IDirect3DDevice9 *device, UINT *size, 196 UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool); 197 HRESULT WINAPI D3DXCheckVolumeTextureRequirements(struct IDirect3DDevice9 *device, UINT *width, UINT *height, 198 UINT *depth, UINT *miplevels, DWORD usage, D3DFORMAT *format, D3DPOOL pool); 199 200 HRESULT WINAPI D3DXCreateTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, 201 UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DTexture9 **texture); 202 HRESULT WINAPI D3DXCreateCubeTexture(struct IDirect3DDevice9 *device, UINT size, 203 UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DCubeTexture9 **cube); 204 HRESULT WINAPI D3DXCreateVolumeTexture(struct IDirect3DDevice9 *device, UINT width, UINT height, UINT depth, 205 UINT miplevels, DWORD usage, D3DFORMAT format, D3DPOOL pool, struct IDirect3DVolumeTexture9 **volume); 206 207 HRESULT WINAPI D3DXCreateTextureFromFileA(struct IDirect3DDevice9 *device, 208 const char *srcfile, struct IDirect3DTexture9 **texture); 209 HRESULT WINAPI D3DXCreateTextureFromFileW(struct IDirect3DDevice9 *device, 210 const WCHAR *srcfile, struct IDirect3DTexture9 **texture); 211 #define D3DXCreateTextureFromFile __MINGW_NAME_AW(D3DXCreateTextureFromFile) 212 213 HRESULT WINAPI D3DXCreateCubeTextureFromFileA(struct IDirect3DDevice9 *device, 214 const char *srcfile, struct IDirect3DCubeTexture9 **cube); 215 HRESULT WINAPI D3DXCreateCubeTextureFromFileW(struct IDirect3DDevice9 *device, 216 const WCHAR *srcfile, struct IDirect3DCubeTexture9 **cube); 217 #define D3DXCreateCubeTextureFromFile __MINGW_NAME_AW(D3DXCreateCubeTextureFromFile) 218 219 HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(struct IDirect3DDevice9 *device, 220 const char *srcfile, struct IDirect3DVolumeTexture9 **volume); 221 HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(struct IDirect3DDevice9 *device, 222 const WCHAR *srcfile, struct IDirect3DVolumeTexture9 **volume); 223 #define D3DXCreateVolumeTextureFromFile __MINGW_NAME_AW(D3DXCreateVolumeTextureFromFile) 224 225 HRESULT WINAPI D3DXCreateTextureFromResourceA(struct IDirect3DDevice9 *device, 226 HMODULE srcmodule, const char *resource, struct IDirect3DTexture9 **texture); 227 HRESULT WINAPI D3DXCreateTextureFromResourceW(struct IDirect3DDevice9 *device, 228 HMODULE srcmodule, const WCHAR *resource, struct IDirect3DTexture9 **texture); 229 #define D3DXCreateTextureFromResource __MINGW_NAME_AW(D3DXCreateTextureFromResource) 230 231 HRESULT WINAPI D3DXCreateCubeTextureFromResourceA(struct IDirect3DDevice9 *device, 232 HMODULE srcmodule, const char *resource, struct IDirect3DCubeTexture9 **cube); 233 HRESULT WINAPI D3DXCreateCubeTextureFromResourceW(struct IDirect3DDevice9 *device, 234 HMODULE srcmodule, const WCHAR *resource, struct IDirect3DCubeTexture9 **cube); 235 #define D3DXCreateCubeTextureFromResource __MINGW_NAME_AW(D3DXCreateCubeTextureFromResource) 236 237 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(struct IDirect3DDevice9 *device, 238 HMODULE srcmodule, const char *resource, struct IDirect3DVolumeTexture9 **volume); 239 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(struct IDirect3DDevice9 *device, 240 HMODULE srcmodule, const WCHAR *resource, struct IDirect3DVolumeTexture9 **volume); 241 #define D3DXCreateVolumeTextureFromResource __MINGW_NAME_AW(D3DXCreateVolumeTextureFromResource) 242 243 HRESULT WINAPI D3DXCreateTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile, 244 UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, 245 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 246 PALETTEENTRY *palette, struct IDirect3DTexture9 **texture); 247 HRESULT WINAPI D3DXCreateTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile, 248 UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, 249 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 250 PALETTEENTRY *palette, struct IDirect3DTexture9 **texture); 251 #define D3DXCreateTextureFromFileEx __MINGW_NAME_AW(D3DXCreateTextureFromFileEx) 252 253 HRESULT WINAPI D3DXCreateCubeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile, 254 UINT size, UINT miplevels, DWORD usage, D3DFORMAT format, 255 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 256 PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube); 257 HRESULT WINAPI D3DXCreateCubeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile, 258 UINT size, UINT miplevels, DWORD usage, D3DFORMAT format, 259 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 260 PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube); 261 #define D3DXCreateCubeTextureFromFileEx __MINGW_NAME_AW(D3DXCreateCubeTextureFromFileEx) 262 263 HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile, 264 UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format, 265 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 266 PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume); 267 HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile, 268 UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format, 269 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 270 PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume); 271 #define D3DXCreateVolumeTextureFromFileEx __MINGW_NAME_AW(D3DXCreateVolumeTextureFromFileEx) 272 273 HRESULT WINAPI D3DXCreateTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule, 274 const char *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, 275 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 276 PALETTEENTRY *palette, struct IDirect3DTexture9 **texture); 277 HRESULT WINAPI D3DXCreateTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule, 278 const WCHAR *resource, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, 279 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 280 PALETTEENTRY *palette, struct IDirect3DTexture9 **texture); 281 #define D3DXCreateTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateTextureFromResourceEx) 282 283 HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule, 284 const char *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format, 285 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 286 PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube); 287 HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule, 288 const WCHAR *resource, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format, 289 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 290 PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube); 291 #define D3DXCreateCubeTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateCubeTextureFromResourceEx) 292 293 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule, 294 const char *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format, 295 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 296 PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume); 297 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule, 298 const WCHAR *resource, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format, 299 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 300 PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume); 301 #define D3DXCreateVolumeTextureFromResourceEx __MINGW_NAME_AW(D3DXCreateVolumeTextureFromResourceEx) 302 303 HRESULT WINAPI D3DXCreateTextureFromFileInMemory(struct IDirect3DDevice9 *device, 304 const void *srcdata, UINT srcdatasize, struct IDirect3DTexture9 **texture); 305 HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory(struct IDirect3DDevice9 *device, 306 const void *srcdata, UINT srcdatasize, struct IDirect3DCubeTexture9 **cube); 307 HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(struct IDirect3DDevice9 *device, 308 const void *srcdata, UINT srcdatasize, struct IDirect3DVolumeTexture9 **volume); 309 310 HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata, 311 UINT srcdatasize, UINT width, UINT height, UINT miplevels, DWORD usage, D3DFORMAT format, 312 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 313 PALETTEENTRY *palette, struct IDirect3DTexture9 **texture); 314 HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata, 315 UINT srcdatasize, UINT size, UINT miplevels, DWORD usage, D3DFORMAT format, 316 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 317 PALETTEENTRY *palette, struct IDirect3DCubeTexture9 **cube); 318 HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(struct IDirect3DDevice9 *device, const void *srcdata, 319 UINT srcdatasize, UINT width, UINT height, UINT depth, UINT miplevels, DWORD usage, D3DFORMAT format, 320 D3DPOOL pool, DWORD filter, DWORD mipfilter, D3DCOLOR colorkey, D3DXIMAGE_INFO *srcinfo, 321 PALETTEENTRY *palette, struct IDirect3DVolumeTexture9 **volume); 322 323 HRESULT WINAPI D3DXSaveTextureToFileInMemory(struct ID3DXBuffer **destbuffer, D3DXIMAGE_FILEFORMAT destformat, 324 struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette); 325 HRESULT WINAPI D3DXSaveTextureToFileA(const char *destfile, D3DXIMAGE_FILEFORMAT destformat, 326 struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette); 327 HRESULT WINAPI D3DXSaveTextureToFileW(const WCHAR *destfile, D3DXIMAGE_FILEFORMAT destformat, 328 struct IDirect3DBaseTexture9 *srctexture, const PALETTEENTRY *srcpalette); 329 #define D3DXSaveTextureToFile __MINGW_NAME_AW(D3DXSaveTextureToFile) 330 331 /* Other functions */ 332 HRESULT WINAPI D3DXFilterTexture(struct IDirect3DBaseTexture9 *texture, 333 const PALETTEENTRY *palette, UINT srclevel, DWORD filter); 334 #define D3DXFilterCubeTexture D3DXFilterTexture 335 #define D3DXFilterVolumeTexture D3DXFilterTexture 336 337 HRESULT WINAPI D3DXFillTexture(struct IDirect3DTexture9 *texture, LPD3DXFILL2D function, void *data); 338 HRESULT WINAPI D3DXFillCubeTexture(struct IDirect3DCubeTexture9 *cube, LPD3DXFILL3D function, void *data); 339 HRESULT WINAPI D3DXFillVolumeTexture(struct IDirect3DVolumeTexture9 *volume, LPD3DXFILL3D function, void *data); 340 341 HRESULT WINAPI D3DXFillTextureTX(struct IDirect3DTexture9 *texture, const DWORD *function, 342 const D3DXVECTOR4 *constants, UINT numconstants); 343 HRESULT WINAPI D3DXFillCubeTextureTX(struct IDirect3DCubeTexture9 *cube, const DWORD *function, 344 const D3DXVECTOR4 *constants, UINT numconstants); 345 HRESULT WINAPI D3DXFillVolumeTextureTX(struct IDirect3DVolumeTexture9 *volume, const DWORD *function, 346 const D3DXVECTOR4 *constants, UINT numconstants); 347 348 HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *srctexture, 349 const PALETTEENTRY *srcpalette, DWORD flags, DWORD channel, float amplitude); 350 351 #ifdef __cplusplus 352 } 353 #endif 354 355 #endif /* __WINE_D3DX9TEX_H */ 356