awtk/docs/manual/self_layouter_t.md

244 lines
7.1 KiB
Markdown
Raw Normal View History

2018-12-20 17:33:31 +08:00
## self\_layouter\_t
### 概述
2019-12-14 13:25:56 +08:00
控件自身排版布局器的接口。
按特定算法对控件进行排版布局子类需要实现vtable中的函数。
2019-01-15 14:34:05 +08:00
----------------------------------
2018-12-20 17:33:31 +08:00
### 函数
<p id="self_layouter_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2020-01-02 11:41:53 +08:00
| <a href="#self_layouter_t_self_layouter_clone">self\_layouter\_clone</a> | 克隆layouter对象。 |
2019-07-04 10:05:59 +08:00
| <a href="#self_layouter_t_self_layouter_create">self\_layouter\_create</a> | 创建layouter对象。 |
2018-12-21 12:11:40 +08:00
| <a href="#self_layouter_t_self_layouter_destroy">self\_layouter\_destroy</a> | 销毁layouter对象。 |
| <a href="#self_layouter_t_self_layouter_get_param">self\_layouter\_get\_param</a> | 获取指定的参数。 |
| <a href="#self_layouter_t_self_layouter_get_param_float">self\_layouter\_get\_param\_float</a> | 获取指定的浮点格式的参数。 |
| <a href="#self_layouter_t_self_layouter_get_param_int">self\_layouter\_get\_param\_int</a> | 获取指定的整数格式的参数。 |
2019-01-17 16:06:37 +08:00
| <a href="#self_layouter_t_self_layouter_layout">self\_layouter\_layout</a> | 对控件自身进行布局。 |
2022-12-05 12:10:53 +08:00
| <a href="#self_layouter_t_self_layouter_reinit">self\_layouter\_reinit</a> | 重新计算layouter对象中的数据。 |
2018-12-21 12:11:40 +08:00
| <a href="#self_layouter_t_self_layouter_set_param">self\_layouter\_set\_param</a> | 获取指定的参数。 |
| <a href="#self_layouter_t_self_layouter_set_param_str">self\_layouter\_set\_param\_str</a> | 设置字符串格式的参数。 |
| <a href="#self_layouter_t_self_layouter_to_string">self\_layouter\_to\_string</a> | 获取全部参数。 |
2020-01-02 11:41:53 +08:00
#### self\_layouter\_clone 函数
-----------------------
* 函数功能:
> <p id="self_layouter_t_self_layouter_clone">克隆layouter对象。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
self_layouter_t* self_layouter_clone (self_layouter_t* layouter);
2020-01-02 11:41:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | self\_layouter\_t* | 返回layouter对象。 |
2023-06-29 10:44:29 +08:00
| layouter | self\_layouter\_t* | 被克隆的对象。 |
2019-07-04 10:05:59 +08:00
#### self\_layouter\_create 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_create">创建layouter对象。
2019-10-16 09:02:32 +08:00
2019-07-04 10:05:59 +08:00
* 函数原型:
```
self_layouter_t* self_layouter_create (const char* params);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | self\_layouter\_t* | 返回layouter对象。 |
| params | const char* | 参数。 |
2018-12-20 17:33:31 +08:00
#### self\_layouter\_destroy 函数
2018-12-21 18:29:29 +08:00
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_destroy">销毁layouter对象。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t self_layouter_destroy (self_layouter_t* layouter);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| layouter | self\_layouter\_t* | layouter对象。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_get\_param 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_get_param">获取指定的参数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t self_layouter_get_param (self_layouter_t* layouter, const char* name, value_t* v);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| layouter | self\_layouter\_t* | layouter对象。 |
| name | const char* | 参数名。 |
| v | value\_t* | 返回参数的值。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_get\_param\_float 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_get_param_float">获取指定的浮点格式的参数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
float_t self_layouter_get_param_float (self_layouter_t* layouter, const char* name, float_t defval);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | float\_t | 成功返回参数的值,失败返回缺省值。 |
2018-12-20 17:33:31 +08:00
| layouter | self\_layouter\_t* | layouter对象。 |
| name | const char* | 参数名。 |
| defval | float\_t | 缺省值。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_get\_param\_int 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_get_param_int">获取指定的整数格式的参数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
int32_t self_layouter_get_param_int (self_layouter_t* layouter, const char* name, int32_t defval);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | int32\_t | 成功返回参数的值,失败返回缺省值。 |
2018-12-20 17:33:31 +08:00
| layouter | self\_layouter\_t* | layouter对象。 |
| name | const char* | 参数名。 |
| defval | int32\_t | 缺省值。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_layout 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_layout">对控件自身进行布局。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t self_layouter_layout (self_layouter_t* layouter, widget_t* widget, rect_t* area);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| layouter | self\_layouter\_t* | layouter对象。 |
| widget | widget\_t* | 控件。 |
| area | rect\_t* | 可以使用的区域。 |
2022-12-05 12:10:53 +08:00
#### self\_layouter\_reinit 函数
-----------------------
* 函数功能:
> <p id="self_layouter_t_self_layouter_reinit">重新计算layouter对象中的数据。
* 函数原型:
```
ret_t self_layouter_reinit (self_layouter_t* layouter);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| layouter | self\_layouter\_t* | layouter对象。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_set\_param 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_set_param">获取指定的参数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t self_layouter_set_param (self_layouter_t* layouter, const char* name, const value_t* v);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| layouter | self\_layouter\_t* | layouter对象。 |
| name | const char* | 参数名。 |
| v | const value\_t* | 参数的值。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_set\_param\_str 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_set_param_str">设置字符串格式的参数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t self_layouter_set_param_str (self_layouter_t* layouter, const char* name, const char* value);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| layouter | self\_layouter\_t* | layouter对象。 |
| name | const char* | 参数名。 |
| value | const char* | 参数值。 |
2018-12-21 18:29:29 +08:00
#### self\_layouter\_to\_string 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="self_layouter_t_self_layouter_to_string">获取全部参数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
const char* self_layouter_to_string (self_layouter_t* layouter);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2023-06-29 10:44:29 +08:00
| 返回值 | const char* | 返回字符串格式的参数。 |
2018-12-20 17:33:31 +08:00
| layouter | self\_layouter\_t* | layouter对象。 |