Source code of Windows XP (NT5)
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.

70 lines
2.1 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: d3drmlightarrayobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3drmLightArrayObj.h : Declaration of the C_dxj_Direct3dRMLightArrayObject
  11. #include "resource.h" // main symbols
  12. #define typedef__dxj_Direct3dRMLightArray LPDIRECT3DRMLIGHTARRAY
  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_Direct3dRMLightArrayObject :
  18. #ifdef USING_IDISPATCH
  19. public CComDualImpl<I_dxj_Direct3dRMLightArray, &IID_I_dxj_Direct3dRMLightArray, &LIBID_DIRECTLib>,
  20. public ISupportErrorInfo,
  21. #else
  22. public I_dxj_Direct3dRMLightArray,
  23. #endif
  24. //public CComCoClass<C_dxj_Direct3dRMLightArrayObject, &CLSID__dxj_Direct3dRMLightArray>,
  25. public CComObjectRoot
  26. {
  27. public:
  28. C_dxj_Direct3dRMLightArrayObject() ;
  29. virtual ~C_dxj_Direct3dRMLightArrayObject() ;
  30. BEGIN_COM_MAP(C_dxj_Direct3dRMLightArrayObject)
  31. COM_INTERFACE_ENTRY(I_dxj_Direct3dRMLightArray)
  32. #ifdef USING_IDISPATCH
  33. COM_INTERFACE_ENTRY(IDispatch)
  34. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  35. #endif
  36. END_COM_MAP()
  37. // DECLARE_REGISTRY(CLSID__dxj_Direct3dRMLightArray, "DIRECT.Direct3dRMLightArray.3", "DIRECT.Direct3dRMLightArray.3", IDS_D3DRMLIGHTARRAY_DESC, THREADFLAGS_BOTH)
  38. // Use DECLARE_NOT_AGGREGATABLE(C_dxj_Direct3dRMLightArrayObject) if you don't want your object
  39. // to support aggregation
  40. DECLARE_AGGREGATABLE(C_dxj_Direct3dRMLightArrayObject)
  41. #ifdef USING_IDISPATCH
  42. // ISupportsErrorInfo
  43. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  44. #endif
  45. // I_dxj_Direct3dRMLightArray
  46. public:
  47. STDMETHOD(InternalSetObject)(IUnknown *lpdd);
  48. STDMETHOD(InternalGetObject)(IUnknown **lpdd);
  49. STDMETHOD(getSize)(long *retval);
  50. STDMETHOD(getElement)(long index, I_dxj_Direct3dRMLight **retval);
  51. private:
  52. DECL_VARIABLE(_dxj_Direct3dRMLightArray);
  53. public:
  54. DX3J_GLOBAL_LINKS( _dxj_Direct3dRMLightArray )
  55. };