d3dx9/tests: Add D3DXCreateTextureFromResource tests.
[wine] / include / d3dcommon.idl
1 /*
2  * Copyright 2010 Matteo Bruni for CodeWeavers
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 import "oaidl.idl";
20 import "ocidl.idl";
21
22 typedef struct _D3D_SHADER_MACRO
23 {
24     LPCSTR Name;
25     LPCSTR Definition;
26 } D3D_SHADER_MACRO;
27
28 typedef struct _D3D_SHADER_MACRO* LPD3D_SHADER_MACRO;
29
30 [
31     object,
32     local,
33     uuid(8ba5fb08-5195-40e2-ac58-0d989c3a0102)
34 ]
35 interface ID3D10Blob : IUnknown
36 {
37     void *GetBufferPointer();
38     SIZE_T GetBufferSize();
39 }
40
41 typedef ID3D10Blob* LPD3D10BLOB;
42 typedef ID3D10Blob ID3DBlob;
43 typedef ID3DBlob* LPD3DBLOB;
44 cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob")
45
46 typedef enum _D3D_INCLUDE_TYPE
47 {
48     D3D_INCLUDE_LOCAL = 0,
49     D3D_INCLUDE_SYSTEM,
50     D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
51     D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
52     D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
53 } D3D_INCLUDE_TYPE;
54
55 [
56     object,
57     local,
58 ]
59 interface ID3DInclude
60 {
61     HRESULT Open(D3D_INCLUDE_TYPE include_type,
62                  const char *filename,
63                  const void *parent_data,
64                  const void **data,
65                  UINT *bytes);
66     HRESULT Close(const void *data);
67 }
68
69 typedef ID3DInclude* LPD3DINCLUDE;