2 * Copyright 2016 Alistair Leslie-Hughes
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 __D3DX10TEX_H__
22 #define __D3DX10TEX_H__
24 typedef enum D3DX10_FILTER_FLAG
26 D3DX10_FILTER_NONE
= 0x00000001,
27 D3DX10_FILTER_POINT
= 0x00000002,
28 D3DX10_FILTER_LINEAR
= 0x00000003,
29 D3DX10_FILTER_TRIANGLE
= 0x00000004,
30 D3DX10_FILTER_BOX
= 0x00000005,
32 D3DX10_FILTER_MIRROR_U
= 0x00010000,
33 D3DX10_FILTER_MIRROR_V
= 0x00020000,
34 D3DX10_FILTER_MIRROR_W
= 0x00040000,
35 D3DX10_FILTER_MIRROR
= 0x00070000,
37 D3DX10_FILTER_DITHER
= 0x00080000,
38 D3DX10_FILTER_DITHER_DIFFUSION
= 0x00100000,
40 D3DX10_FILTER_SRGB_IN
= 0x00200000,
41 D3DX10_FILTER_SRGB_OUT
= 0x00400000,
42 D3DX10_FILTER_SRGB
= 0x00600000,
45 typedef enum D3DX10_IMAGE_FILE_FORMAT
54 D3DX10_IFF_FORCE_DWORD
= 0x7fffffff
55 } D3DX10_IMAGE_FILE_FORMAT
;
57 typedef struct D3DX10_IMAGE_INFO
66 D3D10_RESOURCE_DIMENSION ResourceDimension
;
67 D3DX10_IMAGE_FILE_FORMAT ImageFileFormat
;
70 typedef struct D3DX10_IMAGE_LOAD_INFO
84 D3DX10_IMAGE_INFO
*pSrcInfo
;
87 D3DX10_IMAGE_LOAD_INFO()
89 Width
= D3DX10_DEFAULT
;
90 Height
= D3DX10_DEFAULT
;
91 Depth
= D3DX10_DEFAULT
;
92 FirstMipLevel
= D3DX10_DEFAULT
;
93 MipLevels
= D3DX10_DEFAULT
;
94 Usage
= (D3D10_USAGE
)D3DX10_DEFAULT
;
95 BindFlags
= D3DX10_DEFAULT
;
96 CpuAccessFlags
= D3DX10_DEFAULT
;
97 MiscFlags
= D3DX10_DEFAULT
;
98 Format
= DXGI_FORMAT_FROM_FILE
;
99 Filter
= D3DX10_DEFAULT
;
100 MipFilter
= D3DX10_DEFAULT
;
104 } D3DX10_IMAGE_LOAD_INFO
;
106 typedef struct _D3DX10_TEXTURE_LOAD_INFO
113 UINT SrcFirstElement
;
114 UINT DstFirstElement
;
120 _D3DX10_TEXTURE_LOAD_INFO()
126 NumMips
= D3DX10_DEFAULT
;
129 NumElements
= D3DX10_DEFAULT
;
130 Filter
= D3DX10_DEFAULT
;
131 MipFilter
= D3DX10_DEFAULT
;
134 } D3DX10_TEXTURE_LOAD_INFO
;
140 HRESULT WINAPI
D3DX10CreateTextureFromMemory(ID3D10Device
*device
, const void *src_data
, SIZE_T src_data_size
,
141 D3DX10_IMAGE_LOAD_INFO
*loadinfo
, ID3DX10ThreadPump
*pump
, ID3D10Resource
**texture
, HRESULT
*hresult
);
142 HRESULT WINAPI
D3DX10FilterTexture(ID3D10Resource
*texture
, UINT src_level
, UINT filter
);
144 HRESULT WINAPI
D3DX10GetImageInfoFromFileA(const char *src_file
, ID3DX10ThreadPump
*pump
, D3DX10_IMAGE_INFO
*info
,
146 HRESULT WINAPI
D3DX10GetImageInfoFromFileW(const WCHAR
*src_file
, ID3DX10ThreadPump
*pump
, D3DX10_IMAGE_INFO
*info
,
148 #define D3DX10GetImageInfoFromFile WINELIB_NAME_AW(D3DX10GetImageInfoFromFile)
150 HRESULT WINAPI
D3DX10GetImageInfoFromResourceA(HMODULE module
, const char *resource
, ID3DX10ThreadPump
*pump
,
151 D3DX10_IMAGE_INFO
*info
, HRESULT
*result
);
152 HRESULT WINAPI
D3DX10GetImageInfoFromResourceW(HMODULE module
, const WCHAR
*resource
, ID3DX10ThreadPump
*pump
,
153 D3DX10_IMAGE_INFO
*info
, HRESULT
*result
);
154 #define D3DX10GetImageInfoFromResource WINELIB_NAME_AW(D3DX10GetImageInfoFromResource)
156 HRESULT WINAPI
D3DX10GetImageInfoFromMemory(const void *src_data
, SIZE_T src_data_size
, ID3DX10ThreadPump
*pump
,
157 D3DX10_IMAGE_INFO
*img_info
, HRESULT
*hresult
);
159 HRESULT WINAPI
D3DX10CreateTextureFromFileA(ID3D10Device
*device
, const char *src_file
,
160 D3DX10_IMAGE_LOAD_INFO
*load_info
, ID3DX10ThreadPump
*pump
, ID3D10Resource
**texture
, HRESULT
*hresult
);
161 HRESULT WINAPI
D3DX10CreateTextureFromFileW(ID3D10Device
*device
, const WCHAR
*src_file
,
162 D3DX10_IMAGE_LOAD_INFO
*load_info
, ID3DX10ThreadPump
*pump
, ID3D10Resource
**texture
, HRESULT
*hresult
);
163 #define D3DX10CreateTextureFromFile WINELIB_NAME_AW(D3DX10CreateTextureFromFile)
165 HRESULT WINAPI
D3DX10CreateTextureFromResourceA(ID3D10Device
*device
, HMODULE module
, const char *resource
,
166 D3DX10_IMAGE_LOAD_INFO
*load_info
, ID3DX10ThreadPump
*pump
, ID3D10Resource
**texture
, HRESULT
*hresult
);
167 HRESULT WINAPI
D3DX10CreateTextureFromResourceW(ID3D10Device
*device
, HMODULE module
, const WCHAR
*resource
,
168 D3DX10_IMAGE_LOAD_INFO
*load_info
, ID3DX10ThreadPump
*pump
, ID3D10Resource
**texture
, HRESULT
*hresult
);
169 #define D3DX10CreateTextureFromResource WINELIB_NAME_AW(D3DX10CreateTextureFromResource)
171 HRESULT WINAPI
D3DX10LoadTextureFromTexture(ID3D10Resource
*src_texture
, D3DX10_TEXTURE_LOAD_INFO
*load_info
,
172 ID3D10Resource
*dst_texture
);