www.pudn.com > Gesture[20040824].rar > CamAvi.h


// CamAvi.h: interface for the CCamAvi class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_CAMAVI_H__926D3846_7615_407B_8B27_FBD7A68853DA__INCLUDED_) 
#define AFX_CAMAVI_H__926D3846_7615_407B_8B27_FBD7A68853DA__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#ifndef __CAMAVI__ 
#define __CAMAVI__ 
 
#include "image.h" 
#include  
#include  
#include "dibapi.h" 
 
class CCamAvi   
{ 
private: 
	CImage *m_frame; 
	bool m_init; 
	PAVIFILE m_paf; 
	PAVISTREAM m_pas; 
	HIC m_hic; 
	long m_length; 
	long m_pos; 
	BYTE *m_data; 
	HDIB m_hDIB; 
	BITMAPINFO m_bi, m_bi_out; 
 
	CPalette* m_palDIB; 
 
public: 
	HDIB GetHDIB() const 
		{ return m_hDIB; } 
	BITMAPINFO GetBitmapInfo() const 
		{ return m_bi_out; } 
	CPalette* GetDocPalette() const 
		{ return m_palDIB; } 
	void InitDIBData(); 
 
public: 
	CCamAvi(); 
    ~CCamAvi(); 
 
    void    GetFrameFromAvi(); 
    bool    Initialize(const char* filename); 
    void    Uninitialize(); 
    bool    GetInitStatus() { return m_init; }; 
	int     GetReaderPosition() { return m_pos; } 
	CImage *GetFramePointer() { return m_frame; } 
	void    SetReaderPosition(int pos); 
	void    NextFrame(); 
	void    PrevFrame(); 
	void    FirstFrame(); 
	void    LastFrame(); 
	bool    IsFirstFrame(); 
	bool    IsLastFrame(); 
	long    GetAviLength() { return m_length; }; 
}; 
 
#endif  
 
#endif // !defined(AFX_CAMAVI_H__926D3846_7615_407B_8B27_FBD7A68853DA__INCLUDED_)