awtk/docs/manual/image_manager_t.md

395 lines
12 KiB
Markdown
Raw Normal View History

2018-12-20 17:33:31 +08:00
## image\_manager\_t
### 概述
2019-11-15 11:33:43 +08:00
图片管理器。负责加载,解码和缓存图片。
2019-01-15 14:34:05 +08:00
----------------------------------
2018-12-20 17:33:31 +08:00
### 函数
<p id="image_manager_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2018-12-21 12:11:40 +08:00
| <a href="#image_manager_t_image_manager">image\_manager</a> | 获取缺省的图片管理器。 |
| <a href="#image_manager_t_image_manager_create">image\_manager\_create</a> | 创建图片管理器。 |
| <a href="#image_manager_t_image_manager_deinit">image\_manager\_deinit</a> | 析构图片管理器。 |
| <a href="#image_manager_t_image_manager_destroy">image\_manager\_destroy</a> | 析构并释放图片管理器。 |
2023-12-26 19:09:36 +08:00
| <a href="#image_manager_t_image_manager_dump">image\_manager\_dump</a> | 输出图片管理器的信息。 |
2019-12-14 13:25:56 +08:00
| <a href="#image_manager_t_image_manager_get_bitmap">image\_manager\_get\_bitmap</a> | 获取指定的图片。 |
2022-12-05 12:10:53 +08:00
| <a href="#image_manager_t_image_manager_has_bitmap">image\_manager\_has\_bitmap</a> | 图片是否在图片管理中。 |
2018-12-21 12:11:40 +08:00
| <a href="#image_manager_t_image_manager_init">image\_manager\_init</a> | 初始化图片管理器。 |
2020-01-02 11:41:53 +08:00
| <a href="#image_manager_t_image_manager_preload">image\_manager\_preload</a> | 预加载指定的图片。 |
2018-12-21 12:11:40 +08:00
| <a href="#image_manager_t_image_manager_set">image\_manager\_set</a> | 设置缺省的图片管理器。 |
2019-12-14 13:25:56 +08:00
| <a href="#image_manager_t_image_manager_set_assets_manager">image\_manager\_set\_assets\_manager</a> | 设置资源管理器对象。 |
2022-12-05 12:10:53 +08:00
| <a href="#image_manager_t_image_manager_set_fallback_get_bitmap">image\_manager\_set\_fallback\_get\_bitmap</a> | 设置一个函数,该函数在找不到图片时加载后补图片。 |
2021-10-13 09:51:38 +08:00
| <a href="#image_manager_t_image_manager_set_max_mem_size_of_cached_images">image\_manager\_set\_max\_mem\_size\_of\_cached\_images</a> | 设置图片缓存占用的最大内存。 |
2022-12-05 12:10:53 +08:00
| <a href="#image_manager_t_image_manager_unload_all">image\_manager\_unload\_all</a> | 卸载全部图片。 |
2019-02-20 15:25:09 +08:00
| <a href="#image_manager_t_image_manager_unload_bitmap">image\_manager\_unload\_bitmap</a> | 从图片管理器中卸载指定的图片。 |
2024-08-08 11:38:38 +08:00
| <a href="#image_manager_t_image_manager_unload_bitmap_by_name">image\_manager\_unload\_bitmap\_by\_name</a> | 从图片管理器中卸载指定的图片。 |
2018-12-21 12:11:40 +08:00
| <a href="#image_manager_t_image_manager_unload_unused">image\_manager\_unload\_unused</a> | 从图片管理器中卸载指定时间内没有使用的图片。 |
| <a href="#image_manager_t_image_manager_update_specific">image\_manager\_update\_specific</a> | 更新缓存中图片的specific信息。 |
2018-12-20 17:33:31 +08:00
### 属性
<p id="image_manager_t_properties">
2019-01-17 15:56:15 +08:00
| 属性名称 | 类型 | 说明 |
2018-12-20 17:33:31 +08:00
| -------- | ----- | ------------ |
#### image\_manager 函数
2018-12-21 18:29:29 +08:00
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager">获取缺省的图片管理器。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
image_manager_t* image_manager ();
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | image\_manager\_t* | 返回图片管理器对象。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_create 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_create">创建图片管理器。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2019-07-04 10:05:59 +08:00
image_manager_t* image_manager_create ();
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | image\_manager\_t* | 返回图片管理器对象。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_deinit 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_deinit">析构图片管理器。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t image_manager_deinit (image_manager_t* im);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2023-06-29 10:44:29 +08:00
| im | image\_manager\_t* | 图片管理器对象。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_destroy 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_destroy">析构并释放图片管理器。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t image_manager_destroy (image_manager_t* im);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2023-06-29 10:44:29 +08:00
| im | image\_manager\_t* | 图片管理器对象。 |
2023-12-26 19:09:36 +08:00
#### image\_manager\_dump 函数
-----------------------
* 函数功能:
> <p id="image_manager_t_image_manager_dump">输出图片管理器的信息。
* 函数原型:
```
ret_t image_manager_dump (image_manager_t* im, str_t* result);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | image\_manager\_t* | 图片管理器对象。 |
| result | str\_t* | 用于返回图片管理器的信息。 |
2018-12-29 12:17:06 +08:00
#### image\_manager\_get\_bitmap 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-12-14 13:25:56 +08:00
> <p id="image_manager_t_image_manager_get_bitmap">获取指定的图片。
先从缓存查找,如果没找到,再加载并缓存。
2018-12-20 17:33:31 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t image_manager_get_bitmap (image_manager_t* imm, const char* name, bitmap_t* image);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
2023-06-29 10:44:29 +08:00
| name | const char* | 图片名称。 |
2018-12-20 17:33:31 +08:00
| image | bitmap\_t* | 用于返回图片。 |
2022-12-05 12:10:53 +08:00
#### image\_manager\_has\_bitmap 函数
-----------------------
* 函数功能:
> <p id="image_manager_t_image_manager_has_bitmap">图片是否在图片管理中。
* 函数原型:
```
bool_t image_manager_has_bitmap (image_manager_t* imm, bitmap_t* image);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示存在否则表示不存在。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
| image | bitmap\_t* | 图片。 |
2018-12-29 12:17:06 +08:00
#### image\_manager\_init 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_init">初始化图片管理器。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2019-07-04 10:05:59 +08:00
image_manager_t* image_manager_init (image_manager_t* imm);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2018-12-29 12:17:06 +08:00
| 返回值 | image\_manager\_t* | 返回图片管理器对象。 |
2018-12-20 17:33:31 +08:00
| imm | image\_manager\_t* | 图片管理器对象。 |
2020-01-02 11:41:53 +08:00
#### image\_manager\_preload 函数
-----------------------
* 函数功能:
> <p id="image_manager_t_image_manager_preload">预加载指定的图片。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t image_manager_preload (image_manager_t* imm, const char* name);
2020-01-02 11:41:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
2023-06-29 10:44:29 +08:00
| name | const char* | 图片名称。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_set 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_set">设置缺省的图片管理器。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t image_manager_set (image_manager_t* imm);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_set\_assets\_manager 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-12-14 13:25:56 +08:00
> <p id="image_manager_t_image_manager_set_assets_manager">设置资源管理器对象。
之所以需要设置资源管理器对象而不是使用缺省的资源管理器对象是因为在designer中有两个图片管理器
* 一个用于designer本身加载图片。
* 一个用于被设计的窗口加载图片。
这两个图片管理器需要从不同的路径加载资源。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t image_manager_set_assets_manager (image_manager_t* imm, assets_manager_t* assets_manager);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
| assets\_manager | assets\_manager\_t* | 资源管理器。 |
2022-12-05 12:10:53 +08:00
#### image\_manager\_set\_fallback\_get\_bitmap 函数
-----------------------
* 函数功能:
> <p id="image_manager_t_image_manager_set_fallback_get_bitmap">设置一个函数,该函数在找不到图片时加载后补图片。
* 函数原型:
```
ret_t image_manager_set_fallback_get_bitmap (image_manager_t* imm, image_manager_get_bitmap_t fallback_get_bitmap, void* ctx);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | image manager对象。 |
| fallback\_get\_bitmap | image\_manager\_get\_bitmap\_t | 回调函数。 |
| ctx | void* | 回调函数的上下文。 |
2021-10-13 09:51:38 +08:00
#### image\_manager\_set\_max\_mem\_size\_of\_cached\_images 函数
-----------------------
* 函数功能:
> <p id="image_manager_t_image_manager_set_max_mem_size_of_cached_images">设置图片缓存占用的最大内存。
* 函数原型:
```
ret_t image_manager_set_max_mem_size_of_cached_images (image_manager_t* imm, uint32_t max_mem_size);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
2022-12-05 12:10:53 +08:00
| max\_mem\_size | uint32\_t | 最大缓存内存(字节数)。 |
2019-10-19 08:35:25 +08:00
#### image\_manager\_unload\_all 函数
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="image_manager_t_image_manager_unload_all">卸载全部图片。
2019-10-19 08:35:25 +08:00
* 函数原型:
```
ret_t image_manager_unload_all (image_manager_t* imm);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
2019-02-20 15:25:09 +08:00
#### image\_manager\_unload\_bitmap 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_unload_bitmap">从图片管理器中卸载指定的图片。
2019-10-16 09:02:32 +08:00
2019-02-20 15:25:09 +08:00
* 函数原型:
```
ret_t image_manager_unload_bitmap (image_manager_t* imm, bitmap_t* image);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
| image | bitmap\_t* | 图片。 |
2024-08-08 11:38:38 +08:00
#### image\_manager\_unload\_bitmap\_by\_name 函数
-----------------------
* 函数功能:
> <p id="image_manager_t_image_manager_unload_bitmap_by_name">从图片管理器中卸载指定的图片。
* 函数原型:
```
ret_t image_manager_unload_bitmap_by_name (image_manager_t* imm, const char* name);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
| name | const char* | 图片。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_unload\_unused 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_unload_unused">从图片管理器中卸载指定时间内没有使用的图片。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t image_manager_unload_unused (image_manager_t* imm, uint32_t time_delta_s);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
| time\_delta\_s | uint32\_t | 时间范围,单位为秒。 |
2018-12-21 18:29:29 +08:00
#### image\_manager\_update\_specific 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="image_manager_t_image_manager_update_specific">更新缓存中图片的specific信息。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t image_manager_update_specific (image_manager_t* imm, bitmap_t* image);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| imm | image\_manager\_t* | 图片管理器对象。 |
| image | bitmap\_t* | 返回图片信息。 |