Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: d3dvertexbuffer7obj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3dMaterialObj.h : Declaration of the C_dxj_Direct3dMaterialObject
  11. #include "resource.h" // main symbols
  12. #define typedef__dxj_Direct3dVertexBuffer7 LPDIRECT3DVERTEXBUFFER7
  13. /////////////////////////////////////////////////////////////////////////////
  14. // Direct
  15. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  16. //references as template arguments.
  17. class C_dxj_Direct3dVertexBuffer7Object :
  18. public I_dxj_Direct3dVertexBuffer7,
  19. public CComObjectRoot
  20. {
  21. public:
  22. C_dxj_Direct3dVertexBuffer7Object() ;
  23. virtual ~C_dxj_Direct3dVertexBuffer7Object() ;
  24. BEGIN_COM_MAP(C_dxj_Direct3dVertexBuffer7Object)
  25. COM_INTERFACE_ENTRY(I_dxj_Direct3dVertexBuffer7)
  26. END_COM_MAP()
  27. DECLARE_AGGREGATABLE(C_dxj_Direct3dVertexBuffer7Object)
  28. public:
  29. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
  30. /* [in] */ IUnknown __RPC_FAR *lpdd);
  31. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
  32. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
  33. HRESULT STDMETHODCALLTYPE getVertexBufferDesc(
  34. /* [out][in] */ D3dVertexBufferDesc __RPC_FAR *desc);
  35. HRESULT STDMETHODCALLTYPE lock(
  36. /* [in] */ long flags);
  37. HRESULT STDMETHODCALLTYPE unlock( void);
  38. HRESULT STDMETHODCALLTYPE optimize(
  39. /* [in] */ I_dxj_Direct3dDevice7 __RPC_FAR *dev
  40. );
  41. HRESULT STDMETHODCALLTYPE processVertices(
  42. /* [in] */ long vertexOp,
  43. /* [in] */ long destIndex,
  44. /* [in] */ long count,
  45. /* [in] */ I_dxj_Direct3dVertexBuffer7 __RPC_FAR *srcBuffer,
  46. /* [in] */ long srcIndex,
  47. /* [in] */ I_dxj_Direct3dDevice7 __RPC_FAR *dev,
  48. /* [in] */ long flags);
  49. HRESULT STDMETHODCALLTYPE setVertices(
  50. /* [in] */ long startIndex,
  51. /* [in] */ long count,
  52. /* [in] */ void __RPC_FAR *verts);
  53. HRESULT STDMETHODCALLTYPE getVertices(
  54. /* [in] */ long startIndex,
  55. /* [in] */ long count,
  56. /* [in] */ void __RPC_FAR *verts);
  57. HRESULT STDMETHODCALLTYPE setVertexSize( /* [in] */ long n);
  58. private:
  59. DECL_VARIABLE(_dxj_Direct3dVertexBuffer7);
  60. public:
  61. DX3J_GLOBAL_LINKS( _dxj_Direct3dVertexBuffer7)
  62. void *m_pData;
  63. DWORD m_vertSize;
  64. };