/**************************************************************************** * @doc INTERNAL PROCAMPP * * @module ProcAmpP.h | Header file for the * class used to implement a property page to test the control interface * . ***************************************************************************/ #define NUM_PROCAMP_CONTROLS (VideoProcAmp_BacklightCompensation + 1) /**************************************************************************** * @doc INTERNAL CPROCAMPPCLASS * * @class CProcAmpProperty | This class implements handling of a * single video proc amp control property in a property page. * * @mdata int | CProcAmpProperty | m_NumProperties | Keeps * track of the number of properties. * * @mdata ITVideoSettings * | CProcAmpProperty | m_pInterface | Pointer * to the interface. ***************************************************************************/ class CProcAmpProperty : public CPropertyEditor { public: 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); ~CProcAmpProperty (); // CPropertyEditor base class pure virtual overrides HRESULT GetValue(); HRESULT SetValue(); HRESULT GetRange(); private: ITVideoSettings *m_pInterface; }; /**************************************************************************** * @doc INTERNAL CPROCAMPPCLASS * * @class CProcAmpProperties | This class runs a property page to test * the TAPI VfW Capture Filter implementation. * * @mdata int | CProcAmpProperties | m_NumProperties | Keeps * track of the number of properties. * * @mdata ITVideoSettings * | CProcAmpProperties | m_pITVideoSettings | Pointer * to the interface. * * @mdata CProcAmpProperty * | CProcAmpProperties | m_Controls[NUM_PROCAMP_CONTROLS] | Array * of video proc amp properties. ***************************************************************************/ class CProcAmpProperties { public: CProcAmpProperties(); ~CProcAmpProperties(); HPROPSHEETPAGE OnCreate(LPWSTR pszTitle); HRESULT OnConnect(ITStream *pStream); HRESULT OnDisconnect(); HRESULT OnActivate(); HRESULT OnDeactivate(); HRESULT OnApplyChanges(); private: void SetDirty(); BOOL m_bInit; HWND m_hDlg; int m_NumProperties; ITVideoSettings *m_pITVideoSettings; CProcAmpProperty *m_Controls[NUM_PROCAMP_CONTROLS]; // Dialog proc static INT_PTR CALLBACK BaseDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam); };