/* Copyright 2001 TransGaming Technologies Inc. */

#ifndef DDRAW_D3DDEVICE_MATHS_H_INCLUDED
#define DDRAW_D3DDEVICE_MATHS_H_INCLUDED

void MatrixMultiply(LPD3DMATRIX m, LPD3DMATRIX m1, LPD3DMATRIX m2);
D3DVALUE MatrixApply(LPD3DVECTOR r, LPD3DVECTOR v, LPD3DMATRIX m);

HRESULT ProcessStridedVertices(LPD3DDRAWPRIMITIVESTRIDEDDATA lpDst, DWORD dwDstFVF,
                               DWORD dwVertexOp, DWORD dwDstIndex, DWORD dwCount,
                               LPD3DDRAWPRIMITIVESTRIDEDDATA lpSrc, DWORD dwSrcFVF,
                               DWORD dwSrcIndex, LPDIRECT3DDEVICE7 lpD3DDevice,   
                               DWORD dwFlags, LPD3DHVERTEX lpHOut, LPD3DCLIPSTATUS lpClip,
                               LPD3DMATRIX clip_matrix);

#endif
