add win64 D3D9 headers
[xonotic/xonotic.git] / misc / builddeps / dp.win64 / include / d3dx9tex.h
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 <_mingw_dxhelper.h>
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_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
49 #define D3DX_CHANNEL_RED                 0x00000001
50 #define D3DX_CHANNEL_BLUE                0x00000002
51 #define D3DX_CHANNEL_GREEN               0x00000004
52 #define D3DX_CHANNEL_ALPHA               0x00000008
53 #define D3DX_CHANNEL_LUMINANCE           0x00000010
54
55 /**********************************************
56  **************** Typedefs ****************
57  **********************************************/
58 typedef enum _D3DXIMAGE_FILEFORMAT
59 {
60     D3DXIFF_BMP,
61     D3DXIFF_JPG,
62     D3DXIFF_TGA,
63     D3DXIFF_PNG,
64     D3DXIFF_DDS,
65     D3DXIFF_PPM,
66     D3DXIFF_DIB,
67     D3DXIFF_FORCE_DWORD = 0x7fffffff
68 } D3DXIMAGE_FILEFORMAT;
69
70 typedef struct _D3DXIMAGE_INFO
71 {
72     UINT Width;
73     UINT Height;
74     UINT Depth;
75     UINT MipLevels;
76     D3DFORMAT Format;
77     D3DRESOURCETYPE ResourceType;
78     D3DXIMAGE_FILEFORMAT ImageFileFormat;
79 } D3DXIMAGE_INFO;
80
81 /**********************************************
82  ****************** Functions *****************
83  **********************************************/
84 /* Typedefs for callback functions */
85 typedef VOID (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *out, CONST D3DXVECTOR2 *texcoord, CONST D3DXVECTOR2 *texelsize, LPVOID data);
86 typedef VOID (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *out, CONST D3DXVECTOR3 *texcoord, CONST D3DXVECTOR3 *texelsize, LPVOID data);
87
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91
92
93 /* Image Information */
94 HRESULT WINAPI D3DXGetImageInfoFromFileA(LPCSTR file, D3DXIMAGE_INFO *info);
95 HRESULT WINAPI D3DXGetImageInfoFromFileW(LPCWSTR file, D3DXIMAGE_INFO *info);
96 #define        D3DXGetImageInfoFromFile WINELIB_NAME_AW(D3DXGetImageInfoFromFile)
97
98 HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, LPCSTR resource, D3DXIMAGE_INFO *info);
99 HRESULT WINAPI D3DXGetImageInfoFromResourceW(HMODULE module, LPCWSTR resource, D3DXIMAGE_INFO *info);
100 #define        D3DXGetImageInfoFromResource WINELIB_NAME_AW(D3DXGetImageInfoFromResource)
101
102 HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(LPCVOID data, UINT datasize, D3DXIMAGE_INFO *info);
103
104
105 /* Surface Loading/Saving */
106 HRESULT WINAPI D3DXLoadSurfaceFromFileA(       LPDIRECT3DSURFACE9 destsurface,
107                                                CONST PALETTEENTRY *destpalette,
108                                                CONST RECT *destrect,
109                                                LPCSTR srcfile,
110                                                CONST RECT *srcrect,
111                                                DWORD filter,
112                                                D3DCOLOR colorkey,
113                                                D3DXIMAGE_INFO *srcinfo);
114
115 HRESULT WINAPI D3DXLoadSurfaceFromFileW(       LPDIRECT3DSURFACE9 destsurface,
116                                                CONST PALETTEENTRY *destpalette,
117                                                CONST RECT *destrect,
118                                                LPCWSTR srcfile,
119                                                CONST RECT *srcrect,
120                                                DWORD filter,
121                                                D3DCOLOR colorkey,
122                                                D3DXIMAGE_INFO *srcinfo);
123 #define        D3DXLoadSurfaceFromFile WINELIB_NAME_AW(D3DXLoadSurfaceFromFile)
124
125 HRESULT WINAPI D3DXLoadSurfaceFromResourceA(   LPDIRECT3DSURFACE9 destsurface,
126                                                CONST PALETTEENTRY *destpalette,
127                                                CONST RECT *destrect,
128                                                HMODULE srcmodule,
129                                                LPCSTR resource,
130                                                CONST RECT *srcrect,
131                                                DWORD filter,
132                                                D3DCOLOR colorkey,
133                                                D3DXIMAGE_INFO *srcinfo);
134
135 HRESULT WINAPI D3DXLoadSurfaceFromResourceW(   LPDIRECT3DSURFACE9 destsurface,
136                                                CONST PALETTEENTRY *destpalette,
137                                                CONST RECT *destrect,
138                                                HMODULE srcmodule,
139                                                LPCWSTR resource,
140                                                CONST RECT *srcrect,
141                                                DWORD filter,
142                                                D3DCOLOR colorkey,
143                                                D3DXIMAGE_INFO *srcinfo);
144 #define        D3DXLoadSurfaceFromResource WINELIB_NAME_AW(D3DXLoadSurfaceFromResource)
145
146 HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(LPDIRECT3DSURFACE9 destsurface,
147                                                CONST PALETTEENTRY *destpalette,
148                                                CONST RECT*destrect,
149                                                LPCVOID srcdata,
150                                                UINT srcdatasize,
151                                                CONST RECT *srcrect,
152                                                DWORD filter,
153                                                D3DCOLOR colorkey,
154                                                D3DXIMAGE_INFO *srcinfo);
155
156 HRESULT WINAPI D3DXLoadSurfaceFromSurface(     LPDIRECT3DSURFACE9 destsurface,
157                                                CONST PALETTEENTRY *destpalette,
158                                                CONST RECT *destrect,
159                                                LPDIRECT3DSURFACE9 srcsurface,
160                                                CONST PALETTEENTRY *srcpalette,
161                                                CONST RECT *srcrect,
162                                                DWORD filter,
163                                                D3DCOLOR colorkey);
164
165 HRESULT WINAPI D3DXLoadSurfaceFromMemory(      LPDIRECT3DSURFACE9 destsurface,
166                                                CONST PALETTEENTRY *destpalette,
167                                                CONST RECT *destrect,
168                                                LPCVOID srcmemory,
169                                                D3DFORMAT srcformat,
170                                                UINT srcpitch,
171                                                CONST PALETTEENTRY *srcpalette,
172                                                CONST RECT *srcrect,
173                                                DWORD filter,
174                                                D3DCOLOR colorkey);
175
176 HRESULT WINAPI D3DXSaveSurfaceToFileA(         LPCSTR destfile,
177                                                D3DXIMAGE_FILEFORMAT destformat,
178                                                LPDIRECT3DSURFACE9 srcsurface,
179                                                CONST PALETTEENTRY *srcpalette,
180                                                CONST RECT *srcrect);
181
182 HRESULT WINAPI D3DXSaveSurfaceToFileW(         LPCWSTR destfile,
183                                                D3DXIMAGE_FILEFORMAT destformat,
184                                                LPDIRECT3DSURFACE9 srcsurface,
185                                                CONST PALETTEENTRY *srcpalette,
186                                                CONST RECT *srcrect);
187 #define        D3DXSaveSurfaceToFile WINELIB_NAME_AW(D3DXSaveSurfaceToFile)
188
189
190 /* Volume Loading/Saving */
191 HRESULT WINAPI D3DXLoadVolumeFromFileA(       LPDIRECT3DVOLUME9 destvolume,
192                                               CONST PALETTEENTRY *destpalette,
193                                               CONST D3DBOX *destbox,
194                                               LPCSTR srcfile,
195                                               CONST D3DBOX *srcbox,
196                                               DWORD filter,
197                                               D3DCOLOR colorkey,
198                                               D3DXIMAGE_INFO *srcinfo);
199
200 HRESULT WINAPI D3DXLoadVolumeFromFileW(       LPDIRECT3DVOLUME9 destVolume,
201                                               CONST PALETTEENTRY *destpalette,
202                                               CONST D3DBOX *destbox,
203                                               LPCWSTR srcfile,
204                                               CONST D3DBOX *srcbox,
205                                               DWORD filter,
206                                               D3DCOLOR colorkey,
207                                               D3DXIMAGE_INFO *srcinfo);
208 #define        D3DXLoadVolumeFromFile WINELIB_NAME_AW(D3DXLoadVolumeFromFile)
209
210 HRESULT WINAPI D3DXLoadVolumeFromResourceA(   LPDIRECT3DVOLUME9 destVolume,
211                                               CONST PALETTEENTRY *destpalette,
212                                               CONST D3DBOX *destbox,
213                                               HMODULE srcmodule,
214                                               LPCSTR resource,
215                                               CONST D3DBOX *srcbox,
216                                               DWORD filter,
217                                               D3DCOLOR colorkey,
218                                               D3DXIMAGE_INFO *srcinfo);
219
220 HRESULT WINAPI D3DXLoadVolumeFromResourceW(   LPDIRECT3DVOLUME9 destVolume,
221                                               CONST PALETTEENTRY *destpalette,
222                                               CONST D3DBOX *destbox,
223                                               HMODULE srcmodule,
224                                               LPCWSTR resource,
225                                               CONST D3DBOX *srcbox,
226                                               DWORD filter,
227                                               D3DCOLOR colorkey,
228                                               D3DXIMAGE_INFO *srcinfo);
229 #define        D3DXLoadVolumeFromResource WINELIB_NAME_AW(D3DXLoadVolumeFromResource)
230
231 HRESULT WINAPI D3DXLoadVolumeFromFileInMemory(LPDIRECT3DVOLUME9 destvolume,
232                                               CONST PALETTEENTRY *destpalette,
233                                               CONST D3DBOX *destbox,
234                                               LPCVOID srcdata,
235                                               UINT srcdatasize,
236                                               CONST D3DBOX *srcbox,
237                                               DWORD filter,
238                                               D3DCOLOR colorkey,
239                                               D3DXIMAGE_INFO *srcinfo);
240
241 HRESULT WINAPI D3DXLoadVolumeFromVolume(      LPDIRECT3DVOLUME9 destvolume,
242                                               CONST PALETTEENTRY *destpalette,
243                                               CONST D3DBOX *destbox,
244                                               LPDIRECT3DVOLUME9 srcvolume,
245                                               CONST PALETTEENTRY *srcpalette,
246                                               CONST D3DBOX *srcbox,
247                                               DWORD filter,
248                                               D3DCOLOR colorkey);
249
250 HRESULT WINAPI D3DXLoadVolumeFromMemory(      LPDIRECT3DVOLUME9 destvolume,
251                                               CONST PALETTEENTRY *destpalette,
252                                               CONST D3DBOX *destbox,
253                                               LPCVOID srcmemory,
254                                               D3DFORMAT srcformat,
255                                               UINT srcrowpitch,
256                                               UINT srcslicepitch,
257                                               CONST PALETTEENTRY *srcpalette,
258                                               CONST D3DBOX *srcbox,
259                                               DWORD filter,
260                                               D3DCOLOR colorkey);
261
262 HRESULT WINAPI D3DXSaveVolumeToFileA(         LPCSTR destfile,
263                                               D3DXIMAGE_FILEFORMAT destformat,
264                                               LPDIRECT3DVOLUME9 srcvolume,
265                                               CONST PALETTEENTRY *srcpalette,
266                                               CONST D3DBOX *srcbox);
267
268 HRESULT WINAPI D3DXSaveVolumeToFileW(         LPCWSTR destfile,
269                                               D3DXIMAGE_FILEFORMAT destformat,
270                                               LPDIRECT3DVOLUME9 srcvolume,
271                                               CONST PALETTEENTRY *srcpalette,
272                                               CONST D3DBOX *srcbox);
273 #define        D3DXSaveVolumeToFile WINELIB_NAME_AW(D3DXSaveVolumeToFile)
274
275
276 /* Texture, cube texture and volume texture creation */
277 HRESULT WINAPI D3DXCheckTextureRequirements(      LPDIRECT3DDEVICE9 device,
278                                                   UINT *width,
279                                                   UINT *height,
280                                                   UINT *miplevels,
281                                                   DWORD usage,
282                                                   D3DFORMAT *format,
283                                                   D3DPOOL pool);
284 HRESULT WINAPI D3DXCheckCubeTextureRequirements(  LPDIRECT3DDEVICE9 device,
285                                                   UINT *size,
286                                                   UINT *miplevels,
287                                                   DWORD usage,
288                                                   D3DFORMAT *format,
289                                                   D3DPOOL pool);
290
291 HRESULT WINAPI D3DXCheckVolumeTextureRequirements(LPDIRECT3DDEVICE9 device,
292                                                   UINT *width,
293                                                   UINT *height,
294                                                   UINT *depth,
295                                                   UINT *miplevels,
296                                                   DWORD usage,
297                                                   D3DFORMAT *format,
298                                                   D3DPOOL pool);
299
300 HRESULT WINAPI D3DXCreateTexture(      LPDIRECT3DDEVICE9 device,
301                                        UINT width,
302                                        UINT height,
303                                        UINT miplevels,
304                                        DWORD usage,
305                                        D3DFORMAT format,
306                                        D3DPOOL pool,
307                                        LPDIRECT3DTEXTURE9 *texture);
308
309 HRESULT WINAPI D3DXCreateCubeTexture(  LPDIRECT3DDEVICE9 device,
310                                        UINT size,
311                                        UINT miplevels,
312                                        DWORD usage,
313                                        D3DFORMAT format,
314                                        D3DPOOL pool,
315                                        LPDIRECT3DCUBETEXTURE9 *cube);
316
317 HRESULT WINAPI D3DXCreateVolumeTexture(LPDIRECT3DDEVICE9 device,
318                                        UINT width,
319                                        UINT height,
320                                        UINT depth,
321                                        UINT miplevels,
322                                        DWORD usage,
323                                        D3DFORMAT format,
324                                        D3DPOOL pool,
325                                        LPDIRECT3DVOLUMETEXTURE9 *volume);
326
327 HRESULT WINAPI D3DXCreateTextureFromFileA(      LPDIRECT3DDEVICE9 device,
328                                                 LPCSTR srcfile,
329                                                 LPDIRECT3DTEXTURE9 *texture);
330
331 HRESULT WINAPI D3DXCreateTextureFromFileW(      LPDIRECT3DDEVICE9 device,
332                                                 LPCWSTR srcfile,
333                                                 LPDIRECT3DTEXTURE9 *texture);
334 #define        D3DXCreateTextureFromFile WINELIB_NAME_AW(D3DXCreateTextureFromFile)
335
336 HRESULT WINAPI D3DXCreateCubeTextureFromFileA(  LPDIRECT3DDEVICE9 device,
337                                                 LPCSTR srcfile,
338                                                 LPDIRECT3DCUBETEXTURE9 *cube);
339
340 HRESULT WINAPI D3DXCreateCubeTextureFromFileW(  LPDIRECT3DDEVICE9 device,
341                                                 LPCWSTR srcfile,
342                                                 LPDIRECT3DCUBETEXTURE9 *cube);
343 #define        D3DXCreateCubeTextureFromFile WINELIB_NAME_AW(D3DXCreateCubeTextureFromFile)
344
345 HRESULT WINAPI D3DXCreateVolumeTextureFromFileA(LPDIRECT3DDEVICE9 device,
346                                                 LPCSTR srcfile,
347                                                 LPDIRECT3DVOLUMETEXTURE9 *volume);
348
349 HRESULT WINAPI D3DXCreateVolumeTextureFromFileW(LPDIRECT3DDEVICE9 device,
350                                                 LPCWSTR srcfile,
351                                                 LPDIRECT3DVOLUMETEXTURE9 *volume);
352 #define        D3DXCreateVolumeTextureFromFile WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFile)
353
354 HRESULT WINAPI D3DXCreateTextureFromResourceA(      LPDIRECT3DDEVICE9 device,
355                                                     HMODULE srcmodule,
356                                                     LPCSTR resource,
357                                                     LPDIRECT3DTEXTURE9 *texture);
358
359 HRESULT WINAPI D3DXCreateTextureFromResourceW(      LPDIRECT3DDEVICE9 device,
360                                                     HMODULE srcmodule,
361                                                     LPCWSTR resource,
362                                                     LPDIRECT3DTEXTURE9 *texture);
363 #define        D3DXCreateTextureFromResource WINELIB_NAME_AW(D3DXCreateTextureFromResource)
364
365 HRESULT WINAPI D3DXCreateCubeTextureFromResourceA(  LPDIRECT3DDEVICE9 device,
366                                                     HMODULE srcmodule,
367                                                     LPCSTR resource,
368                                                     LPDIRECT3DCUBETEXTURE9 *cube);
369 HRESULT WINAPI D3DXCreateCubeTextureFromResourceW(  LPDIRECT3DDEVICE9 device,
370                                                     HMODULE srcmodule,
371                                                     LPCWSTR resource,
372                                                     LPDIRECT3DCUBETEXTURE9 *cube);
373 #define        D3DXCreateCubeTextureFromResource WINELIB_NAME_AW(D3DXCreateCubeTextureFromResource)
374
375 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceA(LPDIRECT3DDEVICE9 device,
376                                                     HMODULE srcmodule,
377                                                     LPCSTR resource,
378                                                     LPDIRECT3DVOLUMETEXTURE9 *volume);
379 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceW(LPDIRECT3DDEVICE9 device,
380                                                     HMODULE srcmodule,
381                                                     LPCWSTR resource,
382                                                     LPDIRECT3DVOLUMETEXTURE9 *volume);
383 #define        D3DXCreateVolumeTextureFromResource WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResource)
384
385 HRESULT WINAPI D3DXCreateTextureFromFileExA(      LPDIRECT3DDEVICE9 device,
386                                                   LPCSTR srcfile,
387                                                   UINT width,
388                                                   UINT height,
389                                                   UINT miplevels,
390                                                   DWORD usage,
391                                                   D3DFORMAT format,
392                                                   D3DPOOL pool,
393                                                   DWORD filter,
394                                                   DWORD mipfilter,
395                                                   D3DCOLOR colorkey,
396                                                   D3DXIMAGE_INFO *srcinfo,
397                                                   PALETTEENTRY *palette,
398                                                   LPDIRECT3DTEXTURE9 *texture);
399
400 HRESULT WINAPI D3DXCreateTextureFromFileExW(      LPDIRECT3DDEVICE9 device,
401                                                   LPCWSTR srcfile,
402                                                   UINT width,
403                                                   UINT height,
404                                                   UINT miplevels,
405                                                   DWORD usage,
406                                                   D3DFORMAT format,
407                                                   D3DPOOL pool,
408                                                   DWORD filter,
409                                                   DWORD mipfilter,
410                                                   D3DCOLOR colorkey,
411                                                   D3DXIMAGE_INFO *srcinfo,
412                                                   PALETTEENTRY *palette,
413                                                   LPDIRECT3DTEXTURE9 *texture);
414 #define        D3DXCreateTextureFromFileEx WINELIB_NAME_AW(D3DXCreateTextureFromFileEx)
415
416 HRESULT WINAPI D3DXCreateCubeTextureFromFileExA(  LPDIRECT3DDEVICE9 device,
417                                                   LPCSTR srcfile,
418                                                   UINT size,
419                                                   UINT miplevels,
420                                                   DWORD usage,
421                                                   D3DFORMAT format,
422                                                   D3DPOOL pool,
423                                                   DWORD filter,
424                                                   DWORD mipfilter,
425                                                   D3DCOLOR colorkey,
426                                                   D3DXIMAGE_INFO *srcinfo,
427                                                   PALETTEENTRY *palette,
428                                                   LPDIRECT3DCUBETEXTURE9 *cube);
429
430 HRESULT WINAPI D3DXCreateCubeTextureFromFileExW(  LPDIRECT3DDEVICE9 device,
431                                                   LPCWSTR srcfile,
432                                                   UINT size,
433                                                   UINT miplevels,
434                                                   DWORD usage,
435                                                   D3DFORMAT format,
436                                                   D3DPOOL pool,
437                                                   DWORD filter,
438                                                   DWORD mipfilter,
439                                                   D3DCOLOR colorkey,
440                                                   D3DXIMAGE_INFO *srcinfo,
441                                                   PALETTEENTRY *palette,
442                                                   LPDIRECT3DCUBETEXTURE9 *cube);
443 #define        D3DXCreateCubeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromFileEx)
444
445 HRESULT WINAPI D3DXCreateVolumeTextureFromFileExA(LPDIRECT3DDEVICE9 device,
446                                                   LPCSTR srcfile,
447                                                   UINT width,
448                                                   UINT height,
449                                                   UINT depth,
450                                                   UINT miplevels,
451                                                   DWORD usage,
452                                                   D3DFORMAT format,
453                                                   D3DPOOL pool,
454                                                   DWORD filter,
455                                                   DWORD mipfilter,
456                                                   D3DCOLOR colorkey,
457                                                   D3DXIMAGE_INFO *srcinfo,
458                                                   PALETTEENTRY *palette,
459                                                   LPDIRECT3DVOLUMETEXTURE9 *volume);
460
461 HRESULT WINAPI D3DXCreateVolumeTextureFromFileExW(LPDIRECT3DDEVICE9 device,
462                                                   LPCWSTR srcfile,
463                                                   UINT width,
464                                                   UINT height,
465                                                   UINT depth,
466                                                   UINT miplevels,
467                                                   DWORD usage,
468                                                   D3DFORMAT format,
469                                                   D3DPOOL pool,
470                                                   DWORD filter,
471                                                   DWORD mipfilter,
472                                                   D3DCOLOR colorkey,
473                                                   D3DXIMAGE_INFO *srcinfo,
474                                                   PALETTEENTRY *palette,
475                                                   LPDIRECT3DVOLUMETEXTURE9 *volume);
476 #define        D3DXCreateVolumeTextureFromFileEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromFileEx)
477
478 HRESULT WINAPI D3DXCreateTextureFromResourceExA(      LPDIRECT3DDEVICE9 device,
479                                                       HMODULE srcmodule,
480                                                       LPCSTR resource,
481                                                       UINT width,
482                                                       UINT height,
483                                                       UINT miplevels,
484                                                       DWORD usage,
485                                                       D3DFORMAT format,
486                                                       D3DPOOL pool,
487                                                       DWORD filter,
488                                                       DWORD mipfilter,
489                                                       D3DCOLOR colorkey,
490                                                       D3DXIMAGE_INFO *srcinfo,
491                                                       PALETTEENTRY *palette,
492                                                       LPDIRECT3DTEXTURE9 *texture);
493
494 HRESULT WINAPI D3DXCreateTextureFromResourceExW(      LPDIRECT3DDEVICE9 device,
495                                                       HMODULE srcmodule,
496                                                       LPCWSTR resource,
497                                                       UINT width,
498                                                       UINT height,
499                                                       UINT miplevels,
500                                                       DWORD usage,
501                                                       D3DFORMAT format,
502                                                       D3DPOOL pool,
503                                                       DWORD filter,
504                                                       DWORD mipfilter,
505                                                       D3DCOLOR colorkey,
506                                                       D3DXIMAGE_INFO *srcinfo,
507                                                       PALETTEENTRY *palette,
508                                                       LPDIRECT3DTEXTURE9 *texture);
509 #define        D3DXCreateTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateTextureFromResourceEx)
510
511 HRESULT WINAPI D3DXCreateCubeTextureFromResourceExA(  LPDIRECT3DDEVICE9 device,
512                                                       HMODULE srcmodule,
513                                                       LPCSTR resource,
514                                                       UINT size,
515                                                       UINT miplevels,
516                                                       DWORD usage,
517                                                       D3DFORMAT format,
518                                                       D3DPOOL pool,
519                                                       DWORD filter,
520                                                       DWORD mipfilter,
521                                                       D3DCOLOR colorkey,
522                                                       D3DXIMAGE_INFO *srcinfo,
523                                                       PALETTEENTRY *palette,
524                                                       LPDIRECT3DCUBETEXTURE9 *cube);
525
526 HRESULT WINAPI D3DXCreateCubeTextureFromResourceExW(  LPDIRECT3DDEVICE9 device,
527                                                       HMODULE srcmodule,
528                                                       LPCWSTR resource,
529                                                       UINT size,
530                                                       UINT miplevels,
531                                                       DWORD usage,
532                                                       D3DFORMAT format,
533                                                       D3DPOOL pool,
534                                                       DWORD filter,
535                                                       DWORD mipfilter,
536                                                       D3DCOLOR colorkey,
537                                                       D3DXIMAGE_INFO *srcinfo,
538                                                       PALETTEENTRY *palette,
539                                                       LPDIRECT3DCUBETEXTURE9 *cube);
540 #define        D3DXCreateCubeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateCubeTextureFromResourceEx)
541
542 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExA(LPDIRECT3DDEVICE9 device,
543                                                       HMODULE srcmodule,
544                                                       LPCSTR resource,
545                                                       UINT width,
546                                                       UINT height,
547                                                       UINT depth,
548                                                       UINT miplevels,
549                                                       DWORD usage,
550                                                       D3DFORMAT format,
551                                                       D3DPOOL pool,
552                                                       DWORD filter,
553                                                       DWORD mipfilter,
554                                                       D3DCOLOR colorkey,
555                                                       D3DXIMAGE_INFO *srcinfo,
556                                                       PALETTEENTRY *palette,
557                                                       LPDIRECT3DVOLUMETEXTURE9 *volume);
558
559 HRESULT WINAPI D3DXCreateVolumeTextureFromResourceExW(LPDIRECT3DDEVICE9 device,
560                                                       HMODULE srcmodule,
561                                                       LPCWSTR resource,
562                                                       UINT width,
563                                                       UINT height,
564                                                       UINT depth,
565                                                       UINT miplevels,
566                                                       DWORD usage,
567                                                       D3DFORMAT format,
568                                                       D3DPOOL pool,
569                                                       DWORD filter,
570                                                       DWORD mipfilter,
571                                                       D3DCOLOR colorkey,
572                                                       D3DXIMAGE_INFO *srcinfo,
573                                                       PALETTEENTRY *palette,
574                                                       LPDIRECT3DVOLUMETEXTURE9 *volume);
575 #define        D3DXCreateVolumeTextureFromResourceEx WINELIB_NAME_AW(D3DXCreateVolumeTextureFromResourceEx)
576
577 HRESULT WINAPI D3DXCreateTextureFromFileInMemory(      LPDIRECT3DDEVICE9 device,
578                                                        LPCVOID srcdata,
579                                                        UINT srcdatasize,
580                                                        LPDIRECT3DTEXTURE9* texture);
581
582 HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemory(  LPDIRECT3DDEVICE9 device,
583                                                        LPCVOID srcdata,
584                                                        UINT srcdatasize,
585                                                        LPDIRECT3DCUBETEXTURE9* cube);
586
587 HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemory(LPDIRECT3DDEVICE9 device,
588                                                        LPCVOID srcdata,
589                                                        UINT srcdatasize,
590                                                        LPDIRECT3DVOLUMETEXTURE9 *volume);
591
592 HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(      LPDIRECT3DDEVICE9 device,
593                                                          LPCVOID srcdata,
594                                                          UINT srcdatasize,
595                                                          UINT width,
596                                                          UINT height,
597                                                          UINT miplevels,
598                                                          DWORD usage,
599                                                          D3DFORMAT format,
600                                                          D3DPOOL pool,
601                                                          DWORD filter,
602                                                          DWORD mipfilter,
603                                                          D3DCOLOR colorkey,
604                                                          D3DXIMAGE_INFO *srcinfo,
605                                                          PALETTEENTRY *palette,
606                                                          LPDIRECT3DTEXTURE9 *texture);
607
608 HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(  LPDIRECT3DDEVICE9 device,
609                                                          LPCVOID srcdata,
610                                                          UINT srcdatasize,
611                                                          UINT size,
612                                                          UINT miplevels,
613                                                          DWORD usage,
614                                                          D3DFORMAT format,
615                                                          D3DPOOL pool,
616                                                          DWORD filter,
617                                                          DWORD mipfilter,
618                                                          D3DCOLOR colorkey,
619                                                          D3DXIMAGE_INFO *srcinfo,
620                                                          PALETTEENTRY *palette,
621                                                          LPDIRECT3DCUBETEXTURE9 *cube);
622
623 HRESULT WINAPI D3DXCreateVolumeTextureFromFileInMemoryEx(LPDIRECT3DDEVICE9 device,
624                                                          LPCVOID srcdata,
625                                                          UINT srcdatasize,
626                                                          UINT width,
627                                                          UINT height,
628                                                          UINT depth,
629                                                          UINT miplevels,
630                                                          DWORD usage,
631                                                          D3DFORMAT format,
632                                                          D3DPOOL pool,
633                                                          DWORD filter,
634                                                          DWORD mipfilter,
635                                                          D3DCOLOR colorkey,
636                                                          D3DXIMAGE_INFO *srcinfo,
637                                                          PALETTEENTRY *palette,
638                                                          LPDIRECT3DVOLUMETEXTURE9 *volume);
639
640 HRESULT WINAPI D3DXSaveTextureToFileA(LPCSTR destfile,
641                                       D3DXIMAGE_FILEFORMAT destformat,
642                                       LPDIRECT3DBASETEXTURE9 srctexture,
643                                       CONST PALETTEENTRY *srcpalette);
644 HRESULT WINAPI D3DXSaveTextureToFileW(LPCWSTR destfile,
645                                       D3DXIMAGE_FILEFORMAT destformat,
646                                       LPDIRECT3DBASETEXTURE9 srctexture,
647                                       CONST PALETTEENTRY *srcpalette);
648 #define        D3DXSaveTextureToFile WINELIB_NAME_AW(D3DXSaveTextureToFile)
649
650
651 /* Other functions */
652 HRESULT WINAPI D3DXFilterTexture(      LPDIRECT3DBASETEXTURE9 texture,
653                                        CONST PALETTEENTRY *palette,
654                                        UINT srclevel,
655                                        DWORD filter);
656 #define D3DXFilterCubeTexture D3DXFilterTexture
657 #define D3DXFilterVolumeTexture D3DXFilterTexture
658
659 HRESULT WINAPI D3DXFillTexture(        LPDIRECT3DTEXTURE9 texture,
660                                        LPD3DXFILL2D function,
661                                        LPVOID data);
662
663 HRESULT WINAPI D3DXFillCubeTexture(    LPDIRECT3DCUBETEXTURE9 cube,
664                                        LPD3DXFILL3D function,
665                                        LPVOID data);
666
667 HRESULT WINAPI D3DXFillVolumeTexture(  LPDIRECT3DVOLUMETEXTURE9 volume,
668                                        LPD3DXFILL3D function,
669                                        LPVOID data);
670
671 HRESULT WINAPI D3DXFillTextureTX(      LPDIRECT3DTEXTURE9 texture,
672                                        CONST DWORD *function,
673                                        CONST D3DXVECTOR4 *constants,
674                                        UINT numconstants);
675
676 HRESULT WINAPI D3DXFillCubeTextureTX(  LPDIRECT3DCUBETEXTURE9 cube,
677                                        CONST DWORD *function,
678                                        CONST D3DXVECTOR4 *constants,
679                                        UINT numconstants);
680
681 HRESULT WINAPI D3DXFillVolumeTextureTX(LPDIRECT3DVOLUMETEXTURE9 volume,
682                                        CONST DWORD *function,
683                                        CONST D3DXVECTOR4 *constants,
684                                        UINT numconstants);
685
686 HRESULT WINAPI D3DXComputeNormalMap(   LPDIRECT3DTEXTURE9 texture,
687                                        LPDIRECT3DTEXTURE9 srctexture,
688                                        CONST PALETTEENTRY *srcpalette,
689                                        DWORD flags,
690                                        DWORD channel,
691                                        FLOAT amplitude);
692
693
694 #ifdef __cplusplus
695 }
696 #endif
697
698 #endif /* __WINE_D3DX9TEX_H */