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