📄 devfont.h
字号:
#ifndef __DEVFONT_H__
#define __DEVFONT_H__
#include"osdcharset.h"
#define FONT_MAX_SIZE 256
#define FONT_MIN_SIZE 4
typedef struct{
int bpp; /*bits per pixel*/
int rows; /* number of rows */
int cols; /* number of columns (bytes) per row */
int pitch; /* bitmap orientation */
void* bitmap; /* bit/pixmap buffer */
}CHARBITMAP;
typedef struct _DEVFONT DEVFONT;
typedef struct GDIFont GDIFONT;
typedef struct{
int (*get_char_width)(GDIFONT*gdifont,DEVFONT* devfont,
const unsigned char* mchar, int len);
int (*get_str_width) (GDIFONT*gdifont,DEVFONT* devfont,
const unsigned char* mstr, int n, int cExtra);
int (*get_ave_width) (GDIFONT*gdifont, DEVFONT* devfont);
int (*get_max_width) (GDIFONT*gdifont, DEVFONT* devfont);
int (*get_font_height)(GDIFONT*gdifont,DEVFONT* devfont);
int (*get_font_size) (GDIFONT*gdifont, DEVFONT* devfont,int expect);
int (*get_font_ascent)(GDIFONT*gdifont,DEVFONT* devfont);
int (*get_font_descent)(GDIFONT*gdifont,DEVFONT* devfont);
int (*char_bitmap_size)(GDIFONT*gdifont,DEVFONT* devfont,
const unsigned char* mchar, int len);
int (*max_bitmap_size) (GDIFONT*gdifont,DEVFONT* devfont);
int (*get_char_bitmap)(GDIFONT*gdifont,DEVFONT* devfont,
const unsigned char* mchar, int len,CHARBITMAP*bmp);
void (*start_str_output)(GDIFONT*gdifont,DEVFONT* devfont);
//Can be NULL
int (*get_char_bbox) (GDIFONT*gdifont,DEVFONT* devfont,
const unsigned char* mchar, int len,
int* px, int* py, int* pwidth, int* pheight);
// Can be NULL
void (*get_char_advance) (GDIFONT*gdifont,DEVFONT* devfont,
const unsigned char* mchar, int len, int* px, int* py);
// Can be NULL
DEVFONT*(*new_instance)(GDIFONT*gdifont,DEVFONT* devfont,
int need_sbc_font);// Can be NULL
void (*delete_instance)(DEVFONT*devfont);
}FONTOPS;
struct _DEVFONT{
char*name;
FONTOPS*FontOps;
CHARSETOPS *CharsetOps;
struct _DEVFONT*next;
void*data;
};
struct GDIFont{
DEVFONT*mbcFont;
DEVFONT*sbcFont;
char*type;
char*family;
char*charset;
int RefCount;
short size;
short FontWidth;
short FontHeight;
short aveWidth;//字符平均宽度。
int bItalic;
int underLine;
int rotation;
};
#ifdef __cplusplus
extern "C"{
#endif
void AddDevFont(DEVFONT*fnt,int mbc);
char*GetFontCharsetPartFromName(const char* name, char* charset);
int GetFontCharsetFromName(const char*fontname,char*charset);
int GetCharsetsNumber (const char* charsets);
int GetFontTypeFromName (const char* name, char* type);
int GetFontFamilyFromName(const char*fontname,char*family);
int GetFromSizeFromName (const char* name,short*fwidth,short*fheight);
DEVFONT*GetMachedDevFont(GDIFONT*fnt,int mbc);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -