📄 font.h
字号:
#ifndef GPP_BLUE_DREAM_FONT_H_
#define GPP_BLUE_DREAM_FONT_H_
#include<string>
using namespace std;
const unsigned long GPP_FONT_MAX_HEIGHT=16;
const unsigned short GPP_FONT_FILE_ID='GF';
class GLayer;
class GScreen;
class GFileLoader;
class GFont
{
public:
struct GFontFileHeader
{
unsigned short wID; //字体文件ID
unsigned char byVerMajor; //主版本号
unsigned char byVerMinon; //次版本号
unsigned char byFontWidth; //字体宽,不得>16
unsigned char byFontHeight; //字体高,不得>16
unsigned char Reserve[2]; //保留
unsigned long dwFontDataSize; //字体数据大小
};
public:
GFont();
virtual ~GFont();
inline unsigned char GetFontWidth(){return m_ffh.byFontWidth;}
inline unsigned char GetFontHeight(){return m_ffh.byFontHeight;}
inline unsigned short*GetFontData(){return m_pFontData;}
inline unsigned short*GetAscIIChar(unsigned char index){return m_pFontData+(index<<4);}
inline unsigned short*GetUnicode(unsigned char u1,unsigned char u2){return m_pFontData+((((u1-128)<<8)+u2+128)<<4);}
bool LoadFontFile(GFileLoader*pFileLoader,const string & szFileName);
bool SaveFontDataToFile(const string &strFontFile,const GFontFileHeader & fh,unsigned char*pData);
void DrawTextFastToScreen(GScreen*pScreen,int x,int y,int nLineChar,unsigned char byColorIndex,char*szText);
void DrawTextFormatToScreen(GScreen*pScreen,int x,int y,int nLineChar,unsigned char byColorIndex,char*szText,...);
static const unsigned long C_FONT_MASK[];
private:
GFontFileHeader m_ffh;
unsigned short *m_pFontData;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -