2018-12-20 17:33:31 +08:00
|
|
|
|
## font\_manager\_t
|
|
|
|
|
### 概述
|
2018-12-28 17:51:44 +08:00
|
|
|
|
字体管理器,负责字体的加载和缓存管理。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
(如果使用nanovg,字体由nanovg内部管理)
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2019-01-15 14:34:05 +08:00
|
|
|
|
----------------------------------
|
2018-12-20 17:33:31 +08:00
|
|
|
|
### 函数
|
|
|
|
|
<p id="font_manager_t_methods">
|
|
|
|
|
|
|
|
|
|
| 函数名称 | 说明 |
|
|
|
|
|
| -------- | ------------ |
|
2018-12-21 12:11:40 +08:00
|
|
|
|
| <a href="#font_manager_t_font_manager">font\_manager</a> | 获取缺省的字体管理器。 |
|
2018-12-28 17:43:54 +08:00
|
|
|
|
| <a href="#font_manager_t_font_manager_add_font">font\_manager\_add\_font</a> | 向缓存中加入字体。 |
|
2018-12-21 12:11:40 +08:00
|
|
|
|
| <a href="#font_manager_t_font_manager_create">font\_manager\_create</a> | 创建字体管理器。 |
|
|
|
|
|
| <a href="#font_manager_t_font_manager_deinit">font\_manager\_deinit</a> | 析构字体管理器。 |
|
|
|
|
|
| <a href="#font_manager_t_font_manager_destroy">font\_manager\_destroy</a> | 析构并释放字体管理器。 |
|
2018-12-28 17:43:54 +08:00
|
|
|
|
| <a href="#font_manager_t_font_manager_get_font">font\_manager\_get\_font</a> | 从缓存中查找字体,如果没找到,再加载字体,并缓存。 |
|
2018-12-21 12:11:40 +08:00
|
|
|
|
| <a href="#font_manager_t_font_manager_init">font\_manager\_init</a> | 初始化字体管理器。 |
|
|
|
|
|
| <a href="#font_manager_t_font_manager_set">font\_manager\_set</a> | 设置缺省的字体管理器。 |
|
|
|
|
|
| <a href="#font_manager_t_font_manager_set_assets_manager">font\_manager\_set\_assets\_manager</a> | 设置资源管理器对象 |
|
2019-04-03 11:31:58 +08:00
|
|
|
|
| <a href="#font_manager_t_font_manager_unload_font">font\_manager\_unload\_font</a> | 卸载指定的字体。 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
### 属性
|
|
|
|
|
<p id="font_manager_t_properties">
|
|
|
|
|
|
2019-01-17 15:56:15 +08:00
|
|
|
|
| 属性名称 | 类型 | 说明 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| -------- | ----- | ------------ |
|
|
|
|
|
#### font\_manager 函数
|
2018-12-21 18:29:29 +08:00
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="font_manager_t_font_manager"> 获取缺省的字体管理器。
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
font_manager_t* font_manager ();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | font\_manager\_t* | 返回字体管理器对象。 |
|
2018-12-28 17:43:54 +08:00
|
|
|
|
#### font\_manager\_add\_font 函数
|
2018-12-21 18:29:29 +08:00
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-28 17:43:54 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_add_font"> 向缓存中加入字体。
|
2018-12-21 18:29:29 +08:00
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
2018-12-28 17:43:54 +08:00
|
|
|
|
ret_t font_manager_add_font (font_manager_t* fm, char* name, font_t* font);
|
2018-12-21 11:39:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
|
|
|
|
| name | char* | 字体名。 |
|
|
|
|
|
| font | font\_t* | 字体。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### font\_manager\_create 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-21 18:29:29 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_create"> 创建字体管理器。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
font_manager_t* font_manager_create (font_loader_t* loader);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | font\_manager\_t* | 返回字体管理器对象。 |
|
|
|
|
|
| loader | font\_loader\_t* | 字体加载器。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### font\_manager\_deinit 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-21 18:29:29 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_deinit"> 析构字体管理器。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t font_manager_deinit (font_manager_t* fm);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### font\_manager\_destroy 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-21 18:29:29 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_destroy"> 析构并释放字体管理器。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t font_manager_destroy (font_manager_t* fm);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
2018-12-28 17:43:54 +08:00
|
|
|
|
#### font\_manager\_get\_font 函数
|
2018-12-21 18:29:29 +08:00
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-28 17:43:54 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_get_font"> 从缓存中查找字体,如果没找到,再加载字体,并缓存。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
2019-01-09 13:52:36 +08:00
|
|
|
|
font_t* font_manager_get_font (font_manager_t* fm, char* name, font_size_t size);
|
2018-12-21 11:39:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | font\_t* | 返回字体对象。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
2019-07-04 10:05:59 +08:00
|
|
|
|
| name | char* | 字体名,为NULL时使用缺省字体。 |
|
2019-01-09 13:52:36 +08:00
|
|
|
|
| size | font\_size\_t | 字体的大小。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### font\_manager\_init 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-21 18:29:29 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_init"> 初始化字体管理器。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
font_manager_t* font_manager_init (font_manager_t* fm, font_loader_t* loader);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | font\_manager\_t* | 返回字体管理器对象。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
|
|
|
|
| loader | font\_loader\_t* | 字体加载器。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### font\_manager\_set 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-21 18:29:29 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_set"> 设置缺省的字体管理器。
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t font_manager_set (font_manager_t* fm);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### font\_manager\_set\_assets\_manager 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2018-12-21 18:29:29 +08:00
|
|
|
|
> <p id="font_manager_t_font_manager_set_assets_manager"> 设置资源管理器对象
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
2018-12-29 12:17:06 +08:00
|
|
|
|
之所以需要设置资源管理器对象,而不是使用缺省的资源管理器对象,是因为在designer中有两个字体管理器:
|
|
|
|
|
|
|
|
|
|
* 一个用于designer本身加载字体。
|
|
|
|
|
|
|
|
|
|
* 一个用于被设计的窗口加载字体。
|
|
|
|
|
|
|
|
|
|
这两个字体管理器需要从不同的路径加载资源。
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t font_manager_set_assets_manager (font_manager_t* imm, assets_manager_t* assets_manager);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
2018-12-29 12:17:06 +08:00
|
|
|
|
| imm | font\_manager\_t* | 字体管理器对象。 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| assets\_manager | assets\_manager\_t* | 资源管理器。 |
|
2019-04-03 11:31:58 +08:00
|
|
|
|
#### font\_manager\_unload\_font 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="font_manager_t_font_manager_unload_font"> 卸载指定的字体。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-24 10:35:53 +08:00
|
|
|
|
|
2019-04-03 11:31:58 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t font_manager_unload_font (font_manager_t* fm, char* name, font_size_t size);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| fm | font\_manager\_t* | 字体管理器对象。 |
|
2019-07-04 10:05:59 +08:00
|
|
|
|
| name | char* | 字体名,为NULL时使用缺省字体。 |
|
2019-04-03 11:31:58 +08:00
|
|
|
|
| size | font\_size\_t | 字体的大小(矢量字体指定为0即可)。 |
|