//==========================================================================; // // 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) 1992 - 1998 Microsoft Corporation. All Rights Reserved. // //--------------------------------------------------------------------------; // // playdoc.h : interface of the CPlayerDoc class // ///////////////////////////////////////////////////////////////////////////// class CPlayerDoc : public CDocument { protected: // create from serialization only CPlayerDoc(); DECLARE_DYNCREATE(CPlayerDoc) BOOL CreateFilterGraph( void ); void DeleteContents( void ); // Event handles protected: HANDLE m_hGraphNotifyEvent; public: HANDLE GetGraphEventHandle( ) { return m_hGraphNotifyEvent; }; void OnGraphNotify(); // Attributes public: enum {Uninitialized, Stopped, Paused, Playing } m_State; IGraphBuilder *m_pGraph; BOOL CanPlay(){ return m_State==Stopped || m_State==Paused; }; BOOL CanStop(){ return m_State==Playing || m_State==Paused; }; BOOL CanPause(){return m_State==Playing || m_State==Stopped; }; BOOL IsInitialized(){ return m_State!=Uninitialized; } // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CPlayerDoc) public: virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); //}}AFX_VIRTUAL // Implementation public: virtual ~CPlayerDoc(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // Generated message map functions protected: // just stop the graph (if aborting). Normal stop will // rewind void OnAbortStop(); //{{AFX_MSG(CPlayerDoc) afx_msg void OnUpdateMediaPlay(CCmdUI* pCmdUI); afx_msg void OnUpdateMediaPause(CCmdUI* pCmdUI); afx_msg void OnUpdateMediaStop(CCmdUI* pCmdUI); afx_msg void OnMediaPlay(); afx_msg void OnMediaPause(); afx_msg void OnMediaStop(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; /////////////////////////////////////////////////////////////////////////////