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.

97 lines
2.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: ddclipperobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // ddClipperObj.h : Declaration of the C_dxj_DirectDrawClipperObject
  11. #include "resource.h" // main symbols
  12. #include "wingdi.h"
  13. #define DDCOOPERATIVE_CLIPTOCOMPONENT 0x30000000
  14. #define DDCOOPERATIVE_OFFSETTOCOMPONENT 0x20000000
  15. #define typedef__dxj_DirectDrawClipper LPDIRECTDRAWCLIPPER
  16. /////////////////////////////////////////////////////////////////////////////
  17. // Direct
  18. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  19. //references as template arguments.
  20. class C_dxj_DirectDrawClipperObject :
  21. #ifdef USING_IDISPATCH
  22. public CComDualImpl<I_dxj_DirectDrawClipper, &IID_I_dxj_DirectDrawClipper, &LIBID_DIRECTLib>,
  23. public ISupportErrorInfo,
  24. #else
  25. public I_dxj_DirectDrawClipper,
  26. #endif
  27. // public CComCoClass<C_dxj_DirectDrawClipperObject, &CLSID__dxj_DirectDrawClipper>,
  28. public CComObjectRoot
  29. {
  30. public:
  31. C_dxj_DirectDrawClipperObject() ;
  32. virtual ~C_dxj_DirectDrawClipperObject() ;
  33. DWORD InternalAddRef();
  34. DWORD InternalRelease();
  35. BEGIN_COM_MAP(C_dxj_DirectDrawClipperObject)
  36. COM_INTERFACE_ENTRY(I_dxj_DirectDrawClipper)
  37. #ifdef USING_IDISPATCH
  38. COM_INTERFACE_ENTRY(IDispatch)
  39. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  40. #endif
  41. END_COM_MAP()
  42. DECLARE_AGGREGATABLE(C_dxj_DirectDrawClipperObject)
  43. #ifdef USING_IDISPATCH
  44. // ISupportsErrorInfo
  45. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  46. #endif
  47. // I_dxj_DirectDrawClipper
  48. public:
  49. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
  50. /* [in] */ IUnknown __RPC_FAR *lpddc);
  51. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
  52. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpddc);
  53. HRESULT STDMETHODCALLTYPE getClipListSize(
  54. /* [retval][out] */ int __RPC_FAR *count);
  55. HRESULT STDMETHODCALLTYPE getClipList(
  56. SAFEARRAY **list);
  57. HRESULT STDMETHODCALLTYPE setClipList(
  58. /* [in] */ long count, SAFEARRAY **list);
  59. HRESULT STDMETHODCALLTYPE getHWnd(
  60. /* [retval][out] */ HWnd __RPC_FAR *hdl);
  61. HRESULT STDMETHODCALLTYPE setHWnd(
  62. // /* [in] */ long flags,
  63. /* [in] */ HWnd hdl);
  64. HRESULT STDMETHODCALLTYPE isClipListChanged(
  65. /* [retval][out] */ int __RPC_FAR *status);
  66. private:
  67. DECL_VARIABLE(_dxj_DirectDrawClipper);
  68. public:
  69. DX3J_GLOBAL_LINKS( _dxj_DirectDrawClipper );
  70. int m_flags;
  71. };