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.

81 lines
2.8 KiB

  1. /****************************************************************************
  2. * @doc INTERNAL PROCAMPP
  3. *
  4. * @module ProcAmpP.h | Header file for the <c CProcAmpProperty>
  5. * class used to implement a property page to test the control interface
  6. * <i ITVideoSettings>.
  7. ***************************************************************************/
  8. #define NUM_PROCAMP_CONTROLS (VideoProcAmp_BacklightCompensation + 1)
  9. /****************************************************************************
  10. * @doc INTERNAL CPROCAMPPCLASS
  11. *
  12. * @class CProcAmpProperty | This class implements handling of a
  13. * single video proc amp control property in a property page.
  14. *
  15. * @mdata int | CProcAmpProperty | m_NumProperties | Keeps
  16. * track of the number of properties.
  17. *
  18. * @mdata ITVideoSettings * | CProcAmpProperty | m_pInterface | Pointer
  19. * to the <i ITVideoSettings> interface.
  20. ***************************************************************************/
  21. class CProcAmpProperty : public CPropertyEditor
  22. {
  23. public:
  24. CProcAmpProperty(HWND hDlg, ULONG IDLabel, ULONG IDMinControl, ULONG IDMaxControl, ULONG IDDefaultControl, ULONG IDStepControl, ULONG IDEditControl, ULONG IDTrackbarControl, ULONG IDProgressControl, ULONG IDProperty, ULONG IDAutoControl, ITVideoSettings *pInterface);
  25. ~CProcAmpProperty ();
  26. // CPropertyEditor base class pure virtual overrides
  27. HRESULT GetValue();
  28. HRESULT SetValue();
  29. HRESULT GetRange();
  30. private:
  31. ITVideoSettings *m_pInterface;
  32. };
  33. /****************************************************************************
  34. * @doc INTERNAL CPROCAMPPCLASS
  35. *
  36. * @class CProcAmpProperties | This class runs a property page to test
  37. * the TAPI VfW Capture Filter <i ITVideoSettings> implementation.
  38. *
  39. * @mdata int | CProcAmpProperties | m_NumProperties | Keeps
  40. * track of the number of properties.
  41. *
  42. * @mdata ITVideoSettings * | CProcAmpProperties | m_pITVideoSettings | Pointer
  43. * to the <i ITVideoSettings> interface.
  44. *
  45. * @mdata CProcAmpProperty * | CProcAmpProperties | m_Controls[NUM_PROCAMP_CONTROLS] | Array
  46. * of video proc amp properties.
  47. ***************************************************************************/
  48. class CProcAmpProperties
  49. {
  50. public:
  51. CProcAmpProperties();
  52. ~CProcAmpProperties();
  53. HPROPSHEETPAGE OnCreate(LPWSTR pszTitle);
  54. HRESULT OnConnect(ITStream *pStream);
  55. HRESULT OnDisconnect();
  56. HRESULT OnActivate();
  57. HRESULT OnDeactivate();
  58. HRESULT OnApplyChanges();
  59. private:
  60. void SetDirty();
  61. BOOL m_bInit;
  62. HWND m_hDlg;
  63. int m_NumProperties;
  64. ITVideoSettings *m_pITVideoSettings;
  65. CProcAmpProperty *m_Controls[NUM_PROCAMP_CONTROLS];
  66. // Dialog proc
  67. static INT_PTR CALLBACK BaseDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam);
  68. };