awtk/docs/manual/dialog_highlighter_t.md

277 lines
8.8 KiB
Markdown
Raw Normal View History

2019-04-03 11:31:58 +08:00
## dialog\_highlighter\_t
### 概述
2019-12-14 13:25:56 +08:00
对话框高亮策略。
> 高亮策略的基本思路是对背景进行处理,比如将背景变暗或变模糊。
2019-04-03 11:31:58 +08:00
----------------------------------
### 函数
<p id="dialog_highlighter_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2019-12-14 13:25:56 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_create">dialog\_highlighter\_create</a> | 创建对话框高亮策略对象。 |
2019-04-03 11:31:58 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_destroy">dialog\_highlighter\_destroy</a> | 销毁对话框高亮策略对象。 |
| <a href="#dialog_highlighter_t_dialog_highlighter_draw">dialog\_highlighter\_draw</a> | 绘制背景。 |
2020-10-26 11:53:50 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_draw_mask">dialog\_highlighter\_draw\_mask</a> | 绘制背景高亮部分。 |
| <a href="#dialog_highlighter_t_dialog_highlighter_get_alpha">dialog\_highlighter\_get\_alpha</a> | 获取高亮的透明度。 |
2019-07-04 10:05:59 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_is_dynamic">dialog\_highlighter\_is\_dynamic</a> | 是否是动态绘制(方便外层优化)。 |
2019-04-03 11:31:58 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_prepare">dialog\_highlighter\_prepare</a> | 初始化。在绘制完背景,在截图前调用。 |
2020-09-16 09:58:28 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_prepare_ex">dialog\_highlighter\_prepare\_ex</a> | 初始化。在绘制完背景,在截图前调用。 |
2019-04-03 11:31:58 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_set_bg">dialog\_highlighter\_set\_bg</a> | 设置背景图片。 |
2020-05-24 19:28:22 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_set_bg_clip_rect">dialog\_highlighter\_set\_bg\_clip\_rect</a> | 设置背景图片的显示裁减区。 |
2020-10-26 11:53:50 +08:00
| <a href="#dialog_highlighter_t_dialog_highlighter_set_system_bar_alpha">dialog\_highlighter\_set\_system\_bar\_alpha</a> | 设置 sytem_bar 的高亮透明值。 |
2019-04-03 11:31:58 +08:00
### 属性
<p id="dialog_highlighter_t_properties">
| 属性名称 | 类型 | 说明 |
| -------- | ----- | ------------ |
| <a href="#dialog_highlighter_t_canvas">canvas</a> | canvas\_t* | 画布。 |
2020-05-24 19:28:22 +08:00
| <a href="#dialog_highlighter_t_clip_rect">clip\_rect</a> | rect\_t* | 截图的显示裁减区 |
2019-04-03 11:31:58 +08:00
| <a href="#dialog_highlighter_t_dialog">dialog</a> | widget\_t* | 对应的对话框。 |
| <a href="#dialog_highlighter_t_img">img</a> | bitmap\_t | 底层窗口的截图。 |
#### dialog\_highlighter\_create 函数
-----------------------
* 函数功能:
2019-12-14 13:25:56 +08:00
> <p id="dialog_highlighter_t_dialog_highlighter_create">创建对话框高亮策略对象。
>供子类构造函数用。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
dialog_highlighter_t* dialog_highlighter_create (const dialog_highlighter_vtable_t* vt);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | dialog\_highlighter\_t* | 返回对话框高亮策略对象 |
| vt | const dialog\_highlighter\_vtable\_t* | 虚表对象。 |
#### dialog\_highlighter\_destroy 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_dialog_highlighter_destroy">销毁对话框高亮策略对象。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
ret_t dialog_highlighter_destroy (dialog_highlighter_t* h);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| h | dialog\_highlighter\_t* | 对话框高亮策略对象。 |
#### dialog\_highlighter\_draw 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_dialog_highlighter_draw">绘制背景。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
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表示打开已经完成。 |
2020-10-26 11:53:50 +08:00
#### dialog\_highlighter\_draw\_mask 函数
-----------------------
* 函数功能:
> <p id="dialog_highlighter_t_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 函数
-----------------------
* 函数功能:
> <p id="dialog_highlighter_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 | 高亮的百分比。 |
2019-07-04 10:05:59 +08:00
#### dialog\_highlighter\_is\_dynamic 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_dialog_highlighter_is_dynamic">是否是动态绘制(方便外层优化)。
2019-10-16 09:02:32 +08:00
2019-07-04 10:05:59 +08:00
* 函数原型:
```
bool_t dialog_highlighter_is_dynamic (dialog_highlighter_t* h);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示动态绘制否则表示不是动态绘制。 |
| h | dialog\_highlighter\_t* | 对话框高亮策略对象。 |
2019-04-03 11:31:58 +08:00
#### dialog\_highlighter\_prepare 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_dialog_highlighter_prepare">初始化。在绘制完背景,在截图前调用。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
ret_t dialog_highlighter_prepare (dialog_highlighter_t* h, canvas_t* c);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| h | dialog\_highlighter\_t* | 对话框高亮策略对象。 |
| c | canvas\_t* | 画布。 |
2020-09-16 09:58:28 +08:00
#### dialog\_highlighter\_prepare\_ex 函数
-----------------------
* 函数功能:
> <p id="dialog_highlighter_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* | 离线画布。 |
2019-04-03 11:31:58 +08:00
#### dialog\_highlighter\_set\_bg 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_dialog_highlighter_set_bg">设置背景图片。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
2020-09-17 14:23:47 +08:00
ret_t dialog_highlighter_set_bg (dialog_highlighter_t* h, bitmap_t* img);
2019-04-03 11:31:58 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| h | dialog\_highlighter\_t* | 对话框高亮策略对象。 |
| img | bitmap\_t* | 背景截图。 |
2020-05-24 19:28:22 +08:00
#### dialog\_highlighter\_set\_bg\_clip\_rect 函数
-----------------------
* 函数功能:
> <p id="dialog_highlighter_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* | 背景显示裁减区。 |
2020-10-26 11:53:50 +08:00
#### dialog\_highlighter\_set\_system\_bar\_alpha 函数
-----------------------
* 函数功能:
> <p id="dialog_highlighter_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 的高亮透明值。 |
2019-04-03 11:31:58 +08:00
#### canvas 属性
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_canvas">画布。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 类型canvas\_t*
2020-05-24 19:28:22 +08:00
#### clip\_rect 属性
-----------------------
> <p id="dialog_highlighter_t_clip_rect">截图的显示裁减区
* 类型rect\_t*
2019-04-03 11:31:58 +08:00
#### dialog 属性
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_dialog">对应的对话框。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 类型widget\_t*
#### img 属性
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="dialog_highlighter_t_img">底层窗口的截图。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 类型bitmap\_t