home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / DirectShow / DMO / GargleDMO / GargDMOProp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-08  |  2.4 KB  |  82 lines

  1. //------------------------------------------------------------------------------
  2. // File: GargDMOProp.h
  3. //
  4. // Desc: DirectShow sample code - definition of the CGargDMOProp class.
  5. //
  6. // Copyright (c) 1999-2001 Microsoft Corporation. All rights reserved.
  7. //------------------------------------------------------------------------------
  8.  
  9.  
  10. #ifndef __GARGDMOPROP_H_
  11. #define __GARGDMOPROP_H_
  12.  
  13. #include "resource.h"       // main symbols
  14. #include "controlhelp.h"
  15.  
  16. EXTERN_C const CLSID CLSID_GargDMOProp;
  17.  
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CGargDMOProp
  20. class ATL_NO_VTABLE CGargDMOProp :
  21.     public CComObjectRootEx<CComMultiThreadModel>,
  22.     public CComCoClass<CGargDMOProp, &CLSID_GargDMOProp>,
  23.     public IPropertyPageImpl<CGargDMOProp>,
  24.     public CDialogImpl<CGargDMOProp>
  25. {
  26. public:
  27.  
  28.     enum {IDD = IDD_GARGDMOPROP};
  29.  
  30. DECLARE_GET_CONTROLLING_UNKNOWN()
  31. DECLARE_REGISTRY_RESOURCEID(IDR_GARGDMOPROP)
  32.  
  33. DECLARE_PROTECT_FINAL_CONSTRUCT()
  34.  
  35. BEGIN_COM_MAP(CGargDMOProp) 
  36.     COM_INTERFACE_ENTRY(IPropertyPage)
  37.     COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
  38. END_COM_MAP()
  39.  
  40. BEGIN_MSG_MAP(CGargDMOProp)
  41.     MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog);
  42.     MESSAGE_HANDLER(WM_HSCROLL, OnControlMessage);
  43.     MESSAGE_HANDLER(WM_COMMAND, OnControlMessage);
  44.     CHAIN_MSG_MAP(IPropertyPageImpl<CGargDMOProp>)
  45. END_MSG_MAP()
  46. // Handler prototypes:
  47. //  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  48. //  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
  49. //  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
  50.  
  51.     CGargDMOProp();
  52.  
  53.     HRESULT FinalConstruct()
  54.     {
  55.         return CoCreateFreeThreadedMarshaler(
  56.             GetControllingUnknown(), &m_pUnkMarshaler.p);
  57.     }
  58.  
  59.     void FinalRelease()
  60.     {
  61.         m_pUnkMarshaler.Release();
  62.     }
  63.  
  64.     CComPtr<IUnknown> m_pUnkMarshaler;
  65.  
  66.     STDMETHOD(SetObjects)(ULONG nObjects, IUnknown **ppUnk);
  67.     STDMETHOD(Apply)(void);
  68.  
  69.     // Message handlers
  70.     LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  71.     LRESULT OnControlMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  72.  
  73.     // Member variables
  74.     CSliderValue m_sliderRate;
  75.     CRadioChoice m_radioWaveform;
  76.     Handler *m_rgpHandlers[3];
  77.     CComPtr<IGargleDMOSample> m_pIGargleFX;
  78.  
  79. };
  80.  
  81. #endif //__GARGDMOPROP_H_
  82.