## canvas\_offline\_t ### 概述 离线画布 canvas。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | canvas\_offline\_begin\_draw | 设置离线 canvas 开始绘图 | | canvas\_offline\_bitmap\_move\_to\_new\_bitmap | 把离线 canvas 的离线 bitmap 移动赋值给新的 bitmap。 | | canvas\_offline\_clear\_canvas | 清除离线 canvas 所有数据,并把背景设置为全透明(注意:该离线 canvas 需要有透明通道) | | canvas\_offline\_create | 创建一个离线的 canvas | | canvas\_offline\_custom\_begin\_draw | 用户自定义 canvas_offline_custom_begin_draw | | canvas\_offline\_custom\_bitmap\_move\_to\_new\_bitmap | 用户自定义 canvas_offline_custom_bitmap_move_to_new_bitmap | | canvas\_offline\_custom\_clear\_canvas | 用户自定义 canvas_offline_custom_clear_canvas | | canvas\_offline\_custom\_create | 用户自定义 canvas_offline_create | | canvas\_offline\_custom\_destroy | 用户自定义 canvas_offline_custom_destroy | | canvas\_offline\_custom\_end\_draw | 用户自定义 canvas_offline_custom_end_draw | | canvas\_offline\_custom\_flush\_bitmap | 用户自定义 canvas_offline_custom_flush_bitmap | | canvas\_offline\_custom\_get\_bitmap | 用户自定义 canvas_offline_custom_get_bitmap | | canvas\_offline\_destroy | 释放离线 canvas 和离线 bitmap | | canvas\_offline\_end\_draw | 设置离线 canvas 结束绘图 | | canvas\_offline\_flush\_bitmap | 把离线 canvas 的数据放到绑定的 bitmap 中 | | canvas\_offline\_get\_bitmap | 获取离线 canvas 的离线 bitmap。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | bitmap | bitmap\_t* | 绑定的离线 bitmap | #### canvas\_offline\_begin\_draw 函数 ----------------------- * 函数功能: >

设置离线 canvas 开始绘图 * 函数原型: ``` ret_t canvas_offline_begin_draw (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_bitmap\_move\_to\_new\_bitmap 函数 ----------------------- * 函数功能: >

把离线 canvas 的离线 bitmap 移动赋值给新的 bitmap。 移动赋值后原来的离线 canvas 的离线 bitmap 就会被置空。 备注:在移动赋值之前会先调用 canvas_offline_flush_bitmap 把数据回流到内存中。 * 函数原型: ``` ret_t canvas_offline_bitmap_move_to_new_bitmap (canvas_t* canvas, bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | | bitmap | bitmap\_t* | 新的 bitmap 对象。 | #### canvas\_offline\_clear\_canvas 函数 ----------------------- * 函数功能: >

清除离线 canvas 所有数据,并把背景设置为全透明(注意:该离线 canvas 需要有透明通道) 该函数调用前必须要先 canvas_offline_begin_draw 函数。 该函数用来解决离线 canvas 多次绘图半透效果后导致半透效果无效的问题。 * 函数原型: ``` ret_t canvas_offline_clear_canvas (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_create 函数 ----------------------- * 函数功能: >

创建一个离线的 canvas 在 opengl 模式下 format 参数只能为 BITMAP_FMT_RGBA8888 在其他模式下,离线 canvas 格式可以为 rgba,bgar,bgr565和rgb565 * 函数原型: ``` canvas_t* canvas_offline_create (uint32_t w, uint32_t h, bitmap_format_t format); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | canvas\_t* | 成功返回 canvas ,失败返回 NULL。 | | w | uint32\_t | 离线 canvas 的宽。 | | h | uint32\_t | 离线 canvas 的高。 | | format | bitmap\_format\_t | 离线 canvas 的格式。 | #### canvas\_offline\_custom\_begin\_draw 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_begin_draw * 函数原型: ``` ret_t canvas_offline_custom_begin_draw (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_custom\_bitmap\_move\_to\_new\_bitmap 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_bitmap_move_to_new_bitmap * 函数原型: ``` bitmap_t* canvas_offline_custom_bitmap_move_to_new_bitmap (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bitmap\_t* | 返回 bitmap\_t 对象表示成功,返回 NULL 表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_custom\_clear\_canvas 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_clear_canvas * 函数原型: ``` ret_t canvas_offline_custom_clear_canvas (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_custom\_create 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_create * 函数原型: ``` canvas_t* canvas_offline_custom_create (uint32_t w, uint32_t h, bitmap_format_t format); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | canvas\_t* | 成功返回 canvas ,失败返回 NULL。 | | w | uint32\_t | 离线 canvas 的宽。 | | h | uint32\_t | 离线 canvas 的高。 | | format | bitmap\_format\_t | 离线 canvas 的格式。 | #### canvas\_offline\_custom\_destroy 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_destroy * 函数原型: ``` ret_t canvas_offline_custom_destroy (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_custom\_end\_draw 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_end_draw * 函数原型: ``` ret_t canvas_offline_custom_end_draw (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_custom\_flush\_bitmap 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_flush_bitmap * 函数原型: ``` ret_t canvas_offline_custom_flush_bitmap (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_custom\_get\_bitmap 函数 ----------------------- * 函数功能: >

用户自定义 canvas_offline_custom_get_bitmap * 函数原型: ``` bitmap_t* canvas_offline_custom_get_bitmap (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bitmap\_t* | 返回 bitmap\_t 对象表示成功,返回 NULL 表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_destroy 函数 ----------------------- * 函数功能: >

释放离线 canvas 和离线 bitmap * 函数原型: ``` ret_t canvas_offline_destroy (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_end\_draw 函数 ----------------------- * 函数功能: >

设置离线 canvas 结束绘图 * 函数原型: ``` ret_t canvas_offline_end_draw (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_flush\_bitmap 函数 ----------------------- * 函数功能: >

把离线 canvas 的数据放到绑定的 bitmap 中 该函数只有在 opengl 模式才需要调用,是否把显存中的数据回传到内存中。 * 函数原型: ``` ret_t canvas_offline_flush_bitmap (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### canvas\_offline\_get\_bitmap 函数 ----------------------- * 函数功能: >

获取离线 canvas 的离线 bitmap。 * 函数原型: ``` bitmap_t* canvas_offline_get_bitmap (canvas_t* canvas); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bitmap\_t* | 返回 bitmap\_t 对象表示成功,返回 NULL 表示失败。 | | canvas | canvas\_t* | 离线 canvas 对象。 | #### bitmap 属性 ----------------------- >

绑定的离线 bitmap * 类型:bitmap\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 |