// This code and information is provided "as is" without warranty of // any kind, either expressed or implied, including but not limited to // the implied warranties of merchantability and/or fitness for a // particular purpose. // Copyright (C) 1996 - 1998 Intel Corporation. All rights reserved. // IPlaydoc.h : interface of the CIPlayDoc class // ///////////////////////////////////////////////////////////////////////////// class CIPlayDoc : public CDocument { protected: CIPlayDoc(); DECLARE_DYNCREATE(CIPlayDoc) void DeleteContents(); // Attributes protected: HANDLE m_hGraphEvent; long m_lWinWidth; // original window size long m_lWinHeight; long m_lWidth; // encoded video size long m_lHeight; BOOL m_bLoop; BOOL m_bZoom; void *m_pIndeo; // pointer to Indeo interface public: IFilterGraph *m_pGraph; CHAR m_lpstrPath[MAX_PATH]; HANDLE GetGraphEventHandle( ) { return m_hGraphEvent; }; void OnGraphNotify(); enum {Uninitialized, Stopped, Paused, Playing } m_State; BOOL CanPlay(){ return m_State==Stopped || m_State==Paused; }; BOOL CanStop(){ return m_State==Playing || m_State==Paused; }; BOOL CanPause(){return m_State==Playing; }; BOOL IsInitialized(){ return m_State!=Uninitialized; }; ULONG VideoWidth(); ULONG VideoHeight(); // Operations public: BOOL IsIndeo(); void GetBCS(int&, int&, int& ); void GetTransFillRGB(int&, int&, int&); void GetDecodeTime(DWORD& ); void GetDecodeRect(DWORD&, DWORD&, DWORD&, DWORD& ); void GetViewRect(DWORD&, DWORD&, DWORD&, DWORD& ); void GetSequenceOptions(BOOL&, BOOL&, BOOL&, BOOL&, BOOL&, DWORD& ); void SetBCS(int, int, int); void SetTransFillRGB(DWORD); void SetDecodeTime(DWORD); void SetDecodeRect(DWORD, DWORD, DWORD, DWORD); void SetViewRect(BOOL, DWORD, DWORD, DWORD, DWORD); void SetSequenceOptions(BOOL, LONG, BOOL, BOOL, DWORD); void GetFrameDefaults(int&, int&, int&, DWORD&, DWORD&, DWORD&, DWORD&, DWORD&, DWORD&, DWORD&, DWORD&, DWORD& ); void GetSeqDefaults(BOOL&, BOOL&, BOOL&, BOOL&, BOOL&, DWORD&); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CIPlayDoc) public: virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); //}}AFX_VIRTUAL // Implementation public: virtual ~CIPlayDoc(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions protected: //{{AFX_MSG(CIPlayDoc) afx_msg void OnMediaLoop(); afx_msg void OnMediaPause(); afx_msg void OnMediaZoomx2(); afx_msg void OnUpdateMediaPause(CCmdUI* pCmdUI); afx_msg void OnUpdateMediaPlay(CCmdUI* pCmdUI); afx_msg void OnUpdateMediaStop(CCmdUI* pCmdUI); afx_msg void OnUpdateMediaZoomx2(CCmdUI* pCmdUI); afx_msg void OnUpdateMediaLoop(CCmdUI* pCmdUI); afx_msg void OnMediaPlay(); afx_msg void OnMediaStop(); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: void SetWindow(BSTR); BOOL CreateFilterGraph( void ); };