awtk/docs/manual/dialog_highlighter_t.md
2021-08-03 07:53:37 +08:00

8.8 KiB
Raw Blame History

dialog_highlighter_t

概述

对话框高亮策略。

高亮策略的基本思路是对背景进行处理,比如将背景变暗或变模糊。


函数

函数名称 说明
dialog_highlighter_create 创建对话框高亮策略对象。
dialog_highlighter_destroy 销毁对话框高亮策略对象。
dialog_highlighter_draw 绘制背景。
dialog_highlighter_draw_mask 绘制背景高亮部分。
dialog_highlighter_get_alpha 获取高亮的透明度。
dialog_highlighter_is_dynamic 是否是动态绘制(方便外层优化)。
dialog_highlighter_prepare 初始化。在绘制完背景,在截图前调用。
dialog_highlighter_prepare_ex 初始化。在绘制完背景,在截图前调用。
dialog_highlighter_set_bg 设置背景图片。
dialog_highlighter_set_bg_clip_rect 设置背景图片的显示裁剪区。
dialog_highlighter_set_system_bar_alpha 设置 sytem_bar 的高亮透明值。

属性

属性名称 类型 说明
canvas canvas_t* 画布。
clip_rect rect_t* 截图的显示裁减区
dialog widget_t* 对应的对话框。
img bitmap_t 底层窗口的截图。

dialog_highlighter_create 函数


  • 函数功能:

创建对话框高亮策略对象。

供子类构造函数用。

  • 函数原型:
dialog_highlighter_t* dialog_highlighter_create (const dialog_highlighter_vtable_t* vt);
  • 参数说明:
参数 类型 说明
返回值 dialog_highlighter_t* 返回对话框高亮策略对象
vt const dialog_highlighter_vtable_t* 虚表对象。

dialog_highlighter_destroy 函数


  • 函数功能:

销毁对话框高亮策略对象。

  • 函数原型:
ret_t dialog_highlighter_destroy (dialog_highlighter_t* h);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。

dialog_highlighter_draw 函数


  • 函数功能:

绘制背景。

  • 函数原型:
ret_t dialog_highlighter_draw (dialog_highlighter_t* h, float_t percent);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
percent float_t 动画进度(0-1)1表示打开已经完成。

dialog_highlighter_draw_mask 函数


  • 函数功能:

绘制背景高亮部分。

  • 函数原型:
ret_t dialog_highlighter_draw_mask (dialog_highlighter_t* h, canvas_t* c, float_t percent);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
c canvas_t* 画布。
percent float_t 高亮的百分比。

dialog_highlighter_get_alpha 函数


  • 函数功能:

获取高亮的透明度。

  • 函数原型:
uint8_t dialog_highlighter_get_alpha (dialog_highlighter_t* h, float_t percent);
  • 参数说明:
参数 类型 说明
返回值 uint8_t 返回透明度。
h dialog_highlighter_t* 对话框高亮策略对象。
percent float_t 高亮的百分比。

dialog_highlighter_is_dynamic 函数


  • 函数功能:

是否是动态绘制(方便外层优化)。

  • 函数原型:
bool_t dialog_highlighter_is_dynamic (dialog_highlighter_t* h);
  • 参数说明:
参数 类型 说明
返回值 bool_t 返回TRUE表示动态绘制否则表示不是动态绘制。
h dialog_highlighter_t* 对话框高亮策略对象。

dialog_highlighter_prepare 函数


  • 函数功能:

初始化。在绘制完背景,在截图前调用。

  • 函数原型:
ret_t dialog_highlighter_prepare (dialog_highlighter_t* h, canvas_t* c);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
c canvas_t* 画布。

dialog_highlighter_prepare_ex 函数


  • 函数功能:

初始化。在绘制完背景,在截图前调用。

  • 函数原型:
ret_t dialog_highlighter_prepare_ex (dialog_highlighter_t* h, canvas_t* c, canvas_t* canvas_offline);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
c canvas_t* 画布。
canvas_offline canvas_t* 离线画布。

dialog_highlighter_set_bg 函数


  • 函数功能:

设置背景图片。

  • 函数原型:
ret_t dialog_highlighter_set_bg (dialog_highlighter_t* h, bitmap_t* img);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
img bitmap_t* 背景截图。

dialog_highlighter_set_bg_clip_rect 函数


  • 函数功能:

设置背景图片的显示裁剪区。

  • 函数原型:
ret_t dialog_highlighter_set_bg_clip_rect (dialog_highlighter_t* h, rect_t* clip_rect);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
clip_rect rect_t* 背景显示裁剪区。

dialog_highlighter_set_system_bar_alpha 函数


  • 函数功能:

设置 sytem_bar 的高亮透明值。

  • 函数原型:
ret_t dialog_highlighter_set_system_bar_alpha (dialog_highlighter_t* h, uint8_t alpha);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
h dialog_highlighter_t* 对话框高亮策略对象。
alpha uint8_t 设置 sytem_bar 的高亮透明值。

canvas 属性


画布。

  • 类型canvas_t*

clip_rect 属性


截图的显示裁减区

  • 类型rect_t*

dialog 属性


对应的对话框。

  • 类型widget_t*

img 属性


底层窗口的截图。

  • 类型bitmap_t