2018-12-20 17:33:31 +08:00
|
|
|
|
## style\_t
|
|
|
|
|
### 概述
|
2019-12-14 13:25:56 +08:00
|
|
|
|
控件风格。
|
|
|
|
|
|
|
|
|
|
widget从style对象中,获取诸如字体、颜色和图片相关的参数,根据这些参数来绘制界面。
|
|
|
|
|
|
|
|
|
|
```c
|
|
|
|
|
style_t* style = widget->astyle;
|
|
|
|
|
int32_t margin = style_get_int(style, STYLE_ID_MARGIN, 2);
|
|
|
|
|
int32_t icon_at = style_get_int(style, STYLE_ID_ICON_AT, ICON_AT_AUTO);
|
|
|
|
|
uint16_t font_size = style_get_int(style, STYLE_ID_FONT_SIZE, TK_DEFAULT_FONT_SIZE);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
属性名称的请参考[style\_id](style_id_t.md)
|
2019-01-15 14:34:05 +08:00
|
|
|
|
----------------------------------
|
2018-12-20 17:33:31 +08:00
|
|
|
|
### 函数
|
|
|
|
|
<p id="style_t_methods">
|
|
|
|
|
|
|
|
|
|
| 函数名称 | 说明 |
|
|
|
|
|
| -------- | ------------ |
|
2018-12-21 12:11:40 +08:00
|
|
|
|
| <a href="#style_t_style_destroy">style\_destroy</a> | 销毁style对象 |
|
2018-12-26 11:38:15 +08:00
|
|
|
|
| <a href="#style_t_style_get_color">style\_get\_color</a> | 获取指定name的颜色值。 |
|
|
|
|
|
| <a href="#style_t_style_get_int">style\_get\_int</a> | 获取指定name的整数格式的值。 |
|
|
|
|
|
| <a href="#style_t_style_get_str">style\_get\_str</a> | 获取指定name的字符串格式的值。 |
|
2021-02-23 11:17:36 +08:00
|
|
|
|
| <a href="#style_t_style_get_style_state">style\_get\_style\_state</a> | 获取风格对象的风格状态 |
|
|
|
|
|
| <a href="#style_t_style_get_style_type">style\_get\_style\_type</a> | 获取 style 的风格类型。 |
|
|
|
|
|
| <a href="#style_t_style_get_uint">style\_get\_uint</a> | 获取指定name的无符号整数格式的值。 |
|
2019-07-04 10:05:59 +08:00
|
|
|
|
| <a href="#style_t_style_is_mutable">style\_is\_mutable</a> | 检查style是否是mutable的。 |
|
2018-12-21 12:11:40 +08:00
|
|
|
|
| <a href="#style_t_style_is_valid">style\_is\_valid</a> | 检查style对象是否有效 |
|
2020-05-24 19:28:22 +08:00
|
|
|
|
| <a href="#style_t_style_normalize_value">style\_normalize\_value</a> | 对值进行正规化。 |
|
2018-12-21 12:11:40 +08:00
|
|
|
|
| <a href="#style_t_style_notify_widget_state_changed">style\_notify\_widget\_state\_changed</a> | widget状态改变时,通知style更新数据。 |
|
2019-07-04 10:05:59 +08:00
|
|
|
|
| <a href="#style_t_style_set">style\_set</a> | 设置指定状态的指定属性的值(仅仅对mutable的style有效)。 |
|
2021-02-23 11:17:36 +08:00
|
|
|
|
| <a href="#style_t_style_set_style_data">style\_set\_style\_data</a> | 把风格对象数据设置到风格对象中 |
|
|
|
|
|
| <a href="#style_t_style_update_state">style\_update\_state</a> | 更新风格对象的状态以及对应的数据 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
#### style\_destroy 函数
|
2018-12-21 18:29:29 +08:00
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_destroy">销毁style对象
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t style_destroy (style_t* s);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### style\_get\_color 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_get_color">获取指定name的颜色值。
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
2018-12-26 11:38:15 +08:00
|
|
|
|
color_t style_get_color (style_t* s, const char* name, color_t defval);
|
2018-12-21 11:39:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | color\_t | 返回颜色值。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
2018-12-26 11:38:15 +08:00
|
|
|
|
| name | const char* | 属性名。 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| defval | color\_t | 缺省值。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### style\_get\_int 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_get_int">获取指定name的整数格式的值。
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
2018-12-26 11:38:15 +08:00
|
|
|
|
int32_t style_get_int (style_t* s, const char* name, int32_t defval);
|
2018-12-21 11:39:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | int32\_t | 返回整数格式的值。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
2018-12-26 11:38:15 +08:00
|
|
|
|
| name | const char* | 属性名。 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| defval | int32\_t | 缺省值。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### style\_get\_str 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_get_str">获取指定name的字符串格式的值。
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
2018-12-26 11:38:15 +08:00
|
|
|
|
const char* style_get_str (style_t* s, const char* name, const char* defval);
|
2018-12-21 11:39:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | const char* | 返回字符串格式的值。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
2018-12-26 11:38:15 +08:00
|
|
|
|
| name | const char* | 属性名。 |
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| defval | const char* | 缺省值。 |
|
2021-02-23 11:17:36 +08:00
|
|
|
|
#### style\_get\_style\_state 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="style_t_style_get_style_state">获取风格对象的风格状态
|
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
const char* style_get_style_state (style_t* s);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | const char* | 返回风格状态。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
#### style\_get\_style\_type 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="style_t_style_get_style_type">获取 style 的风格类型。
|
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
const char* style_get_style_type (style_t* s);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | const char* | 返回风格类型。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
#### style\_get\_uint 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="style_t_style_get_uint">获取指定name的无符号整数格式的值。
|
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
uint32_t style_get_uint (style_t* s, const char* name, uint32_t defval);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | uint32\_t | 返回无符号整数格式的值。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
| name | const char* | 属性名。 |
|
|
|
|
|
| defval | uint32\_t | 缺省值。 |
|
2019-07-04 10:05:59 +08:00
|
|
|
|
#### style\_is\_mutable 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_is_mutable">检查style是否是mutable的。
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2019-07-04 10:05:59 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
bool_t style_is_mutable (style_t* s);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | bool\_t | 返回TRUE表示是,否则表示不是。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### style\_is\_valid 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_is_valid">检查style对象是否有效
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
bool_t style_is_valid (style_t* s);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | bool\_t | 返回是否有效。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
2020-05-24 19:28:22 +08:00
|
|
|
|
#### style\_normalize\_value 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="style_t_style_normalize_value">对值进行正规化。
|
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t style_normalize_value (const char* name, const char* value, value_t* out);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| name | const char* | 名称。 |
|
|
|
|
|
| value | const char* | 值。 |
|
|
|
|
|
| out | value\_t* | 返回的值。 |
|
2018-12-21 18:29:29 +08:00
|
|
|
|
#### style\_notify\_widget\_state\_changed 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_notify_widget_state_changed">widget状态改变时,通知style更新数据。
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2018-12-21 11:39:05 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t style_notify_widget_state_changed (style_t* s, widget_t* widget);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
2018-12-20 17:33:31 +08:00
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
| widget | widget\_t* | 控件对象。 |
|
2019-07-04 10:05:59 +08:00
|
|
|
|
#### style\_set 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="style_t_style_set">设置指定状态的指定属性的值(仅仅对mutable的style有效)。
|
2019-10-16 09:02:32 +08:00
|
|
|
|
|
2019-07-04 10:05:59 +08:00
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t style_set (style_t* s, const char* state, const char* name, const value_t* value);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
| state | const char* | 状态。 |
|
|
|
|
|
| name | const char* | 属性名。 |
|
|
|
|
|
| value | const value\_t* | 值。 |
|
2021-02-23 11:17:36 +08:00
|
|
|
|
#### style\_set\_style\_data 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="style_t_style_set_style_data">把风格对象数据设置到风格对象中
|
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t style_set_style_data (style_t* s, const uint8_t* data, const char* state);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
| data | const uint8\_t* | 风格对象数据 |
|
|
|
|
|
| state | const char* | 风格状态 |
|
|
|
|
|
#### style\_update\_state 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
|
|
|
|
> <p id="style_t_style_update_state">更新风格对象的状态以及对应的数据
|
|
|
|
|
备注:根据 widget_type 和 style_name 以及 widget_state 在 theme 对象中查找对应的数据并且更新到 style 对象中
|
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t style_update_state (style_t* s, theme_t* theme, const char* widget_type, const char* style_name, const char* widget_state);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| s | style\_t* | style对象。 |
|
|
|
|
|
| theme | theme\_t* | theme对象。 |
|
|
|
|
|
| widget\_type | const char* | 控件的类型名。 |
|
|
|
|
|
| style\_name | const char* | style的名称。 |
|
|
|
|
|
| widget\_state | const char* | 控件的状态。 |
|