From: <ad...@us...> - 2003-02-13 13:42:18
|
Update of /cvsroot/bdadev/CleverTelly In directory sc8-pr-cvs1:/tmp/cvs-serv23843 Modified Files: MSVidCtlComp.cpp MSVidCtlComp.h Log Message: Added Event listeners Index: MSVidCtlComp.cpp =================================================================== RCS file: /cvsroot/bdadev/CleverTelly/MSVidCtlComp.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** MSVidCtlComp.cpp 13 Feb 2003 10:19:08 -0000 1.1.1.1 --- MSVidCtlComp.cpp 13 Feb 2003 13:42:12 -0000 1.2 *************** *** 23,29 **** --- 23,59 ---- #include "MSVidCtlComp.h" + + _ATL_FUNC_INFO OnClickInfo = {CC_STDCALL, VT_EMPTY, 0}; + _ATL_FUNC_INFO OnDblClickInfo = {CC_STDCALL, VT_EMPTY, 0}; + _ATL_FUNC_INFO OnError = {CC_STDCALL, VT_EMPTY, 7, {VT_I2, VT_PTR, VT_I4, VT_BSTR, VT_BSTR, VT_I4, VT_PTR} }; + _ATL_FUNC_INFO OnKeyDown = {CC_STDCALL, VT_EMPTY, 2, {VT_PTR, VT_I2} }; + _ATL_FUNC_INFO OnKeyPress = {CC_STDCALL, VT_EMPTY, 2, {VT_PTR} }; + _ATL_FUNC_INFO OnKeyUp = {CC_STDCALL, VT_EMPTY, 2, {VT_PTR, VT_I2} }; + _ATL_FUNC_INFO OnMouseDown = {CC_STDCALL, VT_EMPTY, 4, {VT_I2, VT_I2, VT_I4, VT_I4} }; + _ATL_FUNC_INFO OnMouseMove = {CC_STDCALL, VT_EMPTY, 4, {VT_I2, VT_I2, VT_I4, VT_I4} }; + _ATL_FUNC_INFO OnMouseUp = {CC_STDCALL, VT_EMPTY, 4, {VT_I2, VT_I2, VT_I4, VT_I4} }; + _ATL_FUNC_INFO OnStateChangeInfo = {CC_STDCALL, VT_EMPTY, 2, { VT_I4, VT_I4} }; + + ///////////////////////////////////////////////////////////////////////////// // CMSVidCtlComp + CMSVidCtlComp::CMSVidCtlComp() + { + m_bWindowOnly = TRUE; + CalcExtent(m_sizeExtent); + } + + STDMETHODIMP CMSVidCtlComp::OnAmbientPropertyChange(DISPID dispid) + { + if (dispid == DISPID_AMBIENT_BACKCOLOR) + { + SetBackgroundColorFromAmbient(); + FireViewChange(); + } + return IOleControlImpl<CMSVidCtlComp>::OnAmbientPropertyChange(dispid); + } + + LRESULT CMSVidCtlComp::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { *************** *** 33,40 **** hr = GetDlgControl(IDC_MSVIDCTL2, __uuidof(IMSVidCtl), reinterpret_cast<void **>(&m_pVidControl2)); ! return hr; } LRESULT CMSVidCtlComp::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { --- 63,82 ---- hr = GetDlgControl(IDC_MSVIDCTL2, __uuidof(IMSVidCtl), reinterpret_cast<void **>(&m_pVidControl2)); ! ! ResizeVideoControl(); ! return hr; } + void CMSVidCtlComp::ResizeVideoControl() + { + CWindow VidCtlWnd(GetDlgItem(IDC_MSVIDCTL1)); + RECT rcWindow; + GetWindowRect(&rcWindow); + ScreenToClient(&rcWindow); + VidCtlWnd.MoveWindow(&rcWindow); + } + + LRESULT CMSVidCtlComp::OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { *************** *** 49,52 **** --- 91,111 ---- } + LRESULT CMSVidCtlComp::OnMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) + { + // always do default processing + bHandled = FALSE; + + return 0; + } + + LRESULT CMSVidCtlComp::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) + { + // always do default processing + bHandled = FALSE; + + ResizeVideoControl(); + + return 0; + } LRESULT CMSVidCtlComp::OnClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) *************** *** 57,64 **** --- 116,244 ---- } + void __stdcall CMSVidCtlComp::OnClick1() + { + } + + void __stdcall CMSVidCtlComp::OnStateChange1(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState) + { + } + + void __stdcall CMSVidCtlComp::OnStateChange2(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState) + { + } + + void __stdcall CMSVidCtlComp::OnDblClick1() + { + } + + void __stdcall CMSVidCtlComp::OnError1(short Number, BSTR* pDescription, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* pCancelDisplay) + { + } + + void __stdcall CMSVidCtlComp::OnKeyDown1(short* pKeyCode, short Shift) + { + } + + void __stdcall CMSVidCtlComp::OnKeyPress1(short* pKeyCode) + { + } + + void __stdcall CMSVidCtlComp::OnKeyUp1(short* pKeyCode, short Shift) + { + } + + void __stdcall CMSVidCtlComp::OnMouseDown1(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y) + { + } + + void __stdcall CMSVidCtlComp::OnMouseMove1(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y) + { + } + + void __stdcall CMSVidCtlComp::OnMouseUp1(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y) + { + } + + void __stdcall CMSVidCtlComp::OnError2(short Number, BSTR* pDescription, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* pCancelDisplay) + { + } + + STDMETHODIMP CMSVidCtlComp::OverlayUnavailable() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::TuneChanged(IMSVidTuner* plpd) + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::CertificateFailure() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::CertificateSuccess() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::RatingsBlocked() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::RatingsUnblocked() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::RatingsChanged() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::TimeHole(long StreamOffsetMS, long SizeMS) + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::StaleDataRead() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::ContentBecomingStale() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::StaleFileDeleted() + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::EndOfMedia(IMSVidPlayback* lpd) + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::StateChange(IMSVidDevice* plpd, long oldState, long newState) + { + return S_OK; + } + + STDMETHODIMP CMSVidCtlComp::WriteFailure() + { + return S_OK; + } + ///////////////////////////////////////////////////////////////////////////// // CVS Log // // $Log$ + // Revision 1.2 2003/02/13 13:42:12 adcockj + // Added Event listeners + // // Revision 1.1.1.1 2003/02/13 10:19:08 adcockj // Initial Import Index: MSVidCtlComp.h =================================================================== RCS file: /cvsroot/bdadev/CleverTelly/MSVidCtlComp.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** MSVidCtlComp.h 13 Feb 2003 10:19:08 -0000 1.1.1.1 --- MSVidCtlComp.h 13 Feb 2003 13:42:13 -0000 1.2 *************** *** 24,27 **** --- 24,37 ---- #include <atlctl.h> + extern _ATL_FUNC_INFO OnClickInfo; + extern _ATL_FUNC_INFO OnDblClickInfo; + extern _ATL_FUNC_INFO OnError; + extern _ATL_FUNC_INFO OnKeyDown; + extern _ATL_FUNC_INFO OnKeyPress; + extern _ATL_FUNC_INFO OnKeyUp; + extern _ATL_FUNC_INFO OnMouseDown; + extern _ATL_FUNC_INFO OnMouseMove; + extern _ATL_FUNC_INFO OnMouseUp; + extern _ATL_FUNC_INFO OnStateChangeInfo; ///////////////////////////////////////////////////////////////////////////// *************** *** 42,53 **** public IDataObjectImpl<CMSVidCtlComp>, public IProvideClassInfo2Impl<&CLSID_MSVidCtlComp, NULL, &LIBID_CLEVERTELLYLib>, ! public CComCoClass<CMSVidCtlComp, &CLSID_MSVidCtlComp> { public: ! CMSVidCtlComp() ! { ! m_bWindowOnly = TRUE; ! CalcExtent(m_sizeExtent); ! } DECLARE_REGISTRY_RESOURCEID(IDR_MSVIDCTLCOMP) --- 52,65 ---- public IDataObjectImpl<CMSVidCtlComp>, public IProvideClassInfo2Impl<&CLSID_MSVidCtlComp, NULL, &LIBID_CLEVERTELLYLib>, ! public IDispEventSimpleImpl<IDC_MSVIDCTL1, CMSVidCtlComp, &__uuidof(_IMSVidCtlEvents)>, ! public IDispEventSimpleImpl<IDC_MSVIDCTL2, CMSVidCtlComp, &__uuidof(_IMSVidCtlEvents)>, ! public CComCoClass<CMSVidCtlComp, &CLSID_MSVidCtlComp>, ! public IDispatchImpl<IMSVidStreamBufferSinkEvent, &__uuidof(IMSVidStreamBufferSinkEvent), &LIBID_MSVidCtlLib, 1, 0>, ! public IDispatchImpl<IMSVidStreamBufferSourceEvent, &__uuidof(IMSVidStreamBufferSourceEvent), &LIBID_MSVidCtlLib, 1, 0>, ! public IDispatchImpl<IMSVidTunerEvent, &__uuidof(IMSVidTunerEvent), &LIBID_MSVidCtlLib, 1, 0>, ! public IDispatchImpl<IMSVidVideoRendererEvent, &__uuidof(IMSVidVideoRendererEvent), &LIBID_MSVidCtlLib, 1, 0> { public: ! CMSVidCtlComp(); DECLARE_REGISTRY_RESOURCEID(IDR_MSVIDCTLCOMP) *************** *** 57,61 **** BEGIN_COM_MAP(CMSVidCtlComp) COM_INTERFACE_ENTRY(IMSVidCtlComp) ! COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(IViewObjectEx) COM_INTERFACE_ENTRY(IViewObject2) --- 69,73 ---- BEGIN_COM_MAP(CMSVidCtlComp) COM_INTERFACE_ENTRY(IMSVidCtlComp) ! COM_INTERFACE_ENTRY2(IDispatch, IMSVidCtlComp) COM_INTERFACE_ENTRY(IViewObjectEx) COM_INTERFACE_ENTRY(IViewObject2) *************** *** 75,78 **** --- 87,94 ---- COM_INTERFACE_ENTRY(IProvideClassInfo) COM_INTERFACE_ENTRY(IProvideClassInfo2) + COM_INTERFACE_ENTRY(IMSVidStreamBufferSinkEvent) + COM_INTERFACE_ENTRY(IMSVidStreamBufferSourceEvent) + COM_INTERFACE_ENTRY(IMSVidTunerEvent) + COM_INTERFACE_ENTRY(IMSVidVideoRendererEvent) END_COM_MAP() *************** *** 89,92 **** --- 105,110 ---- MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) MESSAGE_HANDLER(WM_SYSCOMMAND, OnSysCommand) + MESSAGE_HANDLER(WM_MOVE, OnMove) + MESSAGE_HANDLER(WM_SIZE, OnSize) COMMAND_ID_HANDLER(WM_CLOSE, OnClose) END_MSG_MAP() *************** *** 94,122 **** LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); BEGIN_SINK_MAP(CMSVidCtlComp) - //Make sure the Event Handlers have __stdcall calling convention - END_SINK_MAP() ! STDMETHOD(OnAmbientPropertyChange)(DISPID dispid) ! { ! if (dispid == DISPID_AMBIENT_BACKCOLOR) ! { ! SetBackgroundColorFromAmbient(); ! FireViewChange(); ! } ! return IOleControlImpl<CMSVidCtlComp>::OnAmbientPropertyChange(dispid); ! } ! // IViewObjectEx DECLARE_VIEW_STATUS(0) // IMSVidCtlComp public: - enum { IDD = IDD_MSVIDCTLCOMP }; private: CComPtr<IMSVidCtl> m_pVidControl; --- 112,182 ---- LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); + LRESULT OnMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); BEGIN_SINK_MAP(CMSVidCtlComp) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_CLICK, OnClick1, &OnClickInfo) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_DBLCLICK, OnDblClick1, &OnDblClickInfo) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_ERROREVENT, OnError1, &OnError) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_KEYDOWN, OnKeyDown1, &OnKeyDown) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_KEYPRESS, OnKeyPress1, &OnKeyPress) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_KEYUP, OnKeyUp1, &OnKeyUp) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_MOUSEDOWN, OnMouseDown1, &OnMouseDown) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_MOUSEMOVE, OnMouseMove1, &OnMouseMove) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), DISPID_MOUSEUP, OnMouseUp1, &OnMouseUp) ! SINK_ENTRY_INFO(IDC_MSVIDCTL1, __uuidof(_IMSVidCtlEvents), dispidStateChange, OnStateChange1, &OnStateChangeInfo) + SINK_ENTRY_INFO(IDC_MSVIDCTL2, __uuidof(_IMSVidCtlEvents), DISPID_ERROREVENT, OnError2, &OnError) + SINK_ENTRY_INFO(IDC_MSVIDCTL2, __uuidof(_IMSVidCtlEvents), dispidStateChange, OnStateChange2, &OnStateChangeInfo) + END_SINK_MAP() + STDMETHOD(OnAmbientPropertyChange)(DISPID dispid); ! // IViewObjectEx DECLARE_VIEW_STATUS(0) // IMSVidCtlComp public: enum { IDD = IDD_MSVIDCTLCOMP }; + + // IMSVidVideoRendererEvent + STDMETHOD(OverlayUnavailable)(); + // IMSVidTunerEven + STDMETHOD(TuneChanged)(IMSVidTuner* plpd); + // IMSVidStreamBufferSourceEvent + STDMETHOD(CertificateFailure)(); + STDMETHOD(CertificateSuccess)(); + STDMETHOD(RatingsBlocked)(); + STDMETHOD(RatingsUnblocked)(); + STDMETHOD(RatingsChanged)(); + STDMETHOD(TimeHole)(long StreamOffsetMS, long SizeMS); + STDMETHOD(StaleDataRead)(); + STDMETHOD(ContentBecomingStale)(); + STDMETHOD(StaleFileDeleted)(); + // IMSVidPlaybackEvent + STDMETHOD(EndOfMedia)(IMSVidPlayback* lpd); + // IMSVidDeviceEvent + STDMETHOD(StateChange)(IMSVidDevice* plpd, long oldState, long newState); + // IMSVidStreamBufferSinkEvent + STDMETHOD(WriteFailure)(); + + private: + void ResizeVideoControl(); + void __stdcall OnClick1(); + void __stdcall OnDblClick1(); + void __stdcall OnError1(short Number, BSTR* pDescription, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* pCancelDisplay); + void __stdcall OnKeyDown1(short* pKeyCode, short Shift); + void __stdcall OnKeyPress1(short* pKeyCode); + void __stdcall OnKeyUp1(short* pKeyCode, short Shift); + void __stdcall OnMouseDown1(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y); + void __stdcall OnMouseMove1(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y); + void __stdcall OnMouseUp1(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y); + void __stdcall OnStateChange1(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState); + + void __stdcall OnError2(short Number, BSTR* pDescription, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* pCancelDisplay); + void __stdcall OnStateChange2(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState); + private: CComPtr<IMSVidCtl> m_pVidControl; |