windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx7vb/d3dvertexbuffer7obj.h
2020-09-26 16:20:57 +08:00

89 lines
2.6 KiB
C++

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: d3dvertexbuffer7obj.h
//
//--------------------------------------------------------------------------
// d3dMaterialObj.h : Declaration of the C_dxj_Direct3dMaterialObject
#include "resource.h" // main symbols
#define typedef__dxj_Direct3dVertexBuffer7 LPDIRECT3DVERTEXBUFFER7
/////////////////////////////////////////////////////////////////////////////
// Direct
//REVIEW -- using pointers to ID's is necessary because some compilers don't like
//references as template arguments.
class C_dxj_Direct3dVertexBuffer7Object :
public I_dxj_Direct3dVertexBuffer7,
public CComObjectRoot
{
public:
C_dxj_Direct3dVertexBuffer7Object() ;
virtual ~C_dxj_Direct3dVertexBuffer7Object() ;
BEGIN_COM_MAP(C_dxj_Direct3dVertexBuffer7Object)
COM_INTERFACE_ENTRY(I_dxj_Direct3dVertexBuffer7)
END_COM_MAP()
DECLARE_AGGREGATABLE(C_dxj_Direct3dVertexBuffer7Object)
public:
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
/* [in] */ IUnknown __RPC_FAR *lpdd);
/* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
/* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
HRESULT STDMETHODCALLTYPE getVertexBufferDesc(
/* [out][in] */ D3dVertexBufferDesc __RPC_FAR *desc);
HRESULT STDMETHODCALLTYPE lock(
/* [in] */ long flags);
HRESULT STDMETHODCALLTYPE unlock( void);
HRESULT STDMETHODCALLTYPE optimize(
/* [in] */ I_dxj_Direct3dDevice7 __RPC_FAR *dev
);
HRESULT STDMETHODCALLTYPE processVertices(
/* [in] */ long vertexOp,
/* [in] */ long destIndex,
/* [in] */ long count,
/* [in] */ I_dxj_Direct3dVertexBuffer7 __RPC_FAR *srcBuffer,
/* [in] */ long srcIndex,
/* [in] */ I_dxj_Direct3dDevice7 __RPC_FAR *dev,
/* [in] */ long flags);
HRESULT STDMETHODCALLTYPE setVertices(
/* [in] */ long startIndex,
/* [in] */ long count,
/* [in] */ void __RPC_FAR *verts);
HRESULT STDMETHODCALLTYPE getVertices(
/* [in] */ long startIndex,
/* [in] */ long count,
/* [in] */ void __RPC_FAR *verts);
HRESULT STDMETHODCALLTYPE setVertexSize( /* [in] */ long n);
private:
DECL_VARIABLE(_dxj_Direct3dVertexBuffer7);
public:
DX3J_GLOBAL_LINKS( _dxj_Direct3dVertexBuffer7)
void *m_pData;
DWORD m_vertSize;
};