home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / inole2 / interfac / iviewob2.h < prev    next >
C/C++ Source or Header  |  1996-05-21  |  2KB  |  58 lines

  1. /*
  2.  * IVIEWOB2.H
  3.  *
  4.  * Definitions of a template IViewObject2 interface implementation.
  5.  *
  6.  * Copyright (c)1993-1995 Microsoft Corporation, All Right Reserved
  7.  *
  8.  * Kraig Brockschmidt, Microsoft
  9.  * Internet  :  kraigb@microsoft.com
  10.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  11.  */
  12.  
  13.  
  14. #ifndef _IVIEWOBJ_H_
  15. #define _IVIEWOBJ_H_
  16.  
  17. #include <inole.h>
  18.  
  19. class CImpIViewObject2;
  20. typedef class CImpIViewObject2 *PCImpIViewObject2;
  21.  
  22. class CImpIViewObject2 : public IViewObject
  23.     {
  24.     private:
  25.         ULONG           m_cRef;         //Interface reference count
  26.         LPVOID          m_pObj;         //Backpointer to the object
  27.         LPUNKNOWN       m_pUnkOuter;    //For delegation
  28.  
  29.     public:
  30.         CImpIViewObject2(LPVOID, LPUNKNOWN);
  31.         ~CImpIViewObject2(void);
  32.  
  33.         //IUnknown members that delegate to m_pUnkOuter.
  34.         STDMETHODIMP         QueryInterface(REFIID, LPVOID *);
  35.         STDMETHODIMP_(ULONG) AddRef(void);
  36.         STDMETHODIMP_(ULONG) Release(void);
  37.  
  38.         //IViewObject members
  39.         STDMETHODIMP Draw(DWORD, LONG, LPVOID, DVTARGETDEVICE *
  40.             , HDC, HDC, LPCRECTL, LPCRECTL, BOOL (CALLBACK *)(DWORD)
  41.             , DWORD);
  42.  
  43.         STDMETHODIMP GetColorSet(DWORD, LONG, LPVOID
  44.             , DVTARGETDEVICE *, HDC, LPLOGPALETTE *);
  45.  
  46.         STDMETHODIMP Freeze(DWORD, LONG, LPVOID, LPDWORD);
  47.         STDMETHODIMP Unfreeze(DWORD);
  48.         STDMETHODIMP SetAdvise(DWORD, DWORD, LPADVISESINK);
  49.         STDMETHODIMP GetAdvise(LPDWORD, LPDWORD, LPADVISESINK *);
  50.  
  51.         //IViewObject2 members
  52.         STDMETHODIMP GetExtent(DWORD, LONG, DVTARGETDEVICE *
  53.             , LPSIZEL);
  54.     };
  55.  
  56.  
  57. #endif //_IVIEWOBJ_H_
  58.