home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / mac / SiteBldr / AMOVIE / SDK / _SETUP / COMMON.Z / iplaydoc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-15  |  2.9 KB  |  99 lines

  1. // This code and information is provided "as is" without warranty of
  2. // any kind, either expressed or implied, including but not limited to
  3. // the implied warranties of merchantability and/or fitness for a
  4. // particular purpose.
  5.  
  6. // Copyright (C) 1996 Intel corporation.  All rights reserved.
  7.  
  8. // IPlaydoc.h : interface of the CIPlayDoc class
  9. //
  10. /////////////////////////////////////////////////////////////////////////////
  11. class CIPlayDoc : public CDocument
  12. {
  13. protected: 
  14.     CIPlayDoc();
  15.     DECLARE_DYNCREATE(CIPlayDoc)
  16.     void DeleteContents();
  17.  
  18.     // Attributes
  19. protected:
  20.     HANDLE       m_hGraphEvent;
  21.     long         m_lWinWidth;   // original window size
  22.     long         m_lWinHeight;
  23.     long         m_lWidth;      // encoded video size
  24.     long         m_lHeight;
  25.     BOOL         m_bLoop;
  26.     BOOL         m_bZoom;
  27.     void         *m_pIndeo;        // pointer to Indeo interface
  28.  
  29. public:
  30.     IFilterGraph *m_pGraph;
  31.     CHAR             m_lpstrPath[MAX_PATH];
  32.  
  33.     HANDLE GetGraphEventHandle( ) { return m_hGraphEvent; };
  34.     void OnGraphNotify();
  35.  
  36.     enum {Uninitialized, Stopped, Paused, Playing } m_State;
  37.     BOOL CanPlay(){ return m_State==Stopped || m_State==Paused; };
  38.     BOOL CanStop(){ return m_State==Playing || m_State==Paused; };
  39.     BOOL CanPause(){return m_State==Playing; };
  40.     BOOL IsInitialized(){ return m_State!=Uninitialized; };
  41.     ULONG VideoWidth();
  42.     ULONG VideoHeight();
  43.  
  44. // Operations
  45. public:
  46.     BOOL IsIndeo();
  47.     void GetBCS(int&, int&, int& );
  48.     void GetDecodeTime(DWORD& );
  49.     void GetDecodeRect(DWORD&, DWORD&, DWORD&, DWORD& );
  50.     void GetViewRect(DWORD&, DWORD&, DWORD&, DWORD& );
  51.     void GetSequenceOptions(BOOL&, BOOL&, BOOL&, BOOL&, DWORD& );
  52.     void SetBCS(int, int, int);
  53.     void SetDecodeTime(DWORD);
  54.     void SetDecodeRect(DWORD, DWORD, DWORD, DWORD);
  55.     void SetViewRect(DWORD, DWORD, DWORD, DWORD);
  56.     void SetSequenceOptions(BOOL, BOOL, BOOL, BOOL, DWORD);
  57.     void GetFrameDefaults(int&, int&, int&, DWORD&,
  58.                      DWORD&, DWORD&, DWORD&, DWORD&, 
  59.                      DWORD&, DWORD&, DWORD&, DWORD& );
  60.     void GetSeqDefaults(BOOL&, BOOL&, BOOL&, BOOL&, DWORD&);
  61.  
  62. // Overrides
  63.     // ClassWizard generated virtual function overrides
  64.     //{{AFX_VIRTUAL(CIPlayDoc)
  65.     public:
  66.     virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
  67.     //}}AFX_VIRTUAL
  68.  
  69. // Implementation
  70. public:
  71.     virtual ~CIPlayDoc();
  72. #ifdef _DEBUG
  73.     virtual void AssertValid() const;
  74.     virtual void Dump(CDumpContext& dc) const;
  75. #endif
  76.  
  77. // Generated message map functions
  78. protected:
  79.     //{{AFX_MSG(CIPlayDoc)
  80.     afx_msg void OnMediaLoop();
  81.     afx_msg void OnMediaPause();
  82.     afx_msg void OnMediaZoomx2();
  83.     afx_msg void OnUpdateMediaPause(CCmdUI* pCmdUI);
  84.     afx_msg void OnUpdateMediaPlay(CCmdUI* pCmdUI);
  85.     afx_msg void OnUpdateMediaStop(CCmdUI* pCmdUI);
  86.     afx_msg void OnUpdateMediaZoomx2(CCmdUI* pCmdUI);
  87.     afx_msg void OnUpdateMediaLoop(CCmdUI* pCmdUI);
  88.     afx_msg void OnMediaPlay();
  89.     afx_msg void OnMediaStop();
  90.     //}}AFX_MSG
  91.     DECLARE_MESSAGE_MAP()
  92.  
  93. private:
  94.     void SetWindow(BSTR);
  95.     BOOL CreateFilterGraph( void );
  96.  
  97. };
  98.  
  99.