⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 charset.h

📁 一个更为先进的嵌入式操作系统.采用RMS线程调度算法,具有信号量等同步对象.亦包括GUI. 通过该系统您可以极大知道Windows的内部秘密.
💻 H
字号:
#ifndef _GOS_CHARSET_H
#define _GOS_CHARSET_H

enum _tagCharSet
{
	CHARTYPE_WORDBREAK		=0x00010000L,
	CHARTYPE_DBLBYTES		=0x00020000L,
	FONTTYPE_MONOSPACED		=0x40000000L,
	FONTTYPE_TRUETYPE		=0x80000000L,
};

class CROP;
class CFontFace;

typedef struct _tagCHARSECT
{
	DWORD nMinChar;
	DWORD nMaxChar;
	PCVOID pData;
}CHARSECT,*PCHARSECT;

typedef struct _tagFFDRAWARG
{
	DWORD nPos;	//ROP的位置
	int w,h; //显示的尺寸
	SIZE sd; //每像素步矩
	int nDxSum;	//x步矩累计
	int nDySum; //y步矩累计
	PBYTE pData; //字体的位图数据
	int x,y; //字体开始绘制点
	SIZE sfd; //字体每点步矩
	DWORD nCharCode;
	CROP rp;	//画点的ROP
	CROP* pBkRop; //背景ROP
}FFDRAWARG,*PFFDRAWARG;

typedef PBYTE (*PFNFFFINDCHAR)(CFontFace& ff,DWORD nCharCode);
typedef	void (*PFNFFDRAWFONT)(CFontFace& ff,FFDRAWARG& pv);
typedef	void (*PFNFFDRAWFONT)(CFontFace& ff,FFDRAWARG& pv);

typedef struct _tagFONTFACE
{
	DWORD nType;
	const CHARSECT *pSect;
	WORD nSectSize;
	WORD nWidth;
	WORD nHeight;
	WORD nFontBytes;
}FONTFACE,*PFONTFACE;

class CFontFace
{
public:
	virtual PBYTE FindChar(DWORD nCharCode);
	virtual void DrawFont(FFDRAWARG& pv);
	virtual int GetCharWidth(DWORD nCharCode,int nFontSize);
public:
	const FONTFACE& GetFontFace(){return m_ff;}
	CFontFace();
protected:
	FONTFACE m_ff;
};

class CCharSet
{
public:
	virtual DWORD GetCharType(DWORD nCode);
	virtual DWORD ParseText(LPCTSTR& pText);
	virtual DWORD Translate(DWORD nCode,BOOL bToSystem);
public:
	int GetTextLength(LPCTSTR pText);
	void SetFontFace(CFontFace* pFF){m_pFontFace=pFF;}
	CFontFace* GetFontFace(){return m_pFontFace;}
private:
	CFontFace* m_pFontFace;
};

extern const FONTFACE g_fntEng;

#endif //_GOS_CHARSET_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -