89 lines
2.6 KiB
C++
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;
|
|
};
|