www.pudn.com > PhoneReaderSrc.rar > ExBuffer.h


// ExBuffer.h: interface for the CExBuffer class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_EXBUFFER_H__288B120C_8461_4870_BBD2_C2E093AFA959__INCLUDED_) 
#define AFX_EXBUFFER_H__288B120C_8461_4870_BBD2_C2E093AFA959__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Public.h" 
#define PRC_FILE_HEADER_LEN  78 // != sizeof(PRC_FILE_HEADER) 
 
class CExBuffer   
{ 
public: 
	BOOL LoadFile(UINT nType,LPCTSTR szFileName); 
	VOID SetFontCtrl(BYTE byFontType ,BYTE byFontSize); 
 
	typedef struct  
	{   //total len is 78 
		char  szFileName[32]; 
		DWORD dwReserved1[7];   
		DWORD dwResourceType; 
		DWORD dwCreatorID;	  
		DWORD dwReserved2[2]; 
		WORD  wRecords; 
	}PRC_FILE_HEADER,*LPPRC_FILE_HEADER; 
 
	enum 
	{   //specifying the char format 
		FORMAT_HTML = 0, // HTML format		 
		FORMAT_TEXT,     // PLAIN TEXT format 
		FORMAT_PRC       // PALM PRC/PDB format 
	}; 
protected: 
	int ConvertChar(int iLen, char *Buffer, int iPointer, char *Check, int iCheckLen); 
	BOOL  FillLine(BYTE *szSource,DWORD &nLen); 
	BOOL  LoadPrcFile(LPCTSTR szFileName); 
	BOOL  LoadHtmlFile(LPCTSTR szHtmlFileName); 
	BOOL  LoadTxtFile(LPCTSTR szTxtFileName); 
	WORD  SwapWord(WORD wNumber); 
	DWORD SwapLong(DWORD dwNumber); 
	BOOL  DeCode(BYTE *szSource, DWORD& nLen); 
	BOOL  Html2Txt(CHAR *szBuffer); 
	BOOL  Html2Txt(LPCTSTR szHtmlFile, LPCTSTR szTxtFile); 
public: 
	CExBuffer(); 
	~CExBuffer(); 
 
public: 
	int m_nMaxLinePerPage; 
	int m_nStartLine,m_nEndLine; 
	CSimpleArray m_pcLine; 
	BOOL   m_FullScreen; 
private:	 
	RECT   m_rectWnd;	 
	DWORD  m_dwMaxLineWidth; 
	BYTE   m_byCurrentFontSize; //0,1,2 
	BYTE   m_byCurrentFontType; //0,1,2,3 
}; 
 
#endif // !defined(AFX_EXBUFFER_H__288B120C_8461_4870_BBD2_C2E093AFA959__INCLUDED_)