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 CAMERACP
  3. *
  4. * @module CameraCP.h | Header file for the <c CCameraControlProperty>
  5. * class used to implement a property page to test the control interface
  6. * <i ITCameraControl>.
  7. ***************************************************************************/
  8. #define NUM_CAMERA_CONTROLS 9
  9. /****************************************************************************
  10. * @doc INTERNAL CCAMERACPCLASS
  11. *
  12. * @class CCameraControlProperty | This class implements handling of a
  13. * single camera control property in a property page.
  14. *
  15. * @mdata int | CCameraControlProperty | m_NumProperties | Keeps
  16. * track of the number of properties.
  17. *
  18. * @mdata ITCameraControl * | CCameraControlProperty | m_pInterface | Pointer
  19. * to the <i ITCameraControl> interface.
  20. ***************************************************************************/
  21. class CCameraControlProperty : public CPropertyEditor
  22. {
  23. public:
  24. CCameraControlProperty(HWND hDlg, ULONG IDLabel, ULONG IDMinControl, ULONG IDMaxControl, ULONG IDDefaultControl, ULONG IDStepControl, ULONG IDEditControl, ULONG IDTrackbarControl, ULONG IDProgressControl, ULONG IDProperty, ULONG IDAutoControl, ITCameraControl *pInterface);
  25. ~CCameraControlProperty ();
  26. // CPropertyEditor base class pure virtual overrides
  27. HRESULT GetValue();
  28. HRESULT SetValue();
  29. HRESULT GetRange();
  30. private:
  31. ITCameraControl *m_pInterface;
  32. };
  33. /****************************************************************************
  34. * @doc INTERNAL CCAMERACPCLASS
  35. *
  36. * @class CCameraControlProperties | This class runs a property page to test
  37. * the TAPI VfW Capture Filter <i ITCameraControl> implementation.
  38. *
  39. * @mdata int | CCameraControlProperties | m_NumProperties | Keeps
  40. * track of the number of properties.
  41. *
  42. * @mdata ITCameraControl * | CCameraControlProperties | m_pITCameraControl | Pointer
  43. * to the <i ITCameraControl> interface.
  44. *
  45. * @mdata CCameraControlProperty * | CCameraControlProperties | m_Controls[NUM_CAMERA_CONTROLS] | Array
  46. * of camera control properties.
  47. ***************************************************************************/
  48. class CCameraControlProperties
  49. {
  50. public:
  51. CCameraControlProperties();
  52. ~CCameraControlProperties();
  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. ITCameraControl *m_pITCameraControl;
  65. CCameraControlProperty *m_Controls[NUM_CAMERA_CONTROLS];
  66. // Dialog proc
  67. static INT_PTR CALLBACK BaseDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam);
  68. };