|

楼主 |
发表于 2024-11-20 23:00:31
|
显示全部楼层
/* 微软雅黑16点阵定义 */
#define XBF_Font16BaseAdd 0x00000000
GUI_XBF_DATA XBF_Data16;
GUI_FONT XBF_Font16;
void *Fontfile16;
/* 微软雅黑24点阵定义 */
#define XBF_Font24BaseAdd 0x0015CCDA
GUI_XBF_DATA XBF_Data24;
GUI_FONT XBF_Font24;
void *Fontfile24;
/* 微软雅黑32点阵定义 */
#define XBF_Font32BaseAdd 0x003D45CC
GUI_XBF_DATA XBF_Data32;
GUI_FONT XBF_Font32;
void *Fontfile32;
/*
*********************************************************************************************************
* 函 数 名: _cbGetData32
* 功能说明: XBF 字体的回调函数, 32 点阵
* 形 参: Off - 地址偏移
* NumBytes - 需要读出的字节数
* pVoid - 指针变量,一般用于带文件系统时的 FIL 类型变量
* pBuffer - 获取字体的点阵数据
* 返 回 值: 0 表示成功 1 表示失败
*********************************************************************************************************
*/
static int _cbGetData16(U32 Off, U16 NumBytes, void * pVoid, void * pBuffer)
{
/* 读取点阵数据 */
W25QXX_Read(pBuffer, XBF_Font16BaseAdd + Off, NumBytes);
return 0;
}
/*
*********************************************************************************************************
* 函 数 名: _cbGetData16
* 功能说明: XBF 字体的回调函数, 16 点阵
* 形 参: Off - 地址偏移
* NumBytes - 需要读出的字节数
* pVoid - 指针变量,一般用于带文件系统时的 FIL 类型变量
* pBuffer - 获取字体的点阵数据
* 返 回 值: 0 表示成功 1 表示失败
*********************************************************************************************************
*/
static int _cbGetData24(U32 Off, U16 NumBytes, void * pVoid, void * pBuffer)
{
/* 读取点阵数据 */
W25QXX_Read(pBuffer, XBF_Font24BaseAdd + Off, NumBytes);
return 0;
}
/*
*********************************************************************************************************
* 函 数 名: _cbGetData24
* 功能说明: XBF 字体的回调函数, 24 点阵
* 形 参: Off - 地址偏移
* NumBytes - 需要读出的字节数
* pVoid - 指针变量,一般用于带文件系统时的 FIL 类型变量
* pBuffer - 获取字体的点阵数据
* 返 回 值: 0 表示成功 1 表示失败
*********************************************************************************************************
*/
static int _cbGetData32(U32 Off, U16 NumBytes, void * pVoid, void * pBuffer)
{
/* 读取点阵数据 */
W25QXX_Read(pBuffer, XBF_Font32BaseAdd + Off, NumBytes);
return 0;
}
/*
*********************************************************************************************************
* 函 数 名: GUI_SetXBF
* 功能说明: 创建 XBF 字体
* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
static void GUI_SetXBF(void)
{
/* 创建 32 点阵字体 */
GUI_XBF_CreateFont(&XBF_Font16, /* GUI_FONT 类型变量 */
&XBF_Data16, /* GUI_XBF_DATA 类型变量 */
GUI_XBF_TYPE_PROP, /* 字体类型 */
_cbGetData16, /* 回调函数 */
&Fontfile16); /* 回调函数参数 */
/* 创建 16 点阵字体 */
GUI_XBF_CreateFont(&XBF_Font24, /* GUI_FONT 类型变量 */
&XBF_Data24, /* GUI_XBF_DATA 类型变量 */
GUI_XBF_TYPE_PROP, /* 字体类型 */
_cbGetData24, /* 回调函数 */
&Fontfile24); /* 回调函数参数 */
/* 创建 24 点阵字体 */
GUI_XBF_CreateFont(&XBF_Font32, /* GUI_FONT 类型变量 */
&XBF_Data32, /* GUI_XBF_DATA 类型变量 */
GUI_XBF_TYPE_PROP, /* 字体类型 */
_cbGetData32, /* 回调函数 */
&Fontfile32); /* 回调函数参数 */
}
这个是字库部分,仿真时_cbGetData回调函数的NumBytes形参都是0x0012 |
|