## image\_manager\_t ### 概述 图片管理器。负责加载,解码和缓存图片。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | image\_manager | 获取缺省的图片管理器。 | | image\_manager\_create | 创建图片管理器。 | | image\_manager\_deinit | 析构图片管理器。 | | image\_manager\_destroy | 析构并释放图片管理器。 | | image\_manager\_dump | 输出图片管理器的信息。 | | image\_manager\_get\_bitmap | 获取指定的图片。 | | image\_manager\_has\_bitmap | 图片是否在图片管理中。 | | image\_manager\_init | 初始化图片管理器。 | | image\_manager\_preload | 预加载指定的图片。 | | image\_manager\_set | 设置缺省的图片管理器。 | | image\_manager\_set\_assets\_manager | 设置资源管理器对象。 | | image\_manager\_set\_fallback\_get\_bitmap | 设置一个函数,该函数在找不到图片时加载后补图片。 | | image\_manager\_set\_max\_mem\_size\_of\_cached\_images | 设置图片缓存占用的最大内存。 | | image\_manager\_unload\_all | 卸载全部图片。 | | image\_manager\_unload\_bitmap | 从图片管理器中卸载指定的图片。 | | image\_manager\_unload\_unused | 从图片管理器中卸载指定时间内没有使用的图片。 | | image\_manager\_update\_specific | 更新缓存中图片的specific信息。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | #### image\_manager 函数 ----------------------- * 函数功能: >

获取缺省的图片管理器。 * 函数原型: ``` image_manager_t* image_manager (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | image\_manager\_t* | 返回图片管理器对象。 | #### image\_manager\_create 函数 ----------------------- * 函数功能: >

创建图片管理器。 * 函数原型: ``` image_manager_t* image_manager_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | image\_manager\_t* | 返回图片管理器对象。 | #### image\_manager\_deinit 函数 ----------------------- * 函数功能: >

析构图片管理器。 * 函数原型: ``` ret_t image_manager_deinit (image_manager_t* im); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | im | image\_manager\_t* | 图片管理器对象。 | #### image\_manager\_destroy 函数 ----------------------- * 函数功能: >

析构并释放图片管理器。 * 函数原型: ``` ret_t image_manager_destroy (image_manager_t* im); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | im | 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* | 用于返回图片管理器的信息。 | #### image\_manager\_get\_bitmap 函数 ----------------------- * 函数功能: >

获取指定的图片。 先从缓存查找,如果没找到,再加载并缓存。 * 函数原型: ``` ret_t image_manager_get_bitmap (image_manager_t* imm, const char* name, bitmap_t* image); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | name | const char* | 图片名称。 | | image | bitmap\_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* | 图片。 | #### image\_manager\_init 函数 ----------------------- * 函数功能: >

初始化图片管理器。 * 函数原型: ``` image_manager_t* image_manager_init (image_manager_t* imm); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | image\_manager\_t* | 返回图片管理器对象。 | | imm | image\_manager\_t* | 图片管理器对象。 | #### image\_manager\_preload 函数 ----------------------- * 函数功能: >

预加载指定的图片。 * 函数原型: ``` ret_t image_manager_preload (image_manager_t* imm, const char* name); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | name | const char* | 图片名称。 | #### image\_manager\_set 函数 ----------------------- * 函数功能: >

设置缺省的图片管理器。 * 函数原型: ``` ret_t image_manager_set (image_manager_t* imm); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | #### image\_manager\_set\_assets\_manager 函数 ----------------------- * 函数功能: >

设置资源管理器对象。 之所以需要设置资源管理器对象,而不是使用缺省的资源管理器对象,是因为在designer中有两个图片管理器: * 一个用于designer本身加载图片。 * 一个用于被设计的窗口加载图片。 这两个图片管理器需要从不同的路径加载资源。 * 函数原型: ``` ret_t image_manager_set_assets_manager (image_manager_t* imm, assets_manager_t* assets_manager); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | assets\_manager | assets\_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* | 回调函数的上下文。 | #### 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* | 图片管理器对象。 | | max\_mem\_size | uint32\_t | 最大缓存内存(字节数)。 | #### image\_manager\_unload\_all 函数 ----------------------- * 函数功能: >

卸载全部图片。 * 函数原型: ``` ret_t image_manager_unload_all (image_manager_t* imm); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | #### image\_manager\_unload\_bitmap 函数 ----------------------- * 函数功能: >

从图片管理器中卸载指定的图片。 * 函数原型: ``` ret_t image_manager_unload_bitmap (image_manager_t* imm, bitmap_t* image); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | image | bitmap\_t* | 图片。 | #### image\_manager\_unload\_unused 函数 ----------------------- * 函数功能: >

从图片管理器中卸载指定时间内没有使用的图片。 * 函数原型: ``` ret_t image_manager_unload_unused (image_manager_t* imm, uint32_t time_delta_s); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | time\_delta\_s | uint32\_t | 时间范围,单位为秒。 | #### image\_manager\_update\_specific 函数 ----------------------- * 函数功能: >

更新缓存中图片的specific信息。 * 函数原型: ``` ret_t image_manager_update_specific (image_manager_t* imm, bitmap_t* image); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | image | bitmap\_t* | 返回图片信息。 |