d3dx8: Add definition for MatrixStack.
This commit is contained in:
parent
83c0b13c5b
commit
9558fd0f32
|
@ -31,4 +31,4 @@
|
|||
#include "initguid.h"
|
||||
|
||||
#include "d3d8.h"
|
||||
#include "d3dx8core.h"
|
||||
#include "d3dx8.h"
|
||||
|
|
|
@ -30,6 +30,11 @@
|
|||
#define D3DXToRadian(degree) ((degree) * (D3DX_PI / 180.0f))
|
||||
#define D3DXToDegree(radian) ((radian) * (180.0f / D3DX_PI))
|
||||
|
||||
typedef struct ID3DXMatrixStack *LPD3DXMATRIXSTACK;
|
||||
|
||||
DEFINE_GUID(IID_ID3DXMatrixStack,
|
||||
0xe3357330, 0xcc5e, 0x11d2, 0xa4, 0x34, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
|
||||
|
||||
typedef struct D3DXVECTOR2
|
||||
{
|
||||
#ifdef __cplusplus
|
||||
|
@ -345,6 +350,64 @@ D3DXVECTOR4* WINAPI D3DXVec4Transform(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv,
|
|||
}
|
||||
#endif
|
||||
|
||||
#define INTERFACE ID3DXMatrixStack
|
||||
DECLARE_INTERFACE_(ID3DXMatrixStack, IUnknown)
|
||||
{
|
||||
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(Pop)(THIS) PURE;
|
||||
STDMETHOD(Push)(THIS) PURE;
|
||||
STDMETHOD(LoadIdentity)(THIS) PURE;
|
||||
STDMETHOD(LoadMatrix)(THIS_ CONST LPD3DXMATRIX) PURE;
|
||||
STDMETHOD(MultMatrix)(THIS_ CONST LPD3DXMATRIX) PURE;
|
||||
STDMETHOD(MultMatrixLocal)(THIS_ CONST LPD3DXMATRIX) PURE;
|
||||
STDMETHOD(RotateAxis)(THIS_ CONST LPD3DXVECTOR3, FLOAT) PURE;
|
||||
STDMETHOD(RotateAxisLocal)(THIS_ CONST LPD3DXVECTOR3, FLOAT) PURE;
|
||||
STDMETHOD(RotateYawPitchRoll)(THIS_ FLOAT, FLOAT, FLOAT) PURE;
|
||||
STDMETHOD(RotateYawPitchRollLocal)(THIS_ FLOAT, FLOAT, FLOAT) PURE;
|
||||
STDMETHOD(Scale)(THIS_ FLOAT, FLOAT, FLOAT) PURE;
|
||||
STDMETHOD(ScaleLocal)(THIS_ FLOAT, FLOAT, FLOAT) PURE;
|
||||
STDMETHOD(Translate)(THIS_ FLOAT, FLOAT, FLOAT) PURE;
|
||||
STDMETHOD(TranslateLocal)(THIS_ FLOAT, FLOAT, FLOAT) PURE;
|
||||
STDMETHOD_(LPD3DXMATRIX, GetTop)(THIS) PURE;
|
||||
};
|
||||
|
||||
#undef INTERFACE
|
||||
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
|
||||
#define ID3DXMatrixStack_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define ID3DXMatrixStack_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define ID3DXMatrixStack_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define ID3DXMAtrixStack_Pop(p) (p)->lpVtbl->Pop(p)
|
||||
#define ID3DXMatrixStack_Push(p) (p)->lpVtbl->Push(p)
|
||||
#define ID3DXMatrixStack_LoadIdentity(p) (p)->lpVtbl->LoadIdentity(p)
|
||||
#define ID3DXMatrixStack_LoadMatrix(p,a) (p)->lpVtbl->LoadMatrix(p,a)
|
||||
#define ID3DXMatrixStack_MultMatrix(p,a) (p)->lpVtbl->MultMatrix(p,a)
|
||||
#define ID3DXMatrixStack_MultMatrixLocal(p,a) (p)->lpVtbl->MultMatrixLocal(p,a)
|
||||
#define ID3DXMatrixStack_RotateAxis(p,a,b) (p)->lpVtbl->RotateAxis(p,a,b)
|
||||
#define ID3DXMatrixStack_RotateAxisLocal(p,a,b) (p)->lpVtbl->RotateAxisLocal(p,a,b)
|
||||
#define ID3DXMatrixStack_RotateYawPitchRoll(p,a,b,c) (p)->lpVtbl->RotateYawPitchRoll(p,a,b,c)
|
||||
#define ID3DXMatrixStack_RotateYawPitchRollLocal(p,a,b,c) (p)->lpVtbl->RotateYawPitchRollLocal(p,a,b,c)
|
||||
#define ID3DXMatrixStack_Scale(p,a,b,c) (p)->lpVtbl->Scale(p,a,b,c)
|
||||
#define ID3DXMatrixStack_ScaleLocal(p,a,b,c) (p)->lpVtbl->ScaleLocal(p,a,b,c)
|
||||
#define ID3DXMatrixStack_Translate(p,a,b,c) (p)->lpVtbl->Translate(p,a,b,c)
|
||||
#define ID3DXMatrixStack_TranslateLocal(p,a,b,c) (p)->lpVtbl->TranslateLocal(p,a,b,c)
|
||||
#define ID3DXMatrixStack_GetTop(p) (p)->lpVtbl->GetTop(p)
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, LPD3DXMATRIXSTACK* ppstack);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <d3dx8math.inl>
|
||||
|
||||
#endif /* __D3DX8MATH_H__ */
|
||||
|
|
Loading…
Reference in New Issue