2 * Copyright (C) 2008 Tony Wasserka
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.
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.
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
21 #ifndef __WINE_D3DX9TEX_H
22 #define __WINE_D3DX9TEX_H
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
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)))
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
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
59 /**********************************************
60 ****************** Typedefs ******************
61 **********************************************/
62 typedef enum _D3DXIMAGE_FILEFORMAT
73 D3DXIFF_FORCE_DWORD
= 0x7fffffff
74 } D3DXIMAGE_FILEFORMAT
;
76 typedef struct _D3DXIMAGE_INFO
83 D3DRESOURCETYPE ResourceType
;
84 D3DXIMAGE_FILEFORMAT ImageFileFormat
;
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
);
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)
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)
110 HRESULT WINAPI
D3DXGetImageInfoFromFileInMemory(const void *data
, UINT data_size
, D3DXIMAGE_INFO
*info
);
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)
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)
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
);
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
);
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
);
143 HRESULT WINAPI
D3DXSaveSurfaceToFileInMemory(struct ID3DXBuffer
**destbuffer
,
144 D3DXIMAGE_FILEFORMAT destformat
, struct IDirect3DSurface9
*srcsurface
,
145 const PALETTEENTRY
*srcpalette
, const RECT
*srcrect
);
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)
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)
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)
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
);
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
);
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
);
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)
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
);
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
);
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
);
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
);
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)
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
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
);
340 HRESULT WINAPI
D3DXFillTextureTX(struct IDirect3DTexture9
*texture
, const DWORD
*function
,
341 const D3DXVECTOR4
*constants
, UINT numconstants
);
342 HRESULT WINAPI
D3DXFillCubeTextureTX(struct IDirect3DCubeTexture9
*cube
, const DWORD
*function
,
343 const D3DXVECTOR4
*constants
, UINT numconstants
);
344 HRESULT WINAPI
D3DXFillVolumeTextureTX(struct IDirect3DVolumeTexture9
*volume
, const DWORD
*function
,
345 const D3DXVECTOR4
*constants
, UINT numconstants
);
347 HRESULT WINAPI
D3DXComputeNormalMap(IDirect3DTexture9
*texture
, IDirect3DTexture9
*srctexture
,
348 const PALETTEENTRY
*srcpalette
, DWORD flags
, DWORD channel
, float amplitude
);
354 #endif /* __WINE_D3DX9TEX_H */