d3d10: Add the ID3D10EffectType interface.
[wine/hacks.git] / include / d3d10effect.h
blob2ebca6846ea72580b31a29b76a9505231c7f9d3e
1 /*
2 * Copyright 2009 Henri Verbeet for CodeWeavers
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
20 #ifndef __WINE_D3D10EFFECT_H
21 #define __WINE_D3D10EFFECT_H
23 #include "d3d10.h"
25 typedef struct _D3D10_EFFECT_TYPE_DESC
27 LPCSTR TypeName;
28 D3D10_SHADER_VARIABLE_CLASS Class;
29 D3D10_SHADER_VARIABLE_TYPE Type;
30 UINT Elements;
31 UINT Members;
32 UINT Rows;
33 UINT Columns;
34 UINT PackedSize;
35 UINT UnpackedSize;
36 UINT Stride;
37 } D3D10_EFFECT_TYPE_DESC;
39 DEFINE_GUID(IID_ID3D10EffectType, 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd);
41 #define INTERFACE ID3D10EffectType
42 DECLARE_INTERFACE(ID3D10EffectType)
44 STDMETHOD_(BOOL, IsValid)(THIS) PURE;
45 STDMETHOD(GetDesc)(THIS_ D3D10_EFFECT_TYPE_DESC *desc) PURE;
46 STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByIndex)(THIS_ UINT index) PURE;
47 STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeByName)(THIS_ LPCSTR name) PURE;
48 STDMETHOD_(struct ID3D10EffectType *, GetMemberTypeBySemantic)(THIS_ LPCSTR semantic) PURE;
49 STDMETHOD_(LPCSTR, GetMemberName)(THIS_ UINT index) PURE;
50 STDMETHOD_(LPCSTR, GetMemberSemantic)(THIS_ UINT index) PURE;
52 #undef INTERFACE
54 #endif /* __WINE_D3D10EFFECT_H */