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.

77 lines
2.8 KiB

  1. // DirectSoundFXI3DL2ReverbPage.h : Declaration of the CDirectSoundFXI3DL2ReverbPage
  2. #ifndef __DIRECTSOUNDFXI3DL2REVERBPAGE_H_
  3. #define __DIRECTSOUNDFXI3DL2REVERBPAGE_H_
  4. #include "resource.h" // main symbols
  5. #include <dsound.h>
  6. #include "ControlHelp.h"
  7. #define NUMPRESETS 30
  8. EXTERN_C const CLSID CLSID_DirectSoundFXI3DL2ReverbPage;
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CDirectSoundFXI3DL2ReverbPage
  11. class ATL_NO_VTABLE CDirectSoundFXI3DL2ReverbPage :
  12. public CComObjectRootEx<CComSingleThreadModel>,
  13. public CComCoClass<CDirectSoundFXI3DL2ReverbPage, &CLSID_DirectSoundFXI3DL2ReverbPage>,
  14. public IPropertyPageImpl<CDirectSoundFXI3DL2ReverbPage>,
  15. public CDialogImpl<CDirectSoundFXI3DL2ReverbPage>
  16. {
  17. public:
  18. CDirectSoundFXI3DL2ReverbPage();
  19. enum {IDD = IDD_DIRECTSOUNDFXI3DL2REVERBPAGE};
  20. DECLARE_REGISTRY_RESOURCEID(IDR_DIRECTSOUNDFXI3DL2REVERBPAGE)
  21. DECLARE_PROTECT_FINAL_CONSTRUCT()
  22. BEGIN_COM_MAP(CDirectSoundFXI3DL2ReverbPage)
  23. COM_INTERFACE_ENTRY(IPropertyPage)
  24. END_COM_MAP()
  25. BEGIN_MSG_MAP(CDirectSoundFXI3DL2ReverbPage)
  26. MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog);
  27. MESSAGE_HANDLER(WM_HSCROLL, OnControlMessage);
  28. MESSAGE_HANDLER(WM_COMMAND, OnControlMessage);
  29. MESSAGE_HANDLER(WM_COMMAND, OnComboControlMessage);
  30. CHAIN_MSG_MAP(IPropertyPageImpl<CDirectSoundFXI3DL2ReverbPage>)
  31. END_MSG_MAP()
  32. // Handler prototypes:
  33. // LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  34. // LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
  35. // LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
  36. STDMETHOD(SetObjects)(ULONG nObjects, IUnknown **ppUnk);
  37. STDMETHOD(Apply)(void);
  38. // Message handlers
  39. LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  40. LRESULT OnControlMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  41. LRESULT OnComboControlMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  42. // Member variables
  43. CComPtr<IDirectSoundFXI3DL2Reverb> m_IDSFXI3DL2Reverb;
  44. CSliderValue m_sliderRoom;
  45. CSliderValue m_sliderRoomHF;
  46. CSliderValue m_sliderRoomRolloffFactor;
  47. CSliderValue m_sliderDecayTime;
  48. CSliderValue m_sliderDecayHFRatio;
  49. CSliderValue m_sliderReflections;
  50. CSliderValue m_sliderReflectionsDelay;
  51. CSliderValue m_sliderReverb;
  52. CSliderValue m_sliderReverbDelay;
  53. CSliderValue m_sliderDiffusion;
  54. CSliderValue m_sliderDensity;
  55. CSliderValue m_sliderHFReference;
  56. CSliderValue m_sliderQuality;
  57. Handler *m_rgpHandlers[14];
  58. protected:
  59. static DSFXI3DL2Reverb Presets[];
  60. void FillCombo(HWND hWnd);
  61. };
  62. #endif //__DIRECTSOUNDFXI3DL2REVERBPAGE_H_