diff --git a/docs/manual/action_darray_thread_t.md b/docs/manual/action_darray_thread_t.md new file mode 100644 index 000000000..5d8f710e9 --- /dev/null +++ b/docs/manual/action_darray_thread_t.md @@ -0,0 +1,321 @@ +## action\_darray\_thread\_t +### 概述 +执行action的线程。 + +> 每个线程都有一个action darray,可以是共享的darray,也可以是私有的darray。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| action\_darray\_thread\_create | 创建action_darray_thread对象。 | +| action\_darray\_thread\_create\_ex | 创建action_darray_thread对象。 | +| action\_darray\_thread\_create\_with\_darray | 创建action_darray_thread对象。 | +| action\_darray\_thread\_create\_with\_darray\_ex | 创建action_darray_thread对象。 | +| action\_darray\_thread\_destroy | 销毁。 | +| action\_darray\_thread\_exec | 让线程执行action。 | +| action\_darray\_thread\_set\_on\_idle | 设置空闲时的回调函数。 | +| action\_darray\_thread\_set\_on\_quit | 设置退出时的回调函数。 | +| action\_darray\_thread\_set\_strategy | 设置策略 | +| action\_queue\_create | 创建action_queue对象。 | +| action\_queue\_destroy | 销毁。 | +| action\_queue\_recv | 接收一个请求。 | +| action\_queue\_send | 发送一个请求。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| darray | waitable\_action\_darray\_t* | action darray。 | +| executed\_actions\_nr | uint32\_t | 已经执行action的个数。 | +| thread | tk\_thread\_t* | 线程对象。 | +#### action\_darray\_thread\_create 函数 +----------------------- + +* 函数功能: + +>
创建action_darray_thread对象。 + +* 函数原型: + +``` +action_darray_thread_t* action_darray_thread_create (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +#### action\_darray\_thread\_create\_ex 函数 +----------------------- + +* 函数功能: + +>
创建action_darray_thread对象。 + +* 函数原型: + +``` +action_darray_thread_t* action_darray_thread_create_ex (const char* name, uint32_t stack_size, tk_thread_priority_t priority); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| name | const char* | 名称。 | +| stack\_size | uint32\_t | 栈的大小。 | +| priority | tk\_thread\_priority\_t | 优先级。 | +#### action\_darray\_thread\_create\_with\_darray 函数 +----------------------- + +* 函数功能: + +>
创建action_darray_thread对象。 + +* 函数原型: + +``` +action_darray_thread_t* action_darray_thread_create_with_darray (waitable_action_darray_t* darray); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| darray | waitable\_action\_darray\_t* | darray对象。 | +#### action\_darray\_thread\_create\_with\_darray\_ex 函数 +----------------------- + +* 函数功能: + +>
创建action_darray_thread对象。 + +* 函数原型: + +``` +action_darray_thread_t* action_darray_thread_create_with_darray_ex (waitable_action_darray_t* darray, const char* name, uint32_t stack_size, tk_thread_priority_t priority); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| darray | waitable\_action\_darray\_t* | darray对象。 | +| name | const char* | 名称。 | +| stack\_size | uint32\_t | 栈的大小。 | +| priority | tk\_thread\_priority\_t | 优先级。 | +#### action\_darray\_thread\_destroy 函数 +----------------------- + +* 函数功能: + +>
销毁。 + +* 函数原型: + +``` +ret_t action_darray_thread_destroy (action_darray_thread_t* thread); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| thread | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +#### action\_darray\_thread\_exec 函数 +----------------------- + +* 函数功能: + +>
让线程执行action。 + +* 函数原型: + +``` +ret_t action_darray_thread_exec (action_darray_thread_t* thread, qaction_t* action); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| thread | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| action | qaction\_t* | action对象。 | +#### action\_darray\_thread\_set\_on\_idle 函数 +----------------------- + +* 函数功能: + +>
设置空闲时的回调函数。 + +* 函数原型: + +``` +ret_t action_darray_thread_set_on_idle (action_darray_thread_t* thread, action_darray_thread_on_idle_t on_idle, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| thread | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| on\_idle | action\_darray\_thread\_on\_idle\_t | 空闲时的回调函数。 | +| ctx | void* | 回调函数的上下文。 | +#### action\_darray\_thread\_set\_on\_quit 函数 +----------------------- + +* 函数功能: + +>
设置退出时的回调函数。 + +* 函数原型: + +``` +ret_t action_darray_thread_set_on_quit (action_darray_thread_t* thread, action_darray_thread_on_quit_t on_quit, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| thread | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| on\_quit | action\_darray\_thread\_on\_quit\_t | 退出时的回调函数。 | +| ctx | void* | 回调函数的上下文。 | +#### action\_darray\_thread\_set\_strategy 函数 +----------------------- + +* 函数功能: + +>
设置策略 + +* 函数原型: + +``` +ret_t action_darray_thread_set_strategy (action_darray_thread_t* thread, action_darray_thread_strategy_t strategy); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t值 | +| thread | action\_darray\_thread\_t* | action\_darray\_thread对象。 | +| strategy | action\_darray\_thread\_strategy\_t | 策略 | +#### action\_queue\_create 函数 +----------------------- + +* 函数功能: + +>
创建action_queue对象。 + +* 函数原型: + +``` +action_queue_t* action_queue_create (uint32_t capacity); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | action\_queue\_t* | action\_queue对象。 | +| capacity | uint32\_t | action的容量。 | +#### action\_queue\_destroy 函数 +----------------------- + +* 函数功能: + +>
销毁。 + +* 函数原型: + +``` +ret_t action_queue_destroy (action_queue_t* q); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| q | action\_queue\_t* | action\_queue对象。 | +#### action\_queue\_recv 函数 +----------------------- + +* 函数功能: + +>
接收一个请求。 + +* 函数原型: + +``` +ret_t action_queue_recv (action_queue_t* q, qaction_t** action); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| q | action\_queue\_t* | action\_queue对象。 | +| action | qaction\_t** | 用于返回action对象。 | +#### action\_queue\_send 函数 +----------------------- + +* 函数功能: + +>
发送一个请求。 + +* 函数原型: + +``` +ret_t action_queue_send (action_queue_t* q, qaction_t* action); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| q | action\_queue\_t* | action\_queue对象。 | +| action | qaction\_t* | action对象。 | +#### darray 属性 +----------------------- +>
action darray。 + +* 类型:waitable\_action\_darray\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### executed\_actions\_nr 属性 +----------------------- +>
已经执行action的个数。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### thread 属性 +----------------------- +>
线程对象。 + +* 类型:tk\_thread\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/app_bar_t.md b/docs/manual/app_bar_t.md index 6a9999e14..93fcb49c9 100644 --- a/docs/manual/app_bar_t.md +++ b/docs/manual/app_bar_t.md @@ -41,6 +41,7 @@ widget_t* app_bar = app_bar_create(win, 0, 0, 320, 30); | -------- | ------------ | | app\_bar\_cast | 转换为app_bar对象(供脚本语言使用)。 | | app\_bar\_create | 创建app_bar对象 | +| app\_bar\_get\_widget\_vtable | 获取 app_bar 虚表。 | #### app\_bar\_cast 函数 ----------------------- @@ -83,3 +84,21 @@ widget_t* app_bar_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### app\_bar\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 app_bar 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* app_bar_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 app\_bar 虚表。 | diff --git a/docs/manual/app_conf_t.md b/docs/manual/app_conf_t.md index 314fd484d..b63179a5d 100644 --- a/docs/manual/app_conf_t.md +++ b/docs/manual/app_conf_t.md @@ -148,14 +148,14 @@ double app_conf_get_double (const char* key, double defval); * 函数原型: ``` -object_t* app_conf_get_instance (); +tk_object_t* app_conf_get_instance (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回app\_conf实例。 | +| 返回值 | tk\_object\_t* | 返回app\_conf实例。 | #### app\_conf\_get\_int 函数 ----------------------- @@ -420,7 +420,7 @@ ret_t app_conf_set_double (const char* key, double v); * 函数原型: ``` -ret_t app_conf_set_instance (object_t* ); +ret_t app_conf_set_instance (tk_object_t* ); ``` * 参数说明: @@ -428,7 +428,7 @@ ret_t app_conf_set_instance (object_t* ); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| | object\_t* | 。 | +| | tk\_object\_t* | 。 | #### app\_conf\_set\_int 函数 ----------------------- diff --git a/docs/manual/assets_manager_t.md b/docs/manual/assets_manager_t.md index 5cbbf4558..39ce3688b 100644 --- a/docs/manual/assets_manager_t.md +++ b/docs/manual/assets_manager_t.md @@ -49,6 +49,7 @@ ui UI描述数据。 | assets\_manager\_find\_in\_cache | 在资源管理器的缓存中查找指定的资源(不引用)。 | | assets\_manager\_get\_res\_root | 获取资源所在的目录(其下目录结构请参考demos)。 | | assets\_manager\_init | 初始化资源管理器。 | +| assets\_manager\_is\_save\_assets\_list | 检查指定类型是否需要保存。 | | assets\_manager\_load | 从文件系统中加载指定的资源,并缓存到内存中。在定义了宏WITH\_FS\_RES时才生效。 | | assets\_manager\_load\_ex | 从文件系统中加载指定的资源,并缓存到内存中。在定义了宏WITH\_FS\_RES时才生效。 | | assets\_manager\_load\_file | 获取path里的资源。 | @@ -58,6 +59,7 @@ ui UI描述数据。 | assets\_manager\_set | 设置缺省资源管理器。 | | assets\_manager\_set\_custom\_build\_asset\_dir | 设置一个函数,该函数用于生成资源路径。 | | assets\_manager\_set\_custom\_load\_asset | 设置一个函数,该函数用于实现自定义加载资源。 | +| assets\_manager\_set\_fallback\_load\_asset | 设置一个函数,该函数在找不到资源时加载后补资源。 | | assets\_manager\_set\_loader | 设置loader。 | | assets\_manager\_set\_locale\_info | 设置locale_info对象。 | | assets\_manager\_set\_res\_root | 设置资源所在的目录(其下目录结构请参考demos)。 | @@ -88,6 +90,7 @@ assets_manager_t* assets_manager (); * 函数功能: >
向资源管理器中增加一个资源。 +备注:同一份资源多次调用会出现缓存叠加的问题,导致内存泄露 * 函数原型: @@ -108,6 +111,7 @@ ret_t assets_manager_add (assets_manager_t* am, asset_info_t info); * 函数功能: >
向资源管理器中增加一个资源data。 +备注:同一份资源多次调用会出现缓存叠加的问题,导致内存泄露 * 函数原型: @@ -304,12 +308,32 @@ assets_manager_t* assets_manager_init (assets_manager_t* am, uint32_t init_nr); | 返回值 | assets\_manager\_t* | 返回asset manager对象。 | | am | assets\_manager\_t* | asset manager对象。 | | init\_nr | uint32\_t | 预先分配资源的个数。 | +#### assets\_manager\_is\_save\_assets\_list 函数 +----------------------- + +* 函数功能: + +>
检查指定类型是否需要保存。 + +* 函数原型: + +``` +bool_t assets_manager_is_save_assets_list (asset_type_t type); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示需要保持,否则不需要保存。 | +| type | asset\_type\_t | 资源类型。 | #### assets\_manager\_load 函数 ----------------------- * 函数功能: >
从文件系统中加载指定的资源,并缓存到内存中。在定义了宏WITH\_FS\_RES时才生效。 +备注:内部使用的,如果是加载资源的话,建议使用 assets_manager_ref 函数。 * 函数原型: @@ -331,11 +355,12 @@ asset_info_t* assets_manager_load (assets_manager_t* am, asset_type_t type, cons * 函数功能: >
从文件系统中加载指定的资源,并缓存到内存中。在定义了宏WITH\_FS\_RES时才生效。 +备注:内部使用的,如果是加载资源的话,建议使用 assets_manager_ref_ex 函数。 * 函数原型: ``` -asset_info_t* assets_manager_load_ex (assets_manager_t* am, asset_type_t type, asset_type_t type, char* name); +asset_info_t* assets_manager_load_ex (assets_manager_t* am, asset_type_t type, uint16_t subtype, char* name); ``` * 参数说明: @@ -345,7 +370,7 @@ asset_info_t* assets_manager_load_ex (assets_manager_t* am, asset_type_t type, a | 返回值 | asset\_info\_t* | 返回资源。 | | am | assets\_manager\_t* | asset manager对象。 | | type | asset\_type\_t | 资源的类型。 | -| type | asset\_type\_t | 资源的子类型。 | +| subtype | uint16\_t | 资源的子类型。 | | name | char* | 资源的名称。 | #### assets\_manager\_load\_file 函数 ----------------------- @@ -374,6 +399,7 @@ asset_info_t* assets_manager_load_file (assets_manager_t* am, asset_type_t type, * 函数功能: >
从文件系统中加载指定的资源,并缓存到内存中。在定义了宏WITH\_FS\_RES时才生效。 +备注:内部使用的,不建议用户自行调用。 * 函数原型: @@ -497,6 +523,27 @@ ret_t assets_manager_set_custom_load_asset (assets_manager_t* am, assets_manager | am | assets\_manager\_t* | asset manager对象。 | | custom\_load\_asset | assets\_manager\_load\_asset\_t | 回调函数。 | | ctx | void* | 回调函数的上下文。 | +#### assets\_manager\_set\_fallback\_load\_asset 函数 +----------------------- + +* 函数功能: + +>
设置一个函数,该函数在找不到资源时加载后补资源。 + +* 函数原型: + +``` +ret_t assets_manager_set_fallback_load_asset (assets_manager_t* am, assets_manager_load_asset_t fallback_load_asset, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| am | assets\_manager\_t* | asset manager对象。 | +| fallback\_load\_asset | assets\_manager\_load\_asset\_t | 回调函数。 | +| ctx | void* | 回调函数的上下文。 | #### assets\_manager\_set\_loader 函数 ----------------------- diff --git a/docs/manual/assets_managers_t.md b/docs/manual/assets_managers_t.md new file mode 100644 index 000000000..191f1f4c3 --- /dev/null +++ b/docs/manual/assets_managers_t.md @@ -0,0 +1,130 @@ +## assets\_managers\_t +### 概述 +在某些情况下,需要多个资源管理器。比如在手表系统里,每个小应用或表盘,可能放在独立的资源包中, +此时优先加载应用自己的资源,如果没有就加载系统的资源。 +> 通常AWTK是单进程应用程序,为了避免概念混淆,我们把这些独立可安装的小应用成为"applet"。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| assets\_manager\_get\_theme\_name | 获取当前的主题名称。 | +| assets\_managers\_is\_applet\_assets\_supported | 是否支持小应用程序(applet)拥有独立资源目录。 | +| assets\_managers\_ref | 获取指定小应用程序(applet)的资源管理器。 | +| assets\_managers\_set\_applet\_res\_root | 设置小应用程序(applet)的资源根目录。 | +| assets\_managers\_set\_theme | 设置当前的主题。 | +| assets\_managers\_unref | 释放指定小应用程序(applet)的资源管理器。 | +#### assets\_manager\_get\_theme\_name 函数 +----------------------- + +* 函数功能: + +>
获取当前的主题名称。 + +* 函数原型: + +``` +const char* assets_manager_get_theme_name (assets_manager_t* am); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回主题名称。 | +| am | assets\_manager\_t* | 资源管理器对象。 | +#### assets\_managers\_is\_applet\_assets\_supported 函数 +----------------------- + +* 函数功能: + +>
是否支持小应用程序(applet)拥有独立资源目录。 + +* 函数原型: + +``` +bool_t assets_managers_is_applet_assets_supported (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示支持,否则表示不支持。 | +#### assets\_managers\_ref 函数 +----------------------- + +* 函数功能: + +>
获取指定小应用程序(applet)的资源管理器。 + +* 函数原型: + +``` +assets_manager_t* assets_managers_ref (const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | assets\_manager\_t* | 返回asset manager对象。 | +| name | const char* | 小应用程序(applet)的名称。 | +#### assets\_managers\_set\_applet\_res\_root 函数 +----------------------- + +* 函数功能: + +>
设置小应用程序(applet)的资源根目录。 + +* 函数原型: + +``` +ret_t assets_managers_set_applet_res_root (const char* res_root); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| res\_root | const char* | 资源根目录。 | +#### assets\_managers\_set\_theme 函数 +----------------------- + +* 函数功能: + +>
设置当前的主题。 + +* 函数原型: + +``` +ret_t assets_managers_set_theme (const char* theme); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| theme | const char* | 主题名称。 | +#### assets\_managers\_unref 函数 +----------------------- + +* 函数功能: + +>
释放指定小应用程序(applet)的资源管理器。 + +* 函数原型: + +``` +ret_t assets_managers_unref (assets_manager_t* am); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| am | assets\_manager\_t* | 资源管理器对象。 | diff --git a/docs/manual/async_t.md b/docs/manual/async_t.md index 3e6cc5052..6889647cc 100644 --- a/docs/manual/async_t.md +++ b/docs/manual/async_t.md @@ -10,6 +10,7 @@ | async\_call | 异步执行exec函数,执行完成后,在后台线程调用on_result函数。 | | async\_call\_deinit | 全局~初始化。 | | async\_call\_init\_ex | 全局初始化。 | +| async\_call\_init\_ex2 | 全局初始化。 | #### async\_call 函数 ----------------------- @@ -69,3 +70,24 @@ ret_t async_call_init_ex (uint32_t max_threads, uint32_t min_threads); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | max\_threads | uint32\_t | 最大线程数。 | | min\_threads | uint32\_t | 最小线程数。 | +#### async\_call\_init\_ex2 函数 +----------------------- + +* 函数功能: + +>
全局初始化。 + +* 函数原型: + +``` +ret_t async_call_init_ex2 (uint32_t max_threads, uint32_t min_threads, uint32_t stack_size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| max\_threads | uint32\_t | 最大线程数。 | +| min\_threads | uint32\_t | 最小线程数。 | +| stack\_size | uint32\_t | 栈空间大小(字节)。 | diff --git a/docs/manual/bitmap_flag_t.md b/docs/manual/bitmap_flag_t.md index d9f9d0044..c1481a1be 100644 --- a/docs/manual/bitmap_flag_t.md +++ b/docs/manual/bitmap_flag_t.md @@ -12,3 +12,5 @@ | BITMAP\_FLAG\_TEXTURE | OpenGL Texture, bitmap的id是有效的texture id。 | | BITMAP\_FLAG\_CHANGED | 如果是MUTABLE的图片,更新时需要设置此标志,底层可能会做特殊处理,比如更新图片到GPU。 | | BITMAP\_FLAG\_PREMULTI\_ALPHA | 预乘alpha。 | +| BITMAP\_FLAG\_LCD\_ORIENTATION | 位图数据已经处理了 lcd 旋转,同时说明 bitmap 的宽高和真实数据的宽高可能不一致 | +| BITMAP\_FLAG\_GPU\_FBO\_TEXTURE | 该位图为 GPU 的 fbo 数据。 | diff --git a/docs/manual/bitmap_t.md b/docs/manual/bitmap_t.md index 8be4f81f0..65abece06 100644 --- a/docs/manual/bitmap_t.md +++ b/docs/manual/bitmap_t.md @@ -15,8 +15,12 @@ | bitmap\_get\_bpp | 获取图片一个像素占用的字节数。 | | bitmap\_get\_bpp\_of\_format | 获取位图格式对应的颜色位数。 | | bitmap\_get\_line\_length | 获取每一行占用内存的字节数。 | +| bitmap\_get\_physical\_height | 获取图片真实物理的高度。 | +| bitmap\_get\_physical\_line\_length | 获取图片真实物理的每一行占用内存的字节数。 | +| bitmap\_get\_physical\_width | 获取图片真实物理的宽度。 | | bitmap\_get\_pixel | 获取图片指定像素的rgba颜色值(主要用于测试程序)。 | | bitmap\_init | 初始化图片。 | +| bitmap\_init\_ex | 初始化图片。 | | bitmap\_init\_from\_bgra | 初始化图片。 | | bitmap\_init\_from\_rgba | 初始化图片。 | | bitmap\_lock\_buffer\_for\_read | 为读取数据而锁定bitmap的图片缓冲区。 | @@ -37,6 +41,7 @@ | h | wh\_t | 高度。 | | line\_length | uint32\_t | 每一行实际占用的内存(也称为stride或pitch),一般情况下为w*bpp。 | | name | const char* | 名称。 | +| orientation | lcd\_orientation\_t | 图片数据旋转。(修改了图片数据旋转后 flags 会带有 BITMAP_FLAG_LCD_ORIENTATION) | | w | wh\_t | 宽度。 | #### bitmap\_clone 函数 ----------------------- @@ -183,14 +188,71 @@ uint32_t bitmap_get_bpp_of_format (bitmap_format_t format); * 函数原型: ``` -ret_t bitmap_get_line_length (bitmap_t* bitmap); +uint32_t bitmap_get_line_length (bitmap_t* bitmap); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | ret\_t | 返回每一行占用内存的字节数。 | +| 返回值 | uint32\_t | 返回每一行占用内存的字节数。 | +| bitmap | bitmap\_t* | bitmap对象。 | +#### bitmap\_get\_physical\_height 函数 +----------------------- + +* 函数功能: + +>
获取图片真实物理的高度。 + +* 函数原型: + +``` +uint32_t bitmap_get_physical_height (bitmap_t* bitmap); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回图片高度。 | +| bitmap | bitmap\_t* | bitmap对象。 | +#### bitmap\_get\_physical\_line\_length 函数 +----------------------- + +* 函数功能: + +>
获取图片真实物理的每一行占用内存的字节数。 + +* 函数原型: + +``` +uint32_t bitmap_get_physical_line_length (bitmap_t* bitmap); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回每一行占用内存的字节数。 | +| bitmap | bitmap\_t* | bitmap对象。 | +#### bitmap\_get\_physical\_width 函数 +----------------------- + +* 函数功能: + +>
获取图片真实物理的宽度。 + +* 函数原型: + +``` +uint32_t bitmap_get_physical_width (bitmap_t* bitmap); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回图片宽度。 | | bitmap | bitmap\_t* | bitmap对象。 | #### bitmap\_get\_pixel 函数 ----------------------- @@ -237,6 +299,30 @@ ret_t bitmap_init (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t for | h | uint32\_t | 高度。 | | format | bitmap\_format\_t | 格式。 | | data | const uint8\_t* | 数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。 | +#### bitmap\_init\_ex 函数 +----------------------- + +* 函数功能: + +>
初始化图片。 + +* 函数原型: + +``` +ret_t bitmap_init_ex (bitmap_t* bitmap, uint32_t w, uint32_t h, uint32_t line_length, bitmap_format_t format, const uint8_t* data); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| bitmap | bitmap\_t* | bitmap对象。 | +| w | uint32\_t | 宽度。 | +| h | uint32\_t | 高度。 | +| line\_length | uint32\_t | 行长。 | +| format | bitmap\_format\_t | 格式。 | +| data | const uint8\_t* | 数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。 | #### bitmap\_init\_from\_bgra 函数 ----------------------- @@ -248,7 +334,7 @@ ret_t bitmap_init (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t for * 函数原型: ``` -ret_t bitmap_init_from_bgra (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* , uint32_t comp); +ret_t bitmap_init_from_bgra (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* , uint32_t comp, lcd_orientation_t o); ``` * 参数说明: @@ -262,6 +348,7 @@ ret_t bitmap_init_from_bgra (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_fo | format | bitmap\_format\_t | 格式。 | | | const uint8\_t* | a | | comp | uint32\_t | 颜色通道数(目前支持3(bgr)和4(bgra))。 | +| o | lcd\_orientation\_t | 旋转方向。 | #### bitmap\_init\_from\_rgba 函数 ----------------------- @@ -273,7 +360,7 @@ ret_t bitmap_init_from_bgra (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_fo * 函数原型: ``` -ret_t bitmap_init_from_rgba (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* , uint32_t comp); +ret_t bitmap_init_from_rgba (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_format_t format, const uint8_t* , uint32_t comp, lcd_orientation_t o); ``` * 参数说明: @@ -287,6 +374,7 @@ ret_t bitmap_init_from_rgba (bitmap_t* bitmap, uint32_t w, uint32_t h, bitmap_fo | format | bitmap\_format\_t | 格式。 | | | const uint8\_t* | a | | comp | uint32\_t | 颜色通道数(目前支持3(rgb)和4(rgba))。 | +| o | lcd\_orientation\_t | 旋转方向。 | #### bitmap\_lock\_buffer\_for\_read 函数 ----------------------- @@ -491,6 +579,16 @@ ret_t bitmap_unlock_buffer (bitmap_t* bitmap); | 可直接读取 | 是 | | 可直接修改 | 否 | | 可脚本化 | 是 | +#### orientation 属性 +----------------------- +>
图片数据旋转。(修改了图片数据旋转后 flags 会带有 BITMAP_FLAG_LCD_ORIENTATION) + +* 类型:lcd\_orientation\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | #### w 属性 ----------------------- >
宽度。 diff --git a/docs/manual/bsvg_t.md b/docs/manual/bsvg_t.md index 5f2a36eeb..f89f630cc 100644 --- a/docs/manual/bsvg_t.md +++ b/docs/manual/bsvg_t.md @@ -1,13 +1,55 @@ ## bsvg\_t ### 概述 -SVG的二进制格式。 + ---------------------------------- ### 函数
| 函数名称 | 说明 | | -------- | ------------ | +| bsvg\_draw | 绘制bsvg。 | +| bsvg\_draw\_path | 绘制bsvg路径。 | | bsvg\_init | 初始化bsvg对象。 | +#### bsvg\_draw 函数 +----------------------- + +* 函数功能: + +>
绘制bsvg。 + +* 函数原型: + +``` +ret_t bsvg_draw (bsvg_t* svg, vgcanvas_t* canvas); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| svg | bsvg\_t* | SVG对象。 | +| canvas | vgcanvas\_t* | vgcanvas对象。 | +#### bsvg\_draw\_path 函数 +----------------------- + +* 函数功能: + +>
绘制bsvg路径。 + +* 函数原型: + +``` +ret_t bsvg_draw_path (bsvg_draw_ctx_t* ctx, svg_path_t* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| ctx | bsvg\_draw\_ctx\_t* | 绘制上下文。 | +| path | svg\_path\_t* | path对象。 | #### bsvg\_init 函数 ----------------------- @@ -18,7 +60,7 @@ SVG的二进制格式。 * 函数原型: ``` -bsvg_t* bsvg_init (bsvg_t* , const uint32_t* data, size size); +bsvg_t* bsvg_init (bsvg_t* , const uint32_t* data, uint32_t size); ``` * 参数说明: @@ -28,4 +70,4 @@ bsvg_t* bsvg_init (bsvg_t* , const uint32_t* data, size size); | 返回值 | bsvg\_t* | 返回解析后的svg。 | | | bsvg\_t* | 。 | | data | const uint32\_t* | svg数据。 | -| size | size | data长度。 | +| size | uint32\_t | data长度。 | diff --git a/docs/manual/button_group_t.md b/docs/manual/button_group_t.md index da2be6010..9bc0c36f2 100644 --- a/docs/manual/button_group_t.md +++ b/docs/manual/button_group_t.md @@ -36,6 +36,7 @@ button\_group\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数 | -------- | ------------ | | button\_group\_cast | 转换为button_group对象(供脚本语言使用)。 | | button\_group\_create | 创建button_group对象 | +| button\_group\_get\_widget\_vtable | 获取 button_group 虚表。 | #### button\_group\_cast 函数 ----------------------- @@ -78,3 +79,21 @@ widget_t* button_group_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### button\_group\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 calibration_win 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* calibration_win_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 calibration\_win 虚表。 | #### calibration\_win\_set\_on\_click 函数 ----------------------- diff --git a/docs/manual/candidates_t.md b/docs/manual/candidates_t.md index b0594ab74..3638b58cb 100644 --- a/docs/manual/candidates_t.md +++ b/docs/manual/candidates_t.md @@ -32,6 +32,7 @@ | -------- | ------------ | | candidates\_cast | 转换为candidates对象(供脚本语言使用)。 | | candidates\_create | 创建candidates对象 | +| candidates\_get\_widget\_vtable | 获取 candidates 虚表。 | | candidates\_set\_auto\_hide | 设置是否自动隐藏。 | | candidates\_set\_button\_style | 设置按钮的style名称。 | | candidates\_set\_pre | 设置是否为预候选字列表。 | @@ -43,6 +44,7 @@ | -------- | ----- | ------------ | | auto\_hide | bool\_t | 没有候选字时,是否自动隐藏控件。 | | button\_style | char* | 按钮的style名称。 | +| enable\_preview | bool\_t | 是否启用候选字预览。 | | pre | bool\_t | 是否为预候选字。 | | select\_by\_num | bool\_t | 是否启用用数字选择候选字。比如按下1选择第1个候选字,按下2选择第2个候选字。 | #### candidates\_cast 函数 @@ -87,6 +89,24 @@ widget_t* candidates_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### candidates\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 candidates 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* candidates_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 candidates 虚表。 | #### candidates\_set\_auto\_hide 函数 ----------------------- @@ -191,6 +211,22 @@ ret_t candidates_set_select_by_num (widget_t* widget, bool_t select_by_num); * 类型:char* +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### enable\_preview 属性 +----------------------- +>
是否启用候选字预览。 + +* 类型:bool\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/canvas_offline_t.md b/docs/manual/canvas_offline_t.md index b949afaff..adf4bec2b 100644 --- a/docs/manual/canvas_offline_t.md +++ b/docs/manual/canvas_offline_t.md @@ -55,7 +55,6 @@ ret_t canvas_offline_begin_draw (canvas_t* canvas); >
把离线 canvas 的离线 bitmap 移动赋值给新的 bitmap。 移动赋值后原来的离线 canvas 的离线 bitmap 就会被置空。 -备注:在移动赋值之前会先调用 canvas_offline_flush_bitmap 把数据回流到内存中。 * 函数原型: @@ -99,6 +98,7 @@ ret_t canvas_offline_clear_canvas (canvas_t* canvas); >
创建一个离线的 canvas 在 opengl 模式下 format 参数只能为 BITMAP_FMT_RGBA8888 在其他模式下,离线 canvas 格式可以为 rgba,bgar,bgr565和rgb565 +旋转方向和 lcd 旋转方向保存一致,旋转方向不同可能会导致 bitmap 的逻辑宽高不同。 * 函数原型: @@ -111,8 +111,8 @@ 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 的高。 | +| w | uint32\_t | 离线 canvas 的物理宽。 | +| h | uint32\_t | 离线 canvas 的物理高。 | | format | bitmap\_format\_t | 离线 canvas 的格式。 | #### canvas\_offline\_custom\_begin\_draw 函数 ----------------------- diff --git a/docs/manual/canvas_t.md b/docs/manual/canvas_t.md index 5d8fcfac2..0e149b2a7 100644 --- a/docs/manual/canvas_t.md +++ b/docs/manual/canvas_t.md @@ -12,6 +12,7 @@ | canvas\_clear\_rect | 用填充颜色填充指定矩形。 | | canvas\_draw\_hline | 画水平线。 | | canvas\_draw\_icon | 绘制图标。 | +| canvas\_draw\_icon\_in\_rect | 在指定rect内绘制icon。 | | canvas\_draw\_image | 绘制图片。 | | canvas\_draw\_image\_at | 在指定位置画图。 | | canvas\_draw\_image\_ex | 绘制图片。 | @@ -38,9 +39,12 @@ | canvas\_get\_vgcanvas | 获取vgcanvas对象。 | | canvas\_get\_width | 获取画布的宽度。 | | canvas\_init | 初始化,系统内部调用。 | +| canvas\_is\_rect\_in\_clip\_rect | 判断改矩形区域是否在裁剪区中 | | canvas\_measure\_text | 计算文本所占的宽度。 | | canvas\_measure\_utf8 | 计算文本所占的宽度。 | | canvas\_reset | 释放相关资源。 | +| canvas\_reset\_cache | 清除canvas中缓存。 | +| canvas\_reset\_font | 释放canvas中字体相关的资源。 | | canvas\_set\_assets\_manager | 设置canvas的assets_manager对象。 | | canvas\_set\_clip\_rect | 设置裁剪区。 | | canvas\_set\_clip\_rect\_ex | 设置裁剪区。 | @@ -191,6 +195,27 @@ ret_t canvas_draw_icon (canvas_t* c, bitmap_t* img, xy_t cx, xy_t cy); | img | bitmap\_t* | 图片对象。 | | cx | xy\_t | 中心点x坐标。 | | cy | xy\_t | 中心点y坐标。 | +#### canvas\_draw\_icon\_in\_rect 函数 +----------------------- + +* 函数功能: + +>
在指定rect内绘制icon。 + +* 函数原型: + +``` +ret_t canvas_draw_icon_in_rect (canvas_t* c, bitmap_t* img, const rect_t* r); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| c | canvas\_t* | canvas对象。 | +| img | bitmap\_t* | 图片对象。 | +| r | const rect\_t* | 矩形区域。 | #### canvas\_draw\_image 函数 ----------------------- @@ -538,7 +563,7 @@ ret_t canvas_fill_rect_gradient (canvas_t* c, xy_t x, xy_t y, wh_t w, wh_t h, gr * 函数原型: ``` -ret_t canvas_fill_rounded_rect (canvas_t* c, const rect_t* r, const color_t* color, uint32_t radius); +ret_t canvas_fill_rounded_rect (canvas_t* c, const rect_t* r, const rect_t* bg_r, const color_t* color, uint32_t radius); ``` * 参数说明: @@ -548,6 +573,7 @@ ret_t canvas_fill_rounded_rect (canvas_t* c, const rect_t* r, const color_t* col | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | c | canvas\_t* | canvas对象。 | | r | const rect\_t* | 矩形。 | +| bg\_r | const rect\_t* | 矩形(默认为 NULL,当圆角直径大于 r 矩形的宽高后,会根据 bg\_r 矩形来决定是否需要缩小圆角半径)。 | | color | const color\_t* | 颜色。 | | radius | uint32\_t | 圆角半径。 | #### canvas\_fill\_rounded\_rect\_ex 函数 @@ -588,7 +614,7 @@ ret_t canvas_fill_rounded_rect_ex (canvas_t* c, const rect_t* r, const rect_t* b * 函数原型: ``` -ret_t canvas_fill_rounded_rect_gradient (canvas_t* c, const rect_t* r, const gradient_t* gradient, uint32_t radius); +ret_t canvas_fill_rounded_rect_gradient (canvas_t* c, const rect_t* r, const rect_t* bg_r, const gradient_t* gradient, uint32_t radius); ``` * 参数说明: @@ -598,6 +624,7 @@ ret_t canvas_fill_rounded_rect_gradient (canvas_t* c, const rect_t* r, const gra | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | c | canvas\_t* | canvas对象。 | | r | const rect\_t* | 矩形。 | +| bg\_r | const rect\_t* | 矩形(默认为 NULL,当圆角直径大于 r 矩形的宽高后,会根据 bg\_r 矩形来决定是否需要缩小圆角半径)。 | | gradient | const gradient\_t* | 渐变颜色。 | | radius | uint32\_t | 圆角半径。 | #### canvas\_fill\_rounded\_rect\_gradient\_ex 函数 @@ -767,6 +794,29 @@ canvas_t* canvas_init (canvas_t* c, lcd_t* lcd, font_manager_t* font_manager); | c | canvas\_t* | canvas对象。 | | lcd | lcd\_t* | lcd对象。 | | font\_manager | font\_manager\_t* | 字体管理器对象。 | +#### canvas\_is\_rect\_in\_clip\_rect 函数 +----------------------- + +* 函数功能: + +>
判断改矩形区域是否在裁剪区中 + +* 函数原型: + +``` +bool_t canvas_is_rect_in_clip_rect (canvas_t* c, xy_t left, xy_t top, xy_t right, xy_t bottom); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示是,否则表示不是。 | +| c | canvas\_t* | canvas对象。 | +| left | xy\_t | 矩形区域左边。 | +| top | xy\_t | 矩形区域上边。 | +| right | xy\_t | 矩形区域右边。 | +| bottom | xy\_t | 矩形区域下边。 | #### canvas\_measure\_text 函数 ----------------------- @@ -825,6 +875,45 @@ ret_t canvas_reset (canvas_t* c); * 参数说明: +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| c | canvas\_t* | canvas对象。 | +#### canvas\_reset\_cache 函数 +----------------------- + +* 函数功能: + +>
清除canvas中缓存。 +> 备注:主要用于窗口动画的离线画布绘制完成后重置在线画布,使下一帧中lcd对象的数据保持一致。 + +* 函数原型: + +``` +ret_t canvas_reset_cache (canvas_t* c); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| c | canvas\_t* | canvas对象。 | +#### canvas\_reset\_font 函数 +----------------------- + +* 函数功能: + +>
释放canvas中字体相关的资源。 + +* 函数原型: + +``` +ret_t canvas_reset_font (canvas_t* c); +``` + +* 参数说明: + | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | @@ -1152,7 +1241,7 @@ ret_t canvas_stroke_rect (canvas_t* c, xy_t x, xy_t y, wh_t w, wh_t h); * 函数原型: ``` -ret_t canvas_stroke_rounded_rect (canvas_t* c, const rect_t* r, const color_t* color, uint32_t radius, uint32_t border_width); +ret_t canvas_stroke_rounded_rect (canvas_t* c, const rect_t* r, const rect_t* bg_r, const color_t* color, uint32_t radius, uint32_t border_width); ``` * 参数说明: @@ -1162,6 +1251,7 @@ ret_t canvas_stroke_rounded_rect (canvas_t* c, const rect_t* r, const color_t* c | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | c | canvas\_t* | canvas对象。 | | r | const rect\_t* | 矩形。 | +| bg\_r | const rect\_t* | 矩形(默认为 NULL,当圆角直径大于 r 矩形的宽高后,会根据 bg\_r 矩形来决定是否需要缩小圆角半径)。 | | color | const color\_t* | 颜色。 | | radius | uint32\_t | 圆角半径。 | | border\_width | uint32\_t | 边宽。 | @@ -1177,7 +1267,7 @@ ret_t canvas_stroke_rounded_rect (canvas_t* c, const rect_t* r, const color_t* c * 函数原型: ``` -ret_t canvas_stroke_rounded_rect_ex (canvas_t* c, const rect_t* r, const color_t* color, uint32_t radius_tl, uint32_t radius_tr, uint32_t radius_bl, uint32_t radius_br, uint32_t border_width, uint32_t border_model); +ret_t canvas_stroke_rounded_rect_ex (canvas_t* c, const rect_t* r, const rect_t* bg_r, const color_t* color, uint32_t radius_tl, uint32_t radius_tr, uint32_t radius_bl, uint32_t radius_br, uint32_t border_width, uint32_t border_model); ``` * 参数说明: @@ -1187,6 +1277,7 @@ ret_t canvas_stroke_rounded_rect_ex (canvas_t* c, const rect_t* r, const color_t | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | c | canvas\_t* | canvas对象。 | | r | const rect\_t* | 矩形。 | +| bg\_r | const rect\_t* | 矩形(默认为 NULL,当圆角直径大于 r 矩形的宽高后,会根据 bg\_r 矩形来决定是否需要缩小圆角半径)。 | | color | const color\_t* | 颜色。 | | radius\_tl | uint32\_t | 左上角圆角半径。 | | radius\_tr | uint32\_t | 右上角圆角半径。 | diff --git a/docs/manual/canvas_widget_t.md b/docs/manual/canvas_widget_t.md index b3478999c..8a8d4b7cb 100644 --- a/docs/manual/canvas_widget_t.md +++ b/docs/manual/canvas_widget_t.md @@ -69,6 +69,7 @@ return RET_OK; | -------- | ------------ | | canvas\_widget\_cast | 转换为canvas_widget对象(供脚本语言使用)。 | | canvas\_widget\_create | 创建canvas_widget对象 | +| canvas\_widget\_get\_widget\_vtable | 获取 canvas_widget 虚表。 | #### canvas\_widget\_cast 函数 ----------------------- @@ -111,3 +112,21 @@ widget_t* canvas_widget_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### canvas\_widget\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 canvas_widget 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* canvas_widget_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 canvas\_widget 虚表。 | diff --git a/docs/manual/check_button_t.md b/docs/manual/check_button_t.md index 4129a8532..600b5e176 100644 --- a/docs/manual/check_button_t.md +++ b/docs/manual/check_button_t.md @@ -64,8 +64,10 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ------------ | | check\_button\_cast | 转换check_button对象(供脚本语言使用)。 | | check\_button\_create | 创建多选按钮对象 | +| check\_button\_create\_ex | 创建check button对象 | | check\_button\_create\_radio | 创建单选按钮对象 | | check\_button\_get\_checked\_button | 用于radio button获取同组中勾选的radio button。 | +| check\_button\_get\_widget\_vtable | 获取 check_button 虚表。 | | check\_button\_set\_value | 设置控件的值。 | ### 属性
获取 color_component 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* color_component_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 color\_component 虚表。 | #### color\_component\_set\_color 函数 ----------------------- diff --git a/docs/manual/color_picker_t.md b/docs/manual/color_picker_t.md index c51176b77..b7b8be336 100644 --- a/docs/manual/color_picker_t.md +++ b/docs/manual/color_picker_t.md @@ -39,6 +39,7 @@ color\_picker\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数 | -------- | ------------ | | color\_picker\_cast | 转换为color_picker对象(供脚本语言使用)。 | | color\_picker\_create | 创建color_picker对象 | +| color\_picker\_get\_widget\_vtable | 获取 color_picker 虚表。 | | color\_picker\_set\_color | 设置颜色。 | ### 属性
@@ -95,6 +96,24 @@ widget_t* color_picker_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### color\_picker\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 color_picker 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* color_picker_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 color\_picker 虚表。 | #### color\_picker\_set\_color 函数 ----------------------- diff --git a/docs/manual/color_tile_t.md b/docs/manual/color_tile_t.md index 5c07e446c..70fa4a50a 100644 --- a/docs/manual/color_tile_t.md +++ b/docs/manual/color_tile_t.md @@ -36,6 +36,7 @@ color_tile_set_bg_color(color_tile, "red"); | color\_tile\_create | 创建color_tile对象 | | color\_tile\_get\_bg\_color | 获取背景颜色。 | | color\_tile\_get\_border\_color | 获取边框颜色。 | +| color\_tile\_get\_widget\_vtable | 获取 color_tile 虚表。 | | color\_tile\_set\_bg\_color | 设置背景颜色。 | | color\_tile\_set\_border\_color | 设置边框颜色。 | | color\_tile\_set\_value | 设置背景颜色。 | @@ -133,6 +134,24 @@ const char* color_tile_get_border_color (widget_t* widget); | -------- | ----- | --------- | | 返回值 | const char* | 返回边框颜色。 | | widget | widget\_t* | 控件对象。 | +#### color\_tile\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 color_tile 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* color_tile_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 color\_tile 虚表。 | #### color\_tile\_set\_bg\_color 函数 ----------------------- diff --git a/docs/manual/column_t.md b/docs/manual/column_t.md index 3e6f43811..cef26323a 100644 --- a/docs/manual/column_t.md +++ b/docs/manual/column_t.md @@ -36,6 +36,7 @@ column\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均适 | -------- | ------------ | | column\_cast | 转换为column对象(供脚本语言使用)。 | | column\_create | 创建column对象 | +| column\_get\_widget\_vtable | 获取 column 虚表。 | #### column\_cast 函数 ----------------------- @@ -78,3 +79,21 @@ widget_t* column_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### column\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 column 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* column_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 column 虚表。 | diff --git a/docs/manual/combo_box_ex_t.md b/docs/manual/combo_box_ex_t.md index e1b489752..dca517f46 100644 --- a/docs/manual/combo_box_ex_t.md +++ b/docs/manual/combo_box_ex_t.md @@ -2,7 +2,10 @@ ### 概述 ![image](images/combo_box_ex_t_0.png) -可滚动的combo_box控件。 +扩展combo_box控件。支持以下功能: +* 支持滚动。项目比较多时显示滚动条。 +* 自动调整弹出窗口的宽度。根据最长文本自动调整弹出窗口的宽度。 +* 支持分组显示。如果item的文本以"seperator."开头,视为一个分组开始,其后的文本为分组的标题。比如: "seperator.basic",会创建一个basic为标题的分组。 ---------------------------------- ### 函数
diff --git a/docs/manual/combo_box_item_t.md b/docs/manual/combo_box_item_t.md index d2a02a94d..b6882d074 100644 --- a/docs/manual/combo_box_item_t.md +++ b/docs/manual/combo_box_item_t.md @@ -13,6 +13,7 @@ ComboBox Item控件。 | -------- | ------------ | | combo\_box\_item\_cast | 转换combo_box_item对象(供脚本语言使用)。 | | combo\_box\_item\_create | 创建combo_box_item对象 | +| combo\_box\_item\_get\_widget\_vtable | 获取 combo_box_item 虚表。 | | combo\_box\_item\_set\_checked | 设置控件是否被选中。 | | combo\_box\_item\_set\_value | 设置控件的值。 | ### 属性 @@ -72,6 +73,24 @@ widget_t* combo_box_item_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### combo\_box\_item\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 combo_box_item 虚表。
+
+* 函数原型:
+
+```
+const widget_vtable_t* combo_box_item_get_widget_vtable ();
+```
+
+* 参数说明:
+
+| 参数 | 类型 | 说明 |
+| -------- | ----- | --------- |
+| 返回值 | const widget\_vtable\_t* | 成功返回 combo\_box\_item 虚表。 |
#### combo\_box\_item\_set\_checked 函数
-----------------------
diff --git a/docs/manual/combo_box_t.md b/docs/manual/combo_box_t.md
index c761c9004..8cb2cbf69 100644
--- a/docs/manual/combo_box_t.md
+++ b/docs/manual/combo_box_t.md
@@ -109,6 +109,22 @@ demo](https://github.com/zlgopen/awtk-c-demos/blob/master/demos/combo_box.c)
```
+* 3.combobox的下拉框中的列表项的样式,可以设置combo_box_item的style来改变。
+
+```xml
+
@@ -144,6 +165,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | open\_window | char* | 为点击按钮时,要打开窗口的名称。 | | options | char* | 设置可选项(冒号分隔值和文本,分号分隔选项,如:1:red;2:green;3:blue)。 | | selected\_index | int32\_t | 当前选中的选项。 | +| theme\_of\_popup | char* | 弹出窗口的主题(对应的style文件必须存在),方便为不同combo box的弹出窗口指定不同的样式。 | | value | int32\_t | 值。 | ### 事件
@@ -259,7 +281,7 @@ combo_box_option_t* combo_box_get_option (widget_t* widget, uint32_t index); * 函数功能: ->
获取combo_box的文本。 +>
获取combo_box的文本(可能是翻译后的文本)。 * 函数原型: @@ -269,6 +291,25 @@ const char* combo_box_get_text (widget_t* widget); * 参数说明: +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回文本。 | +| widget | widget\_t* | combo\_box对象。 | +#### combo\_box\_get\_text\_of\_selected 函数 +----------------------- + +* 函数功能: + +>
获取combo_box当前选中项目的文本(原生非翻译的文本)。 + +* 函数原型: + +``` +const char* combo_box_get_text_of_selected (widget_t* widget); +``` + +* 参数说明: + | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | const char* | 返回文本。 | @@ -292,6 +333,44 @@ int32_t combo_box_get_value (widget_t* widget); | -------- | ----- | --------- | | 返回值 | int32\_t | 返回值。 | | widget | widget\_t* | combo\_box对象。 | +#### combo\_box\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 combo_box 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* combo_box_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 combo\_box 虚表。 | +#### combo\_box\_has\_option\_text 函数 +----------------------- + +* 函数功能: + +>
检查选项中是否存在指定的文本。 + +* 函数原型: + +``` +bool_t combo_box_has_option_text (widget_t* widget, const char* text); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示存在,否则表示不存在。 | +| widget | widget\_t* | combo\_box对象。 | +| text | const char* | option text | #### combo\_box\_remove\_option 函数 ----------------------- @@ -452,6 +531,46 @@ ret_t combo_box_set_selected_index (widget_t* widget, uint32_t index); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | combo\_box对象。 | | index | uint32\_t | 选项的索引。 | +#### combo\_box\_set\_selected\_index\_by\_text 函数 +----------------------- + +* 函数功能: + +>
根据文本设置当前选中的选项。 + +* 函数原型: + +``` +ret_t combo_box_set_selected_index_by_text (widget_t* widget, const char* text); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | combo\_box对象。 | +| text | const char* | 原生(非翻译的文本)。 | +#### combo\_box\_set\_theme\_of\_popup 函数 +----------------------- + +* 函数功能: + +>
设置弹出窗口的主题。 + +* 函数原型: + +``` +ret_t combo_box_set_theme_of_popup (widget_t* widget, const char* theme_of_popup); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | combo\_box对象。 | +| theme\_of\_popup | const char* | 弹出的窗口主题。 | #### combo\_box\_set\_value 函数 ----------------------- @@ -523,6 +642,9 @@ ret_t combo_box_set_value (widget_t* widget, int32_t value); #### options 属性 ----------------------- >
设置可选项(冒号分隔值和文本,分号分隔选项,如:1:red;2:green;3:blue)。 +> 如果数据本身中有英文冒号(:)和英文分号(;),请用16进制转义。 +> * 英文冒号(:)写为\\x3a +> * 英文冒号(;)写为\\x3b * 类型:char* @@ -542,6 +664,22 @@ ret_t combo_box_set_value (widget_t* widget, int32_t value); * 类型:int32\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### theme\_of\_popup 属性 +----------------------- +>
弹出窗口的主题(对应的style文件必须存在),方便为不同combo box的弹出窗口指定不同的样式。 + +* 类型:char* + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/conf_doc_t.md b/docs/manual/conf_doc_t.md index 0c2efbd5c..1ea89f41b 100644 --- a/docs/manual/conf_doc_t.md +++ b/docs/manual/conf_doc_t.md @@ -15,6 +15,7 @@ | conf\_doc\_create\_node | 创建一个空节点。 | | conf\_doc\_destroy | 析构函数。 | | conf\_doc\_destroy\_node | 销毁节点对象。 | +| conf\_doc\_dup\_node | 拷贝一个节点,并追加到其后。 | | conf\_doc\_exists | 判断指定路径的节点是否存在。 | | conf\_doc\_find\_node | 根据path查找节点。 | | conf\_doc\_get | 获取指定路径节点的值。 | @@ -36,6 +37,7 @@ | conf\_doc\_set\_bool | 设置指定路径节点的值。 | | conf\_doc\_set\_float | 设置指定路径节点的值。 | | conf\_doc\_set\_int | 设置指定路径节点的值。 | +| conf\_doc\_set\_node\_prop | 设置节点的属性。 | | conf\_doc\_set\_str | 设置指定路径节点的值。 | ### 属性
@@ -203,6 +205,27 @@ ret_t conf_doc_destroy_node (conf_doc_t* doc, conf_node_t* node); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | doc | conf\_doc\_t* | 文档对象。 | | node | conf\_node\_t* | 节点对象。 | +#### conf\_doc\_dup\_node 函数 +----------------------- + +* 函数功能: + +>
拷贝一个节点,并追加到其后。 + +* 函数原型: + +``` +ret_t conf_doc_dup_node (conf_doc_t* doc, conf_node_t* node, const char* new_name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回新节点。 | +| doc | conf\_doc\_t* | 文档对象。 | +| node | conf\_node\_t* | 节点对象。 | +| new\_name | const char* | 节点名称。 | #### conf\_doc\_exists 函数 ----------------------- @@ -639,6 +662,28 @@ ret_t conf_doc_set_int (conf_doc_t* doc, const char* path, int32_t v); | doc | conf\_doc\_t* | 文档对象。 | | path | const char* | 节点的路径。 | | v | int32\_t | 值。 | +#### conf\_doc\_set\_node\_prop 函数 +----------------------- + +* 函数功能: + +>
设置节点的属性。 + +* 函数原型: + +``` +ret_t conf_doc_set_node_prop (conf_doc_t* doc, conf_node_t* node, const char* name, const value_t* v ); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| doc | conf\_doc\_t* | 文档对象。 | +| node | conf\_node\_t* | 节点对象。 | +| name | const char* | 名称。 | +| | const value\_t* v | 。 | #### conf\_doc\_set\_str 函数 ----------------------- diff --git a/docs/manual/conf_ini_t.md b/docs/manual/conf_ini_t.md index 9e4c2e3a9..40742ed4e 100644 --- a/docs/manual/conf_ini_t.md +++ b/docs/manual/conf_ini_t.md @@ -22,14 +22,14 @@ conf ini对象。 * 函数原型: ``` -object_t* conf_ini_create (); +tk_object_t* conf_ini_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | #### conf\_ini\_load 函数 ----------------------- @@ -40,14 +40,14 @@ object_t* conf_ini_create (); * 函数原型: ``` -object_t* conf_ini_load (const char* url, bool_t create_if_not_exist); +tk_object_t* conf_ini_load (const char* url, bool_t create_if_not_exist); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | | url | const char* | 路径(通常是文件路径)。 | | create\_if\_not\_exist | bool\_t | 如果不存在是否创建。 | #### conf\_ini\_save\_as 函数 @@ -60,7 +60,7 @@ object_t* conf_ini_load (const char* url, bool_t create_if_not_exist); * 函数原型: ``` -ret_t conf_ini_save_as (object_t* obj, const char* url); +ret_t conf_ini_save_as (tk_object_t* obj, const char* url); ``` * 参数说明: @@ -68,5 +68,5 @@ ret_t conf_ini_save_as (object_t* obj, const char* url); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败 | -| obj | object\_t* | doc对象。 | +| obj | tk\_object\_t* | doc对象。 | | url | const char* | 保存的位置。 | diff --git a/docs/manual/conf_json_t.md b/docs/manual/conf_json_t.md index 5e1d4dc4d..7c30abce5 100644 --- a/docs/manual/conf_json_t.md +++ b/docs/manual/conf_json_t.md @@ -22,14 +22,14 @@ conf json对象。 * 函数原型: ``` -object_t* conf_json_create (); +tk_object_t* conf_json_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | #### conf\_json\_load 函数 ----------------------- @@ -40,14 +40,14 @@ object_t* conf_json_create (); * 函数原型: ``` -object_t* conf_json_load (const char* url, bool_t create_if_not_exist); +tk_object_t* conf_json_load (const char* url, bool_t create_if_not_exist); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | | url | const char* | 路径(通常是文件路径)。 | | create\_if\_not\_exist | bool\_t | 如果不存在是否创建。 | #### conf\_json\_save\_as 函数 @@ -60,7 +60,7 @@ object_t* conf_json_load (const char* url, bool_t create_if_not_exist); * 函数原型: ``` -ret_t conf_json_save_as (object_t* obj, const char* url); +ret_t conf_json_save_as (tk_object_t* obj, const char* url); ``` * 参数说明: @@ -68,5 +68,5 @@ ret_t conf_json_save_as (object_t* obj, const char* url); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败 | -| obj | object\_t* | doc对象。 | +| obj | tk\_object\_t* | doc对象。 | | url | const char* | 保存的位置。 | diff --git a/docs/manual/conf_node_t.md b/docs/manual/conf_node_t.md index 1f446d026..ddbd726f0 100644 --- a/docs/manual/conf_node_t.md +++ b/docs/manual/conf_node_t.md @@ -7,6 +7,7 @@ | 函数名称 | 说明 | | -------- | ------------ | +| conf\_node\_count\_children | 获取节点的子集个数。 | | conf\_node\_find\_child | 查找指定名称的子节点。 | | conf\_node\_find\_sibling | 查找指定名称的兄弟节点。 | | conf\_node\_get\_first\_child | 获取第一个子节点。 | @@ -23,6 +24,25 @@ | node\_type | uint8\_t | 节点类型。 | | parent | conf\_node\_t* | 父节点。 | | value\_type | uint8\_t | 值的类型。 | +#### conf\_node\_count\_children 函数 +----------------------- + +* 函数功能: + +>
获取节点的子集个数。 + +* 函数原型: + +``` +uint32_t conf_node_count_children (conf_node_t* node); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 成功返回节点个数。 | +| node | conf\_node\_t* | 节点对象。 | #### conf\_node\_find\_child 函数 ----------------------- diff --git a/docs/manual/conf_obj_t.md b/docs/manual/conf_obj_t.md index c3dec39d2..a8ad20bce 100644 --- a/docs/manual/conf_obj_t.md +++ b/docs/manual/conf_obj_t.md @@ -10,6 +10,7 @@ conf对象。 | 函数名称 | 说明 | | -------- | ------------ | | conf\_obj\_create | | +| conf\_obj\_create\_sub\_object | 根据路径创建一个子对象。 | | conf\_obj\_get\_doc | 获取doc对象,用于更高级的操作。 | | conf\_obj\_save | 保存文档。 | | conf\_obj\_set\_readonly | 设置为只读模式。 | @@ -23,18 +24,38 @@ conf对象。 * 函数原型: ``` -object_t* conf_obj_create (conf_doc_save_t save, conf_doc_load_t load, const char* url, bool_t create_if_not_exist); +tk_object_t* conf_obj_create (conf_doc_save_t save, conf_doc_load_t load, const char* url, bool_t create_if_not_exist); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | | save | conf\_doc\_save\_t | 保存函数。 | | load | conf\_doc\_load\_t | 加载函数。 | | url | const char* | 路径。 | | create\_if\_not\_exist | bool\_t | 如果不存在是否创建。 | +#### conf\_obj\_create\_sub\_object 函数 +----------------------- + +* 函数功能: + +>
根据路径创建一个子对象。 + +* 函数原型: + +``` +tk_object_t* conf_obj_create_sub_object (tk_object_t* conf, const char* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回配置对象。 | +| conf | tk\_object\_t* | 配置对象。 | +| path | const char* | 路径。 | #### conf\_obj\_get\_doc 函数 ----------------------- @@ -45,15 +66,15 @@ object_t* conf_obj_create (conf_doc_save_t save, conf_doc_load_t load, const cha * 函数原型: ``` -conf_dot_t conf_obj_get_doc (object_t* conf); +conf_doc_t* conf_obj_get_doc (tk_object_t* conf); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | conf\_dot\_t | 返回doc对象。 | -| conf | object\_t* | conf对象。 | +| 返回值 | conf\_doc\_t* | 返回doc对象。 | +| conf | tk\_object\_t* | conf对象。 | #### conf\_obj\_save 函数 ----------------------- @@ -64,7 +85,7 @@ conf_dot_t conf_obj_get_doc (object_t* conf); * 函数原型: ``` -ret_t conf_obj_save (object_t* conf); +ret_t conf_obj_save (tk_object_t* conf); ``` * 参数说明: @@ -72,7 +93,7 @@ ret_t conf_obj_save (object_t* conf); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败 | -| conf | object\_t* | conf对象。 | +| conf | tk\_object\_t* | conf对象。 | #### conf\_obj\_set\_readonly 函数 ----------------------- @@ -83,7 +104,7 @@ ret_t conf_obj_save (object_t* conf); * 函数原型: ``` -ret_t conf_obj_set_readonly (object_t* conf, bool_t readonly); +ret_t conf_obj_set_readonly (tk_object_t* conf, bool_t readonly); ``` * 参数说明: @@ -91,5 +112,5 @@ ret_t conf_obj_set_readonly (object_t* conf, bool_t readonly); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败 | -| conf | object\_t* | conf对象。 | +| conf | tk\_object\_t* | conf对象。 | | readonly | bool\_t | 只读模式。 | diff --git a/docs/manual/conf_ubjson_t.md b/docs/manual/conf_ubjson_t.md index ad12ad4bf..2c4a9213f 100644 --- a/docs/manual/conf_ubjson_t.md +++ b/docs/manual/conf_ubjson_t.md @@ -22,14 +22,14 @@ conf json对象。 * 函数原型: ``` -object_t* conf_ubjson_create (); +tk_object_t* conf_ubjson_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | #### conf\_ubjson\_load 函数 ----------------------- @@ -40,14 +40,14 @@ object_t* conf_ubjson_create (); * 函数原型: ``` -object_t* conf_ubjson_load (const char* url, bool_t create_if_not_exist); +tk_object_t* conf_ubjson_load (const char* url, bool_t create_if_not_exist); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回配置对象。 | +| 返回值 | tk\_object\_t* | 返回配置对象。 | | url | const char* | 路径(通常是文件路径)。 | | create\_if\_not\_exist | bool\_t | 如果不存在是否创建。 | #### conf\_ubjson\_save\_as 函数 @@ -60,7 +60,7 @@ object_t* conf_ubjson_load (const char* url, bool_t create_if_not_exist); * 函数原型: ``` -ret_t conf_ubjson_save_as (object_t* obj, const char* url); +ret_t conf_ubjson_save_as (tk_object_t* obj, const char* url); ``` * 参数说明: @@ -68,5 +68,5 @@ ret_t conf_ubjson_save_as (object_t* obj, const char* url); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败 | -| obj | object\_t* | doc对象。 | +| obj | tk\_object\_t* | doc对象。 | | url | const char* | 保存的位置。 | diff --git a/docs/manual/conf_xml_t.md b/docs/manual/conf_xml_t.md new file mode 100644 index 000000000..f2592cef9 --- /dev/null +++ b/docs/manual/conf_xml_t.md @@ -0,0 +1,72 @@ +## conf\_xml\_t +### 概述 +![image](images/conf_xml_t_0.png) + +conf xml对象。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| conf\_xml\_create | 创建一个空的conf对象。 | +| conf\_xml\_load | 从指定URL加载XML对象。 | +| conf\_xml\_save\_as | 将doc对象保存到指定URL。 | +#### conf\_xml\_create 函数 +----------------------- + +* 函数功能: + +>
创建一个空的conf对象。 + +* 函数原型: + +``` +tk_object_t* conf_xml_create (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回配置对象。 | +#### conf\_xml\_load 函数 +----------------------- + +* 函数功能: + +>
从指定URL加载XML对象。 + +* 函数原型: + +``` +tk_object_t* conf_xml_load (const char* url, bool_t create_if_not_exist); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回配置对象。 | +| url | const char* | 路径(通常是文件路径)。 | +| create\_if\_not\_exist | bool\_t | 如果不存在是否创建。 | +#### conf\_xml\_save\_as 函数 +----------------------- + +* 函数功能: + +>
将doc对象保存到指定URL。 + +* 函数原型: + +``` +ret_t conf_xml_save_as (tk_object_t* obj, const char* url); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败 | +| obj | tk\_object\_t* | doc对象。 | +| url | const char* | 保存的位置。 | diff --git a/docs/manual/csv_file_object_t.md b/docs/manual/csv_file_object_t.md index 3b21673b6..41b7ea051 100644 --- a/docs/manual/csv_file_object_t.md +++ b/docs/manual/csv_file_object_t.md @@ -21,14 +21,14 @@ * 函数原型: ``` -object_t* csv_file_object_create (csv_file_t* csv); +tk_object_t* csv_file_object_create (csv_file_t* csv); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回对象。 | +| 返回值 | tk\_object\_t* | 返回对象。 | | csv | csv\_file\_t* | csv对象(由object释放)。 | #### csv\_file\_object\_get\_csv 函数 ----------------------- @@ -40,7 +40,7 @@ object_t* csv_file_object_create (csv_file_t* csv); * 函数原型: ``` -csv_file_t* csv_file_object_get_csv (object_t* obj); +csv_file_t* csv_file_object_get_csv (tk_object_t* obj); ``` * 参数说明: @@ -48,4 +48,4 @@ csv_file_t* csv_file_object_get_csv (object_t* obj); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | csv\_file\_t* | 返回csv对象。 | -| obj | object\_t* | obj对象。 | +| obj | tk\_object\_t* | obj对象。 | diff --git a/docs/manual/csv_file_t.md b/docs/manual/csv_file_t.md index d269c7d42..11031a143 100644 --- a/docs/manual/csv_file_t.md +++ b/docs/manual/csv_file_t.md @@ -30,28 +30,6 @@ | csv\_file\_set | 修改指定行列的数据。 | | csv\_file\_set\_filter | 设置过滤函数。 | | csv\_file\_set\_row\_checked | 勾选指定行。 | -| fargs\_get\_data\_and\_size | 从参数中获取数据和长度。 | -| fscript\_app\_conf\_register | 注册app_conf函数。 | -| fscript\_array\_register | 注册typed array函数。 | -| fscript\_bits\_register | 注册数学函数。 | -| fscript\_crc\_register | 注册crc16/crc32/cksum等函数。 | -| fscript\_date\_time\_register | 注册date time函数。 | -| fscript\_endian\_register | 注册大端小断转换函数等函数。 | -| fscript\_ext\_init | 注册扩展函数。 | -| fscript\_fs\_register | 注册文件系统函数。 | -| fscript\_iostream\_file\_register | 注册iostream_file相关函数。 | -| fscript\_iostream\_inet\_register | 注册iostream_inet相关函数。 | -| fscript\_iostream\_register | 注册iostream相关函数。 | -| fscript\_iostream\_serial\_register | 注册iostream_serial相关函数。 | -| fscript\_istream\_register | 注册istream相关等函数。 | -| fscript\_json\_register | 注册json函数。 | -| fscript\_math\_register | 注册数学函数。 | -| fscript\_object\_register | 注册object函数。 | -| fscript\_ostream\_register | 注册ostream相关函数。 | -| fscript\_rbuffer\_register | 注册rbuffer相关函数。 | -| fscript\_typed\_array\_register | 注册typed array函数。 | -| fscript\_wbuffer\_register | 注册wbuffer相关函数。 | -| fscript\_widget\_register | 注册widget函数。 | ### 属性
@@ -520,405 +498,6 @@ ret_t csv_file_set_row_checked (csv_file_t* csv, uint32_t row, bool_t checked); | csv | csv\_file\_t* | csv对象。 | | row | uint32\_t | 行号。 | | checked | bool\_t | 是否勾选。 | -#### fargs\_get\_data\_and\_size 函数 ------------------------ - -* 函数功能: - ->
从参数中获取数据和长度。 - -* 函数原型: - -``` -ret_t fargs_get_data_and_size (fscript_args_t* args, const uint8_t** , uint32_t* ret_size); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| args | fscript\_args\_t* | 参数。 | -| | const uint8\_t** | 。 | -| ret\_size | uint32\_t* | 返回数据的长度。 | -#### fscript\_app\_conf\_register 函数 ------------------------ - -* 函数功能: - ->
注册app_conf函数。 - -* 函数原型: - -``` -ret_t fscript_app_conf_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_array\_register 函数 ------------------------ - -* 函数功能: - ->
注册typed array函数。 - -* 函数原型: - -``` -ret_t fscript_array_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_bits\_register 函数 ------------------------ - -* 函数功能: - ->
注册数学函数。 - -* 函数原型: - -``` -ret_t fscript_bits_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_crc\_register 函数 ------------------------ - -* 函数功能: - ->
注册crc16/crc32/cksum等函数。 - -* 函数原型: - -``` -ret_t fscript_crc_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_date\_time\_register 函数 ------------------------ - -* 函数功能: - ->
注册date time函数。 - -* 函数原型: - -``` -ret_t fscript_date_time_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_endian\_register 函数 ------------------------ - -* 函数功能: - ->
注册大端小断转换函数等函数。 - -* 函数原型: - -``` -ret_t fscript_endian_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_ext\_init 函数 ------------------------ - -* 函数功能: - ->
注册扩展函数。 - -* 函数原型: - -``` -ret_t fscript_ext_init (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_fs\_register 函数 ------------------------ - -* 函数功能: - ->
注册文件系统函数。 - -* 函数原型: - -``` -ret_t fscript_fs_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_iostream\_file\_register 函数 ------------------------ - -* 函数功能: - ->
注册iostream_file相关函数。 - -* 函数原型: - -``` -ret_t fscript_iostream_file_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_iostream\_inet\_register 函数 ------------------------ - -* 函数功能: - ->
注册iostream_inet相关函数。 - -* 函数原型: - -``` -ret_t fscript_iostream_inet_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_iostream\_register 函数 ------------------------ - -* 函数功能: - ->
注册iostream相关函数。 - -* 函数原型: - -``` -ret_t fscript_iostream_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_iostream\_serial\_register 函数 ------------------------ - -* 函数功能: - ->
注册iostream_serial相关函数。 - -* 函数原型: - -``` -ret_t fscript_iostream_serial_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_istream\_register 函数 ------------------------ - -* 函数功能: - ->
注册istream相关等函数。 - -* 函数原型: - -``` -ret_t fscript_istream_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_json\_register 函数 ------------------------ - -* 函数功能: - ->
注册json函数。 - -* 函数原型: - -``` -ret_t fscript_json_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_math\_register 函数 ------------------------ - -* 函数功能: - ->
注册数学函数。 - -* 函数原型: - -``` -ret_t fscript_math_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_object\_register 函数 ------------------------ - -* 函数功能: - ->
注册object函数。 - -* 函数原型: - -``` -ret_t fscript_object_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_ostream\_register 函数 ------------------------ - -* 函数功能: - ->
注册ostream相关函数。 - -* 函数原型: - -``` -ret_t fscript_ostream_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_rbuffer\_register 函数 ------------------------ - -* 函数功能: - ->
注册rbuffer相关函数。 - -* 函数原型: - -``` -ret_t fscript_rbuffer_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_typed\_array\_register 函数 ------------------------ - -* 函数功能: - ->
注册typed array函数。 - -* 函数原型: - -``` -ret_t fscript_typed_array_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_wbuffer\_register 函数 ------------------------ - -* 函数功能: - ->
注册wbuffer相关函数。 - -* 函数原型: - -``` -ret_t fscript_wbuffer_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_widget\_register 函数 ------------------------ - -* 函数功能: - ->
注册widget函数。 - -* 函数原型: - -``` -ret_t fscript_widget_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | #### has\_title 属性 ----------------------- >
是否有标题。 diff --git a/docs/manual/darray_t.md b/docs/manual/darray_t.md index 711fadeed..c24326347 100644 --- a/docs/manual/darray_t.md +++ b/docs/manual/darray_t.md @@ -48,6 +48,7 @@ darray_destroy(darray); | darray\_remove\_all | 删除全部满足条件的元素。 | | darray\_remove\_ex | 删除第一个满足条件的元素。 | | darray\_remove\_index | 删除指定位置的元素。 | +| darray\_remove\_range | 删除指定范围的元素。 | | darray\_replace | 设置指定序数的元素(销毁旧的数据)。 | | darray\_set | 设置指定序数的元素(不销毁旧的数据)。 | | darray\_sort | 排序。 | @@ -560,6 +561,28 @@ ret_t darray_remove_index (darray_t* darray, uint32_t index); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | darray | darray\_t* | 数组对象。 | | index | uint32\_t | 位置序数。 | +#### darray\_remove\_range 函数 +----------------------- + +* 函数功能: + +>
删除指定范围的元素。 +删除范围为[start, end) + +* 函数原型: + +``` +ret_t darray_remove_range (darray_t* darray, uint32_t start, uint32_t end); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| darray | darray\_t* | 数组对象。 | +| start | uint32\_t | 起始位置。 | +| end | uint32\_t | 结束位置。 | #### darray\_replace 函数 ----------------------- diff --git a/docs/manual/data_reader_mem_t.md b/docs/manual/data_reader_mem_t.md index 6895485db..4f8382077 100644 --- a/docs/manual/data_reader_mem_t.md +++ b/docs/manual/data_reader_mem_t.md @@ -25,7 +25,7 @@ mem://addr:size * 函数原型: ``` -const char* data_reader_mem_build_url (mem_t* mem, uint32_t size, char* url); +const char* data_reader_mem_build_url (const void* mem, uint32_t size, char* url); ``` * 参数说明: @@ -33,7 +33,7 @@ const char* data_reader_mem_build_url (mem_t* mem, uint32_t size, char* url); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | const char* | 返回URL。 | -| mem | mem\_t* | 内存的地址。 | +| mem | const void* | 内存的地址。 | | size | uint32\_t | 内存的长度。 | | url | char* | 生成的URL。 | #### data\_reader\_mem\_create 函数 diff --git a/docs/manual/date_time_format_t.md b/docs/manual/date_time_format_t.md index 9ef0029e3..9c8fc44bc 100644 --- a/docs/manual/date_time_format_t.md +++ b/docs/manual/date_time_format_t.md @@ -7,14 +7,17 @@ * M 代表月(1-12) * D 代表日(1-31) * h 代表时(0-23) +* H 代表时(0-11) * m 代表分(0-59) * s 代表秒(0-59) * w 代表星期(0-6) * W 代表星期的英文缩写(支持翻译) +* T 代表时段AM/PM(支持翻译) * YY 代表年(只显示末两位) * MM 代表月(01-12) * DD 代表日(01-31) * hh 代表时(00-23) +* HH 代表时(00-11) * mm 代表分(00-59) * ss 代表秒(00-59) * MMM 代表月的英文缩写(支持翻译) diff --git a/docs/manual/debugger_breaked_event_t.md b/docs/manual/debugger_breaked_event_t.md new file mode 100644 index 000000000..61f16e0f3 --- /dev/null +++ b/docs/manual/debugger_breaked_event_t.md @@ -0,0 +1,68 @@ +## debugger\_breaked\_event\_t +### 概述 +![image](images/debugger_breaked_event_t_0.png) + +调试器中断运行的事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_breaked\_event\_cast | 把event对象转debugger_breaked_event_t对象。 | +| debugger\_breaked\_event\_init | 初始调试器中断运行的事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| line | uint32\_t | 中断运行的行号。 | +#### debugger\_breaked\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转debugger_breaked_event_t对象。 + +* 函数原型: + +``` +debugger_breaked_event_t* debugger_breaked_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_breaked\_event\_t* | 返回event对象。 | +| event | event\_t* | event对象。 | +#### debugger\_breaked\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始调试器中断运行的事件。 + +* 函数原型: + +``` +event_t* debugger_breaked_event_init (debugger_breaked_event_t* event, uint32_t line); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | 返回event对象。 | +| event | debugger\_breaked\_event\_t* | event对象。 | +| line | uint32\_t | 中断运行的行号。 | +#### line 属性 +----------------------- +>
中断运行的行号。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/debugger_client_t.md b/docs/manual/debugger_client_t.md new file mode 100644 index 000000000..2805d6da0 --- /dev/null +++ b/docs/manual/debugger_client_t.md @@ -0,0 +1,105 @@ +## debugger\_client\_t +### 概述 +调试器客户端。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_client\_cast | 类型转换。 | +| debugger\_client\_create | 创建调试器对象。 | +| debugger\_client\_dispatch | 分发一个服务端推送的事件。 | +| debugger\_client\_wait\_for\_completed | 等待完成事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| io | tk\_iostream\_t* | 与服务器通信的stream对象。 | +#### debugger\_client\_cast 函数 +----------------------- + +* 函数功能: + +>
类型转换。 + +* 函数原型: + +``` +debugger_client_t* debugger_client_cast (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_client\_t* | 返回debugger对象。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_client\_create 函数 +----------------------- + +* 函数功能: + +>
创建调试器对象。 + +* 函数原型: + +``` +debugger_t* debugger_client_create (tk_iostream_t* io); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回debugger对象。 | +| io | tk\_iostream\_t* | io对象。 | +#### debugger\_client\_dispatch 函数 +----------------------- + +* 函数功能: + +>
分发一个服务端推送的事件。 + +* 函数原型: + +``` +ret_t debugger_client_dispatch (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_client\_wait\_for\_completed 函数 +----------------------- + +* 函数功能: + +>
等待完成事件。 + +* 函数原型: + +``` +ret_t debugger_client_wait_for_completed (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### io 属性 +----------------------- +>
与服务器通信的stream对象。 + +* 类型:tk\_iostream\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/debugger_client_tcp_t.md b/docs/manual/debugger_client_tcp_t.md new file mode 100644 index 000000000..9d4b57888 --- /dev/null +++ b/docs/manual/debugger_client_tcp_t.md @@ -0,0 +1,30 @@ +## debugger\_client\_tcp\_t +### 概述 +调试器TCP客户端。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_client\_tcp\_create | 创建调试器TCP客户端对象。 | +#### debugger\_client\_tcp\_create 函数 +----------------------- + +* 函数功能: + +>
创建调试器TCP客户端对象。 + +* 函数原型: + +``` +debugger_t* debugger_client_tcp_create (const char* host, uint32_t port); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回debugger对象。 | +| host | const char* | 目标主机。 | +| port | uint32\_t | 目标端口。 | diff --git a/docs/manual/debugger_error_event_t.md b/docs/manual/debugger_error_event_t.md new file mode 100644 index 000000000..9367ea695 --- /dev/null +++ b/docs/manual/debugger_error_event_t.md @@ -0,0 +1,80 @@ +## debugger\_error\_event\_t +### 概述 +![image](images/debugger_error_event_t_0.png) + +程序错误事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_error\_event\_cast | 把event对象转debugger_error_event_t对象。 | +| debugger\_error\_event\_init | 初始程序错误的事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| line | uint32\_t | 出现错误的行号。 | +| message | const char* | 错误消息。 | +#### debugger\_error\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转debugger_error_event_t对象。 + +* 函数原型: + +``` +debugger_error_event_t* debugger_error_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_error\_event\_t* | 返回event对象。 | +| event | event\_t* | event对象。 | +#### debugger\_error\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始程序错误的事件。 + +* 函数原型: + +``` +event_t* debugger_error_event_init (debugger_error_event_t* event, uint32_t line, const char* message); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | 返回event对象。 | +| event | debugger\_error\_event\_t* | event对象。 | +| line | uint32\_t | 出现错误的行号。 | +| message | const char* | 错误信息。 | +#### line 属性 +----------------------- +>
出现错误的行号。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### message 属性 +----------------------- +>
错误消息。 + +* 类型:const char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/debugger_factory_t.md b/docs/manual/debugger_factory_t.md new file mode 100644 index 000000000..a8cca05d9 --- /dev/null +++ b/docs/manual/debugger_factory_t.md @@ -0,0 +1,111 @@ +## debugger\_factory\_t +### 概述 +@annotaion ["fake"] +调试器工厂 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_factory\_attach\_debugger | 创建调试器。 | +| debugger\_factory\_deinit | 释放资源。 | +| debugger\_factory\_init | 初始化工厂。 | +| debugger\_factory\_launch\_debugger | 创建调试器。 | +| debugger\_factory\_reg | 注册创建函数。 | +#### debugger\_factory\_attach\_debugger 函数 +----------------------- + +* 函数功能: + +>
创建调试器。 + +* 函数原型: + +``` +debugger_t* debugger_factory_attach_debugger (const char* lang, const char* code_id); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回调试器对象。 | +| lang | const char* | 语言类型。 | +| code\_id | const char* | 代码的ID。 | +#### debugger\_factory\_deinit 函数 +----------------------- + +* 函数功能: + +>
释放资源。 + +* 函数原型: + +``` +ret_t debugger_factory_deinit (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### debugger\_factory\_init 函数 +----------------------- + +* 函数功能: + +>
初始化工厂。 + +* 函数原型: + +``` +ret_t debugger_factory_init (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### debugger\_factory\_launch\_debugger 函数 +----------------------- + +* 函数功能: + +>
创建调试器。 + +* 函数原型: + +``` +debugger_t* debugger_factory_launch_debugger (const char* lang, const binary_data_t* code); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回调试器对象。 | +| lang | const char* | 语言类型。 | +| code | const binary\_data\_t* | 代码。 | +#### debugger\_factory\_reg 函数 +----------------------- + +* 函数功能: + +>
注册创建函数。 + +* 函数原型: + +``` +ret_t debugger_factory_reg (const char* lang, debugger_fscript_create_t create); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| lang | const char* | 语言类型。 | +| create | debugger\_fscript\_create\_t | 创建函数。 | diff --git a/docs/manual/debugger_fscript_t.md b/docs/manual/debugger_fscript_t.md new file mode 100644 index 000000000..2defaa2b2 --- /dev/null +++ b/docs/manual/debugger_fscript_t.md @@ -0,0 +1,111 @@ +## debugger\_fscript\_t +### 概述 +fscript调试器 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_fscript\_cast | 类型转换。 | +| debugger\_fscript\_create | 创建调试器对象。 | +| debugger\_fscript\_get\_start\_line | 获取第一行被执行的代码的行号。 | +| debugger\_fscript\_set\_code | 设置代码。 | +| debugger\_fscript\_set\_fscript | 设置fscript对象。 | +#### debugger\_fscript\_cast 函数 +----------------------- + +* 函数功能: + +>
类型转换。 + +* 函数原型: + +``` +debugger_fscript_t* debugger_fscript_cast (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_fscript\_t* | 返回debugger对象。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_fscript\_create 函数 +----------------------- + +* 函数功能: + +>
创建调试器对象。 + +* 函数原型: + +``` +debugger_t* debugger_fscript_create (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回debugger对象。 | +#### debugger\_fscript\_get\_start\_line 函数 +----------------------- + +* 函数功能: + +>
获取第一行被执行的代码的行号。 + +* 函数原型: + +``` +int32_t debugger_fscript_get_start_line (fscript_t* fscript); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 返回行号。 | +| fscript | fscript\_t* | fscript对象。 | +#### debugger\_fscript\_set\_code 函数 +----------------------- + +* 函数功能: + +>
设置代码。 + +* 函数原型: + +``` +debugger_t* debugger_fscript_set_code (debugger_t* debugger, const binary_data_t* code, bool_t changed); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回debugger对象。 | +| debugger | debugger\_t* | debugger对象。 | +| code | const binary\_data\_t* | 代码。 | +| changed | bool\_t | 是否重新加载。 | +#### debugger\_fscript\_set\_fscript 函数 +----------------------- + +* 函数功能: + +>
设置fscript对象。 + +* 函数原型: + +``` +debugger_t* debugger_fscript_set_fscript (debugger_t* debugger, fscript_t* fscript); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回debugger对象。 | +| debugger | debugger\_t* | debugger对象。 | +| fscript | fscript\_t* | 脚本对象。 | diff --git a/docs/manual/debugger_global_t.md b/docs/manual/debugger_global_t.md new file mode 100644 index 000000000..b6ecdace7 --- /dev/null +++ b/docs/manual/debugger_global_t.md @@ -0,0 +1,48 @@ +## debugger\_global\_t +### 概述 +@annotaion ["fake"] +调试器全局函数。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_global\_deinit | 禁用调试器。 | +| debugger\_global\_init | 启用调试器。 | +#### debugger\_global\_deinit 函数 +----------------------- + +* 函数功能: + +>
禁用调试器。 + +* 函数原型: + +``` +ret_t debugger_global_deinit (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### debugger\_global\_init 函数 +----------------------- + +* 函数功能: + +>
启用调试器。 + +* 函数原型: + +``` +ret_t debugger_global_init (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | diff --git a/docs/manual/debugger_log_event_t.md b/docs/manual/debugger_log_event_t.md new file mode 100644 index 000000000..c6206163c --- /dev/null +++ b/docs/manual/debugger_log_event_t.md @@ -0,0 +1,80 @@ +## debugger\_log\_event\_t +### 概述 +![image](images/debugger_log_event_t_0.png) + +调试器打印日志的事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_log\_event\_cast | 把event对象转debugger_log_event_t对象。 | +| debugger\_log\_event\_init | 初始调试器打印日志的事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| line | int32\_t | 打印日志的行号(<0表示原生代码打印的日志)。 | +| message | const char* | 日志消息。 | +#### debugger\_log\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转debugger_log_event_t对象。 + +* 函数原型: + +``` +debugger_log_event_t* debugger_log_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_log\_event\_t* | 返回event对象。 | +| event | event\_t* | event对象。 | +#### debugger\_log\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始调试器打印日志的事件。 + +* 函数原型: + +``` +event_t* debugger_log_event_init (debugger_log_event_t* event, uint32_t line, const char* message); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | 返回event对象。 | +| event | debugger\_log\_event\_t* | event对象。 | +| line | uint32\_t | 打印日志的行号。 | +| message | const char* | 日志。 | +#### line 属性 +----------------------- +>
打印日志的行号(<0表示原生代码打印的日志)。 + +* 类型:int32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### message 属性 +----------------------- +>
日志消息。 + +* 类型:const char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/debugger_req_t.md b/docs/manual/debugger_req_t.md new file mode 100644 index 000000000..cb09a1749 --- /dev/null +++ b/docs/manual/debugger_req_t.md @@ -0,0 +1,53 @@ +## debugger\_req\_t +### 概述 +调试器请求头。 +---------------------------------- +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| code | uint32\_t | 请求码。 | +| data | uint32\_t | 数据。 | +| size | uint32\_t | 数据长度(除请求头外)。 | +| version | uint32\_t | 版本号。 | +#### code 属性 +----------------------- +>
请求码。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### data 属性 +----------------------- +>
数据。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### size 属性 +----------------------- +>
数据长度(除请求头外)。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### version 属性 +----------------------- +>
版本号。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/debugger_req_type_t.md b/docs/manual/debugger_req_type_t.md new file mode 100644 index 000000000..03f48ada2 --- /dev/null +++ b/docs/manual/debugger_req_type_t.md @@ -0,0 +1,31 @@ +## debugger\_req\_type\_t +### 概述 +请求的消息类型。 +### 常量 +
+ +| 名称 | 说明 | +| -------- | ------- | +| DEBUGGER\_REQ\_ATTACH | attach请求码。 | +| DEBUGGER\_REQ\_STOP | 停止运行请求码。 | +| DEBUGGER\_REQ\_PAUSE | 暂停运行请求码。 | +| DEBUGGER\_REQ\_IS\_PAUSED | 查询是否处于暂停状态请求码。 | +| DEBUGGER\_REQ\_NEXT | 运行下一步请求码。 | +| DEBUGGER\_REQ\_STEP\_IN | 运行进入函数请求码。 | +| DEBUGGER\_REQ\_STEP\_OUT | 运行退出函数请求码。 | +| DEBUGGER\_REQ\_NEXT | 运行下一行请求码。 | +| DEBUGGER\_REQ\_CONTINUE | 运行到下一个断点请求码。 | +| DEBUGGER\_REQ\_SET\_BREAK\_POINT | 设置断点请求码。 | +| DEBUGGER\_REQ\_REMOVE\_BREAK\_POINT | 移除断点请求码。 | +| DEBUGGER\_REQ\_CLEAR\_BREAK\_POINTS | 清除断点请求码。 | +| DEBUGGER\_REQ\_GET\_SELF | 获取self对象请求码。 | +| DEBUGGER\_REQ\_GET\_LOCAL | 获取局部变量和函数参数对象请求码。 | +| DEBUGGER\_REQ\_GET\_GLOBAL | 获取global对象请求码。 | +| DEBUGGER\_REQ\_GET\_CODE | 获取源代码请求码。 | +| DEBUGGER\_REQ\_GET\_DEBUGGERS | 获取调试器列表。 | +| DEBUGGER\_REQ\_GET\_BREAK\_POINTS | 获取断点列表。 | +| DEBUGGER\_REQ\_GET\_CALLSTACK | 获取callstack请求码。 | +| DEBUGGER\_REQ\_UPDATE\_CODE | 更新源代码请求码。 | +| DEBUGGER\_REQ\_LAUNCH | 执行代码请求码。 | +| DEBUGGER\_REQ\_DEINIT | 断开调试器请求码。 | +| DEBUGGER\_REQ\_RESTART | 重新运行运行请求码。 | diff --git a/docs/manual/debugger_resp_t.md b/docs/manual/debugger_resp_t.md new file mode 100644 index 000000000..54388509e --- /dev/null +++ b/docs/manual/debugger_resp_t.md @@ -0,0 +1,53 @@ +## debugger\_resp\_t +### 概述 +调试器响应头。 +---------------------------------- +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| code | uint32\_t | 响应码。 | +| error | uint32\_t | 错误码(定义同ret_t)。 | +| size | uint32\_t | 数据长度(除请求头外)。 | +| version | uint32\_t | 版本号。 | +#### code 属性 +----------------------- +>
响应码。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### error 属性 +----------------------- +>
错误码(定义同ret_t)。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### size 属性 +----------------------- +>
数据长度(除请求头外)。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### version 属性 +----------------------- +>
版本号。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/debugger_resp_type_t.md b/docs/manual/debugger_resp_type_t.md new file mode 100644 index 000000000..ad323ca46 --- /dev/null +++ b/docs/manual/debugger_resp_type_t.md @@ -0,0 +1,34 @@ +## debugger\_resp\_type\_t +### 概述 +响应/推送的消息类型。 +### 常量 +
+ +| 名称 | 说明 | +| -------- | ------- | +| DEBUGGER\_RESP\_ATTACH | attach响应码。 | +| DEBUGGER\_RESP\_STOP | 停止运行响应码。 | +| DEBUGGER\_RESP\_IS\_PAUSED | 查询是否处于暂停状态响应码。 | +| DEBUGGER\_RESP\_PAUSE | 暂停运行响应码。 | +| DEBUGGER\_RESP\_NEXT | 运行下一步响应码。 | +| DEBUGGER\_RESP\_STEP\_IN | 运行进入函数响应码。 | +| DEBUGGER\_RESP\_STEP\_OUT | 运行退出函数响应码。 | +| DEBUGGER\_RESP\_NEXT | 运行下一行响应码。 | +| DEBUGGER\_RESP\_CONTINUE | 运行到下一个断点响应码。 | +| DEBUGGER\_REQ\_SET\_BREAK\_POINT | 设置断点响应码。 | +| DEBUGGER\_RESP\_REMOVE\_BREAK\_POINT | 移除断点响应码。 | +| DEBUGGER\_RESP\_CLEAR\_BREAK\_POINTS | 清除断点响应码。 | +| DEBUGGER\_RESP\_GET\_SELF | 获取self对象响应码。 | +| DEBUGGER\_RESP\_GET\_LOCAL | 获取局部变量和函数参数对象响应码。 | +| DEBUGGER\_RESP\_GET\_GLOBAL | 获取global对象响应码。 | +| DEBUGGER\_RESP\_GET\_CODE | 获取源代码响应码。 | +| DEBUGGER\_RESP\_GET\_DEBUGGERS | 获取调试器列表响应码。 | +| DEBUGGER\_RESP\_GET\_BREAK\_POINTS | 获取断点列表响应码。 | +| DEBUGGER\_RESP\_GET\_CALLSTACK | 获取callstack响应码。 | +| DEBUGGER\_RESP\_UPDATE\_CODE | 更新源代码响应码。 | +| DEBUGGER\_RESP\_LAUNCH | 执行代码响应码。 | +| DEBUGGER\_RESP\_DEINIT | 断开调试器响应码。 | +| DEBUGGER\_RESP\_MSG\_LOG | 程序打印日志的响应码/事件码。 | +| DEBUGGER\_RESP\_MSG\_ERROR | 程序出现错误的响应码/事件码。 | +| DEBUGGER\_RESP\_MSG\_BREAKED | 程序中断的响应码/事件码。 | +| DEBUGGER\_RESP\_MSG\_COMPLETED | 程序执行完成的响应码/事件码。 | diff --git a/docs/manual/debugger_server_t.md b/docs/manual/debugger_server_t.md new file mode 100644 index 000000000..a18329f18 --- /dev/null +++ b/docs/manual/debugger_server_t.md @@ -0,0 +1,149 @@ +## debugger\_server\_t +### 概述 +@annotaion ["fake"] +调试器服务器。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_server\_find\_debugger | 查找调试器对象。 | +| debugger\_server\_is\_running | 判断服务是否在运行。 | +| debugger\_server\_set\_single\_mode | 设置为单一debugger模式。 | +| debugger\_server\_set\_single\_mode\_ex | 设置为单一debugger模式。 | +| debugger\_server\_start | 启用调试器服务。 | +| debugger\_server\_stop | 停用调试器服务。 | +| debugger\_server\_wait | 等待调试器服务退出。 | +#### debugger\_server\_find\_debugger 函数 +----------------------- + +* 函数功能: + +>
查找调试器对象。 + +* 函数原型: + +``` +debugger_t* debugger_server_find_debugger (const char* code_id); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | debugger\_t* | 返回debugger对象或者NULL。 | +| code\_id | const char* | 代码ID。 | +#### debugger\_server\_is\_running 函数 +----------------------- + +* 函数功能: + +>
判断服务是否在运行。 + +* 函数原型: + +``` +bool_t debugger_server_is_running (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示在运行,否则表示没有运行。 | +#### debugger\_server\_set\_single\_mode 函数 +----------------------- + +* 函数功能: + +>
设置为单一debugger模式。 + +* 函数原型: + +``` +ret_t debugger_server_set_single_mode (bool_t single_mode); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| single\_mode | bool\_t | 单一debugger模式 | +#### debugger\_server\_set\_single\_mode\_ex 函数 +----------------------- + +* 函数功能: + +>
设置为单一debugger模式。 + +* 函数原型: + +``` +ret_t debugger_server_set_single_mode_ex (bool_t single_mode, const char* lang, const char* code_id); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| single\_mode | bool\_t | 单一debugger模式 | +| lang | const char* | 语言。 | +| code\_id | const char* | 代码ID。 | +#### debugger\_server\_start 函数 +----------------------- + +* 函数功能: + +>
启用调试器服务。 + +* 函数原型: + +``` +ret_t debugger_server_start (tk_iostream_t* io); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| io | tk\_iostream\_t* | IO对象,用于和客户端通信。 | +#### debugger\_server\_stop 函数 +----------------------- + +* 函数功能: + +>
停用调试器服务。 + +* 函数原型: + +``` +ret_t debugger_server_stop (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### debugger\_server\_wait 函数 +----------------------- + +* 函数功能: + +>
等待调试器服务退出。 + +* 函数原型: + +``` +ret_t debugger_server_wait (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | diff --git a/docs/manual/debugger_server_tcp_t.md b/docs/manual/debugger_server_tcp_t.md new file mode 100644 index 000000000..db7ece772 --- /dev/null +++ b/docs/manual/debugger_server_tcp_t.md @@ -0,0 +1,107 @@ +## debugger\_server\_tcp\_t +### 概述 +调试器TCP服务端。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_server\_tcp\_deinit | 停止调试器服务。 | +| debugger\_server\_tcp\_init | 初始化调试器服务。 | +| debugger\_server\_tcp\_is\_inited | 检查是否已经初始化。 | +| debugger\_server\_tcp\_start | 启动调试器服务。 | +| debugger\_server\_tcp\_start\_async | 启动调试器服务。 | +#### debugger\_server\_tcp\_deinit 函数 +----------------------- + +* 函数功能: + +>
停止调试器服务。 + +* 函数原型: + +``` +ret_t debugger_server_tcp_deinit (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### debugger\_server\_tcp\_init 函数 +----------------------- + +* 函数功能: + +>
初始化调试器服务。 + +* 函数原型: + +``` +ret_t debugger_server_tcp_init (uint32_t port); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| port | uint32\_t | 监听端口。 | +#### debugger\_server\_tcp\_is\_inited 函数 +----------------------- + +* 函数功能: + +>
检查是否已经初始化。 + +* 函数原型: + +``` +bool_t debugger_server_tcp_is_inited (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示已经初始化,否则表示没有。 | +#### debugger\_server\_tcp\_start 函数 +----------------------- + +* 函数功能: + +>
启动调试器服务。 +> 接收客户端请求,并启动服务。 + +* 函数原型: + +``` +ret_t debugger_server_tcp_start (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### debugger\_server\_tcp\_start\_async 函数 +----------------------- + +* 函数功能: + +>
启动调试器服务。 +> 接收客户端请求,并启动服务。 + +* 函数原型: + +``` +ret_t debugger_server_tcp_start_async (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | diff --git a/docs/manual/debugger_t.md b/docs/manual/debugger_t.md new file mode 100644 index 000000000..dfcdf4aa1 --- /dev/null +++ b/docs/manual/debugger_t.md @@ -0,0 +1,551 @@ +## debugger\_t +### 概述 +调试器接口。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| debugger\_attach | 附近到指定的代码片段。 | +| debugger\_clear\_break\_points | 清除全部断点。 | +| debugger\_continue | 执行到下一个断点。 | +| debugger\_deinit | 释放资源。 | +| debugger\_get\_break\_points | 获取断点列表。 | +| debugger\_get\_callstack | 获取callstack。 | +| debugger\_get\_code | 获取代码。 | +| debugger\_get\_debuggers | 获取调试器列表。 | +| debugger\_get\_global | 获取全局对象。 | +| debugger\_get\_local | 获取局部变量对象。 | +| debugger\_get\_self | 获取self对象。 | +| debugger\_is\_paused | 查看当前是否处于暂停运行状态。 | +| debugger\_launch | 执行代码。 | +| debugger\_lock | 锁定debugger对象。 | +| debugger\_match | 检查code_id是否与当前debugger匹配。 | +| debugger\_next | 执行到下一行代码。 | +| debugger\_pause | 暂停运行。 | +| debugger\_remove\_break\_point | 清除断点。 | +| debugger\_restart | 重新运行。 | +| debugger\_set\_break\_point | 设置断点。 | +| debugger\_step\_in | 进入函数。 | +| debugger\_step\_out | 执行到函数结束。 | +| debugger\_step\_over | 执行下一条语句(跳过循环) | +| debugger\_stop | 停止运行。 | +| debugger\_unlock | 解锁debugger对象。 | +| debugger\_update\_code | 更新代码。 | +#### debugger\_attach 函数 +----------------------- + +* 函数功能: + +>
附近到指定的代码片段。 + +* 函数原型: + +``` +ret_t debugger_attach (debugger_t* debugger, const char* lang, const char* code_id); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| lang | const char* | 代码的语言。 | +| code\_id | const char* | 代码的ID。 | +#### debugger\_clear\_break\_points 函数 +----------------------- + +* 函数功能: + +>
清除全部断点。 + +* 函数原型: + +``` +ret_t debugger_clear_break_points (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_continue 函数 +----------------------- + +* 函数功能: + +>
执行到下一个断点。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +ret_t debugger_continue (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_deinit 函数 +----------------------- + +* 函数功能: + +>
释放资源。 + +* 函数原型: + +``` +ret_t debugger_deinit (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_get\_break\_points 函数 +----------------------- + +* 函数功能: + +>
获取断点列表。 + +* 函数原型: + +``` +ret_t debugger_get_break_points (debugger_t* debugger, binary_data_t* break_points); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| break\_points | binary\_data\_t* | 断点列表(每行一个)。 | +#### debugger\_get\_callstack 函数 +----------------------- + +* 函数功能: + +>
获取callstack。 + +* 函数原型: + +``` +ret_t debugger_get_callstack (debugger_t* debugger, binary_data_t* callstack); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| callstack | binary\_data\_t* | callstack。 | +#### debugger\_get\_code 函数 +----------------------- + +* 函数功能: + +>
获取代码。 + +* 函数原型: + +``` +ret_t debugger_get_code (debugger_t* debugger, binary_data_t* code); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| code | binary\_data\_t* | 代码。 | +#### debugger\_get\_debuggers 函数 +----------------------- + +* 函数功能: + +>
获取调试器列表。 + +* 函数原型: + +``` +ret_t debugger_get_debuggers (debugger_t* debugger, binary_data_t* debuggers); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| debuggers | binary\_data\_t* | 调试器列表(每行一个)。 | +#### debugger\_get\_global 函数 +----------------------- + +* 函数功能: + +>
获取全局对象。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +tk_object_t* debugger_get_global (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回全局对象。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_get\_local 函数 +----------------------- + +* 函数功能: + +>
获取局部变量对象。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +tk_object_t* debugger_get_local (debugger_t* debugger, uint32_t frame_index); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回局部变量对象。 | +| debugger | debugger\_t* | debugger对象。 | +| frame\_index | uint32\_t | frame序数(0表示当前) | +#### debugger\_get\_self 函数 +----------------------- + +* 函数功能: + +>
获取self对象。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +tk_object_t* debugger_get_self (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回self对象。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_is\_paused 函数 +----------------------- + +* 函数功能: + +>
查看当前是否处于暂停运行状态。 + +* 函数原型: + +``` +bool_t debugger_is_paused (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示处于暂停运行状态。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_launch 函数 +----------------------- + +* 函数功能: + +>
执行代码。 + +* 函数原型: + +``` +ret_t debugger_launch (debugger_t* debugger, const char* lang, const binary_data_t* code); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| lang | const char* | 代码的语言。 | +| code | const binary\_data\_t* | 代码。 | +#### debugger\_lock 函数 +----------------------- + +* 函数功能: + +>
锁定debugger对象。 + +* 函数原型: + +``` +ret_t debugger_lock (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_match 函数 +----------------------- + +* 函数功能: + +>
检查code_id是否与当前debugger匹配。 + +* 函数原型: + +``` +bool_t debugger_match (debugger_t* debugger, const char* code_id); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示匹配到。 | +| debugger | debugger\_t* | debugger对象。 | +| code\_id | const char* | 代码ID。 | +#### debugger\_next 函数 +----------------------- + +* 函数功能: + +>
执行到下一行代码。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +ret_t debugger_next (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_pause 函数 +----------------------- + +* 函数功能: + +>
暂停运行。 +> 暂停后才能执行next/step_xxx等函数。 + +* 函数原型: + +``` +ret_t debugger_pause (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_remove\_break\_point 函数 +----------------------- + +* 函数功能: + +>
清除断点。 + +* 函数原型: + +``` +ret_t debugger_remove_break_point (debugger_t* debugger, uint32_t line); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| line | uint32\_t | 代码行号。 | +#### debugger\_restart 函数 +----------------------- + +* 函数功能: + +>
重新运行。 + +* 函数原型: + +``` +ret_t debugger_restart (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_set\_break\_point 函数 +----------------------- + +* 函数功能: + +>
设置断点。 + +* 函数原型: + +``` +ret_t debugger_set_break_point (debugger_t* debugger, uint32_t line); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| line | uint32\_t | 代码行号。 | +#### debugger\_step\_in 函数 +----------------------- + +* 函数功能: + +>
进入函数。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +ret_t debugger_step_in (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_step\_out 函数 +----------------------- + +* 函数功能: + +>
执行到函数结束。 +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +ret_t debugger_step_out (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_step\_over 函数 +----------------------- + +* 函数功能: + +>
执行下一条语句(跳过循环) +> 处于暂停状态才能执行本命令。 + +* 函数原型: + +``` +ret_t debugger_step_over (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_stop 函数 +----------------------- + +* 函数功能: + +>
停止运行。 + +* 函数原型: + +``` +ret_t debugger_stop (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_unlock 函数 +----------------------- + +* 函数功能: + +>
解锁debugger对象。 + +* 函数原型: + +``` +ret_t debugger_unlock (debugger_t* debugger); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +#### debugger\_update\_code 函数 +----------------------- + +* 函数功能: + +>
更新代码。 + +* 函数原型: + +``` +ret_t debugger_update_code (debugger_t* debugger, const binary_data_t* code); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| debugger | debugger\_t* | debugger对象。 | +| code | const binary\_data\_t* | 代码。 | diff --git a/docs/manual/dialog_client_t.md b/docs/manual/dialog_client_t.md index 9c5042c24..eaf62dbc6 100644 --- a/docs/manual/dialog_client_t.md +++ b/docs/manual/dialog_client_t.md @@ -32,6 +32,7 @@ dialog\_client\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数 | -------- | ------------ | | dialog\_client\_cast | 转换为dialog_client对象(供脚本语言使用)。 | | dialog\_client\_create | 创建dialog客户区对象。 | +| dialog\_client\_get\_widget\_vtable | 获取 dialog_client 虚表。 | #### dialog\_client\_cast 函数 ----------------------- @@ -74,3 +75,21 @@ widget_t* dialog_client_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### dialog\_client\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 dialog_client 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* dialog_client_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 dialog\_client 虚表。 | diff --git a/docs/manual/dialog_highlighter_default_t.md b/docs/manual/dialog_highlighter_default_t.md index e6982cb44..c5ee040e4 100644 --- a/docs/manual/dialog_highlighter_default_t.md +++ b/docs/manual/dialog_highlighter_default_t.md @@ -19,6 +19,7 @@ | end\_alpha | uint8\_t | 结束alpha,打开对话框的动画结束(直到对话框被关闭)时的alpha值。 | | start\_alpha | uint8\_t | 起始alpha,打开对话框的动画开始时的alpha值。 | | system\_bar\_alpha | uint8\_t | 由于在没有过度动画的情况下,截图中已经包括黑色色块,为了让 system_bar 也同步高亮部分的色块透明。 | +| update\_background | bool\_t | 是否刷新底层窗口的截图。 | #### dialog\_highlighter\_default\_create 函数 ----------------------- @@ -29,7 +30,7 @@ * 函数原型: ``` -dialog_highlighter_t* dialog_highlighter_default_create (object_t* args); +dialog_highlighter_t* dialog_highlighter_default_create (tk_object_t* args); ``` * 参数说明: @@ -37,7 +38,7 @@ dialog_highlighter_t* dialog_highlighter_default_create (object_t* args); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | dialog\_highlighter\_t* | 返回对话框高亮策略对象。 | -| args | object\_t* | 参数。 | +| args | tk\_object\_t* | 参数。 | #### end\_alpha 属性 ----------------------- >
结束alpha,打开对话框的动画结束(直到对话框被关闭)时的alpha值。 @@ -56,3 +57,9 @@ dialog_highlighter_t* dialog_highlighter_default_create (object_t* args); * 类型:uint8\_t +#### update\_background 属性 +----------------------- +>
是否刷新底层窗口的截图。 + +* 类型:bool\_t + diff --git a/docs/manual/dialog_highlighter_t.md b/docs/manual/dialog_highlighter_t.md index 09ee1e742..51f4f52ee 100644 --- a/docs/manual/dialog_highlighter_t.md +++ b/docs/manual/dialog_highlighter_t.md @@ -20,6 +20,7 @@ | dialog\_highlighter\_set\_bg | 设置背景图片。 | | dialog\_highlighter\_set\_bg\_clip\_rect | 设置背景图片的显示裁剪区。 | | dialog\_highlighter\_set\_system\_bar\_alpha | 设置 sytem_bar 的高亮透明值。 | +| dialog\_highlighter\_set\_win | 设置底层窗口。 | ### 属性
@@ -29,6 +30,7 @@ | clip\_rect | rect\_t* | 截图的显示裁减区 | | dialog | widget\_t* | 对应的对话框。 | | img | bitmap\_t | 底层窗口的截图。 | +| win | widget\_t* | 底层窗口。 | #### dialog\_highlighter\_create 函数 ----------------------- @@ -250,6 +252,26 @@ ret_t dialog_highlighter_set_system_bar_alpha (dialog_highlighter_t* h, uint8_t | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | h | dialog\_highlighter\_t* | 对话框高亮策略对象。 | | alpha | uint8\_t | 设置 sytem\_bar 的高亮透明值。 | +#### dialog\_highlighter\_set\_win 函数 +----------------------- + +* 函数功能: + +>
设置底层窗口。 + +* 函数原型: + +``` +ret_t dialog_highlighter_set_win (dialog_highlighter_t* h, widget_t* win); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| h | dialog\_highlighter\_t* | 对话框高亮策略对象。 | +| win | widget\_t* | 底层窗口。 | #### canvas 属性 ----------------------- >
画布。 @@ -274,3 +296,9 @@ ret_t dialog_highlighter_set_system_bar_alpha (dialog_highlighter_t* h, uint8_t * 类型:bitmap\_t +#### win 属性 +----------------------- +>
底层窗口。 + +* 类型:widget\_t* + diff --git a/docs/manual/dialog_t.md b/docs/manual/dialog_t.md index 42114d5b0..e49136282 100644 --- a/docs/manual/dialog_t.md +++ b/docs/manual/dialog_t.md @@ -106,8 +106,10 @@ return RET_OK; | dialog\_confirm | 显示『确认』对话框。 | | dialog\_create | 创建dialog对象。 | | dialog\_create\_simple | 创建dialog对象,同时创建title/client。 | +| dialog\_create\_with\_ok\_cancel | 创建一个带有OK/Cancel按钮的对话框。 | | dialog\_get\_client | 获取client控件。 | | dialog\_get\_title | 获取title控件。 | +| dialog\_get\_widget\_vtable | 获取 dialog 虚表。 | | dialog\_info | 显示『提示信息』对话框。 | | dialog\_is\_modal | 检查对话框是否为模态对话框。 | | dialog\_is\_quited | 检查对话框是否已经退出模态。 | @@ -115,6 +117,7 @@ return RET_OK; | dialog\_open | 从资源文件中加载并创建Dialog对象。 | | dialog\_quit | 退出模态显示,关闭对话框。 | | dialog\_set\_title | 设置对话框的标题文本。 | +| dialog\_simple\_show | | | dialog\_toast | 显示『短暂提示信息』对话框。 | | dialog\_warn | 显示『警告』对话框。 | ### 属性 @@ -210,6 +213,27 @@ widget_t* dialog_create_simple (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### dialog\_create\_with\_ok\_cancel 函数 +----------------------- + +* 函数功能: + +>
创建一个带有OK/Cancel按钮的对话框。 + +* 函数原型: + +``` +widget_t* dialog_create_with_ok_cancel (const char* stitle, uint32_t w, uint32_t h); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | 成功返回dialog对象,失败返回NULL。 | +| stitle | const char* | 标题。 | +| w | uint32\_t | 宽度。 | +| h | uint32\_t | 高度。 | #### dialog\_get\_client 函数 ----------------------- @@ -248,6 +272,24 @@ widget_t* dialog_get_title (widget_t* widget); | -------- | ----- | --------- | | 返回值 | widget\_t* | title对象。 | | widget | widget\_t* | dialog对象。 | +#### dialog\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 dialog 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* dialog_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 dialog 虚表。 | #### dialog\_info 函数 ----------------------- diff --git a/docs/manual/dialog_title_t.md b/docs/manual/dialog_title_t.md index 1573e9464..bfc3df473 100644 --- a/docs/manual/dialog_title_t.md +++ b/docs/manual/dialog_title_t.md @@ -32,6 +32,7 @@ dialog\_title\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数 | -------- | ------------ | | dialog\_title\_cast | 转换为dialog_title对象(供脚本语言使用)。 | | dialog\_title\_create | 创建dialog对象。 | +| dialog\_title\_get\_widget\_vtable | 获取 dialog_title 虚表。 | #### dialog\_title\_cast 函数 ----------------------- @@ -74,3 +75,21 @@ widget_t* dialog_title_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### dialog\_title\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 dialog_title 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* dialog_title_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 dialog\_title 虚表。 | diff --git a/docs/manual/digit_clock_t.md b/docs/manual/digit_clock_t.md index 34eb3b19a..db509e11d 100644 --- a/docs/manual/digit_clock_t.md +++ b/docs/manual/digit_clock_t.md @@ -43,6 +43,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L1 | -------- | ------------ | | digit\_clock\_cast | 转换为digit_clock对象(供脚本语言使用)。 | | digit\_clock\_create | 创建digit_clock对象 | +| digit\_clock\_get\_widget\_vtable | 获取 digit_clock 虚表。 | | digit\_clock\_set\_format | 设置显示格式。 | ### 属性
@@ -92,6 +93,24 @@ widget_t* digit_clock_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### digit\_clock\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 digit_clock 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* digit_clock_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 digit\_clock 虚表。 | #### digit\_clock\_set\_format 函数 ----------------------- @@ -120,14 +139,17 @@ ret_t digit_clock_set_format (widget_t* widget, const char* format); * M 代表月(1-12) * D 代表日(1-31) * h 代表时(0-23) +* H 代表时(0-11) * m 代表分(0-59) * s 代表秒(0-59) * w 代表星期(0-6) * W 代表星期的英文缩写(支持翻译) +* T 代表时段AM/PM(支持翻译) * YY 代表年(只显示末两位) * MM 代表月(01-12) * DD 代表日(01-31) * hh 代表时(00-23) +* HH 代表时(00-11) * mm 代表分(00-59) * ss 代表秒(00-59) * MMM 代表月的英文缩写(支持翻译) diff --git a/docs/manual/draggable_t.md b/docs/manual/draggable_t.md index 9917e72b0..b61c56a6c 100644 --- a/docs/manual/draggable_t.md +++ b/docs/manual/draggable_t.md @@ -40,7 +40,10 @@ widget_t* draggable = draggable_create(target, 0, 0, 0, 0); | -------- | ------------ | | draggable\_cast | 转换为draggable对象(供脚本语言使用)。 | | draggable\_create | 创建draggable对象 | +| draggable\_get\_widget\_vtable | 获取 draggable 虚表。 | | draggable\_set\_bottom | 设置bottom。 | +| draggable\_set\_drag\_native\_window | 设置drag_native_window。 | +| draggable\_set\_drag\_parent | 设置drag_parent。 | | draggable\_set\_drag\_window | 设置drag_window。 | | draggable\_set\_horizontal\_only | 设置horizontal_only。 | | draggable\_set\_left | 设置left。 | @@ -53,6 +56,8 @@ widget_t* draggable = draggable_create(target, 0, 0, 0, 0); | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | bottom | int32\_t | 拖动范围的底部限制。缺省为父控件的底部。 | +| drag\_native\_window | bool\_t | 拖动原生窗口。 | +| drag\_parent | uint32\_t | 拖动父控件。0表示直系父控件,1表示父控件的父控件,依次类推。 | | drag\_window | bool\_t | 拖动窗口而不是父控件。比如放在对话框的titlebar上,拖动titlebar其实是希望拖动对话框。 | | horizontal\_only | bool\_t | 只允许水平拖动。 | | left | int32\_t | 拖动范围的左边限制。缺省为父控件的左边。 | @@ -101,6 +106,24 @@ widget_t* draggable_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### draggable\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 draggable 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* draggable_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 draggable 虚表。 | #### draggable\_set\_bottom 函数 ----------------------- @@ -121,6 +144,47 @@ ret_t draggable_set_bottom (widget_t* widget, int32_t bottom); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | bottom | int32\_t | 拖动范围的底部限制。缺省为父控件的底部。 | +#### draggable\_set\_drag\_native\_window 函数 +----------------------- + +* 函数功能: + +>
设置drag_native_window。 + +* 函数原型: + +``` +ret_t draggable_set_drag_native_window (widget_t* widget, bool_t drag_native_window); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| drag\_native\_window | bool\_t | 是否拖动原生窗口。 | +#### draggable\_set\_drag\_parent 函数 +----------------------- + +* 函数功能: + +>
设置drag_parent。 +拖动窗口而不是父控件。比如放在对话框的titlebar上,拖动titlebar其实是希望拖动对话框。 + +* 函数原型: + +``` +ret_t draggable_set_drag_parent (widget_t* widget, uint32_t drag_parent); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| drag\_parent | uint32\_t | 0表示直系父控件,1表示父控件的父控件,依次类推。 | #### draggable\_set\_drag\_window 函数 ----------------------- @@ -141,7 +205,7 @@ ret_t draggable_set_drag_window (widget_t* widget, bool_t drag_window); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | -| drag\_window | bool\_t | drag\_window | +| drag\_window | bool\_t | 是否拖动窗口。 | #### draggable\_set\_horizontal\_only 函数 ----------------------- @@ -248,6 +312,38 @@ ret_t draggable_set_vertical_only (widget_t* widget, bool_t vertical_only); * 类型:int32\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### drag\_native\_window 属性 +----------------------- +>
拖动原生窗口。 + +* 类型:bool\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### drag\_parent 属性 +----------------------- +>
拖动父控件。0表示直系父控件,1表示父控件的父控件,依次类推。 + +* 类型:uint32\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/dragger_t.md b/docs/manual/dragger_t.md index 72c5c287c..d1a17fb03 100644 --- a/docs/manual/dragger_t.md +++ b/docs/manual/dragger_t.md @@ -13,6 +13,7 @@ dragger控件。 | -------- | ------------ | | dragger\_cast | 转换为dragger对象(供脚本语言使用)。 | | dragger\_create | 创建dragger对象。 | +| dragger\_get\_widget\_vtable | 获取 dragger 虚表。 | | dragger\_set\_range | 设置拖动的范围。 | ### 属性
@@ -73,6 +74,24 @@ widget_t* dragger_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### dragger\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 dragger 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* dragger_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 dragger 虚表。 | #### dragger\_set\_range 函数 ----------------------- diff --git a/docs/manual/edit_t.md b/docs/manual/edit_t.md index 61147c031..59f98a48a 100644 --- a/docs/manual/edit_t.md +++ b/docs/manual/edit_t.md @@ -68,6 +68,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | edit\_get\_double | 获取double类型的值。 | | edit\_get\_int | 获取int类型的值。 | | edit\_get\_selected\_text | 获取选中的文本。 | +| edit\_get\_widget\_vtable | 获取 edit 虚表。 | | edit\_set\_action\_text | 设置软键盘上action按钮的文本。 | | edit\_set\_auto\_fix | 设置编辑器是否为自动改正。 | | edit\_set\_cancelable | 设置编辑器是否为可撤销修改。 | @@ -75,6 +76,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | edit\_set\_cursor | 设置输入框的光标位置。 | | edit\_set\_dec\_value | 设置减少值的回调函数。 | | edit\_set\_double | 设置double类型的值。 | +| edit\_set\_double\_ex | 设置double类型的值。 | | edit\_set\_fix\_value | 设置修正输入内容的回调函数。 | | edit\_set\_float\_limit | 设置为浮点数输入及取值范围。 | | edit\_set\_focus | 设置为焦点。 | @@ -121,6 +123,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ----- | ------- | | EVT\_VALUE\_CHANGING | value\_change\_event\_t | 文本正在改变事件(编辑中)。 | | EVT\_VALUE\_CHANGED | value\_change\_event\_t | 文本改变事件。 | +| EVT\_IM\_ACTION | event\_t | 软键盘Action点击事件。 | #### edit\_cast 函数 ----------------------- @@ -240,6 +243,24 @@ char* edit_get_selected_text (widget_t* widget); | -------- | ----- | --------- | | 返回值 | char* | 返回选中文本。 | | widget | widget\_t* | widget对象。 | +#### edit\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 edit 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* edit_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 edit 虚表。 | #### edit\_set\_action\_text 函数 ----------------------- @@ -381,6 +402,27 @@ ret_t edit_set_double (widget_t* widget, double value); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | value | double | 值。 | +#### edit\_set\_double\_ex 函数 +----------------------- + +* 函数功能: + +>
设置double类型的值。 + +* 函数原型: + +``` +ret_t edit_set_double_ex (widget_t* widget, const char* format, double value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| format | const char* | 格式(缺省为"%2.2lf")。 | +| value | double | 值。 | #### edit\_set\_fix\_value 函数 ----------------------- diff --git a/docs/manual/enum_helper.md b/docs/manual/enum_helper.md index b4662be9c..0965092be 100644 --- a/docs/manual/enum_helper.md +++ b/docs/manual/enum_helper.md @@ -10,8 +10,10 @@ | asset\_type\_find\_by\_value | 获取资源类型枚值和名称的对应关系。 | | find\_item | 获取特定枚值和名称的对应关系。 | | find\_item\_by\_value | 获取特定枚值和名称的对应关系。 | +| input\_type\_find | 获取输入类型值和名称的对应关系。 | | keys\_type\_find | 获取按键值和名称的对应关系。 | | keys\_type\_find\_by\_value | 获取按键值和名称的对应关系。 | +| keys\_type\_set\_custom\_keys | 设置自定义键值表。 | #### asset\_type\_find\_by\_value 函数 ----------------------- @@ -73,6 +75,25 @@ const key_type_value_t* find_item_by_value (const key_type_value_t* items, uint3 | items | const key\_type\_value\_t* | 特定枚举值对应列表。 | | nr | uint32\_t | 列表长度。 | | value | uint32\_t | 资源的类型。 | +#### input\_type\_find 函数 +----------------------- + +* 函数功能: + +>
获取输入类型值和名称的对应关系。 + +* 函数原型: + +``` +const key_type_value_t* input_type_find (const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const key\_type\_value\_t* | 返回输入类型值和名称的对应关系。 | +| name | const char* | 输入类型名。 | #### keys\_type\_find 函数 ----------------------- @@ -111,3 +132,24 @@ const key_type_value_t* keys_type_find_by_value (uint32_t value); | -------- | ----- | --------- | | 返回值 | const key\_type\_value\_t* | 返回按键值和名称的对应关系。 | | value | uint32\_t | 按键值。 | +#### keys\_type\_set\_custom\_keys 函数 +----------------------- + +* 函数功能: + +>
设置自定义键值表。 +> 请确保键值表的生命周期在程序运行期一直存在,不要传入局部变量。 + +* 函数原型: + +``` +ret_t keys_type_set_custom_keys (const key_type_value_t* table, uint32_t nr); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| table | const key\_type\_value\_t* | 键值表(NULL清除之前的设置)。 | +| nr | uint32\_t | 键值表的长度。 | diff --git a/docs/manual/event_t.md b/docs/manual/event_t.md index 2449db3b6..d20fbb1c4 100644 --- a/docs/manual/event_t.md +++ b/docs/manual/event_t.md @@ -11,6 +11,7 @@ | event\_clone | clone事件对象。 | | event\_create | 创建event对象。 | | event\_destroy | 销毁事件对象。 | +| event\_from\_name | 将事件名转换成事件的值。 | | event\_get\_type | 获取event类型。 | | event\_init | 初始化事件。 | ### 属性 @@ -21,7 +22,7 @@ | native\_window\_handle | void* | 原生窗口句柄。 | | size | int32\_t | 结构体的大小。 | | target | void* | 事件发生的目标对象。 | -| time | uint64\_t | 事件发生的时间。 | +| time | uint64\_t | 事件发生的时间点(该时间点并非真实时间)。 | | type | int32\_t | 类型。 | #### event\_cast 函数 ----------------------- @@ -105,6 +106,25 @@ ret_t event_destroy (event_t* event); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | event | event\_t* | event对象。 | +#### event\_from\_name 函数 +----------------------- + +* 函数功能: + +>
将事件名转换成事件的值。 + +* 函数原型: + +``` +int32_t event_from_name (const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 返回事件的值。 | +| name | const char* | 事件名。 | #### event\_get\_type 函数 ----------------------- @@ -178,7 +198,7 @@ event_t event_init (uint32_t type, void* target); | 可脚本化 | 是 | #### time 属性 ----------------------- ->
事件发生的时间。 +>
事件发生的时间点(该时间点并非真实时间)。 * 类型:uint64\_t diff --git a/docs/manual/event_type_t.md b/docs/manual/event_type_t.md index 36a04d05d..600ab9382 100644 --- a/docs/manual/event_type_t.md +++ b/docs/manual/event_type_t.md @@ -6,6 +6,103 @@ | 名称 | 说明 | | -------- | ------- | +| EVT\_POINTER\_DOWN | 指针按下事件名(pointer\_event\_t)。 | +| EVT\_POINTER\_DOWN\_BEFORE\_CHILDREN | 指针按下事件名,在子控件处理之前触发(pointer\_event\_t)。 | +| EVT\_POINTER\_MOVE | 指针移动事件名(pointer\_event\_t)。 | +| EVT\_POINTER\_MOVE\_BEFORE\_CHILDREN | 指针移动事件名,在子控件处理之前触发(pointer\_event\_t)。 | +| EVT\_POINTER\_UP | 指针抬起事件名(pointer\_event\_t)。 | +| EVT\_POINTER\_UP\_BEFORE\_CHILDREN | 指针抬起事件名,在子控件处理之前触发(pointer\_event\_t)。 | +| EVT\_WHEEL | 滚轮事件名(wheel\_event\_t)。 | +| EVT\_WHEEL\_BEFORE\_CHILDREN | 鼠标滚轮事件名,在子控件处理之前触发(wheel\_event\_t)。 | +| EVT\_POINTER\_DOWN\_ABORT | 取消前一个指针按下事件名(pointer\_event\_t)。 | +| EVT\_CONTEXT\_MENU | 右键/长按弹出上下文菜单的事件名(pointer\_event\_t)。 | +| EVT\_POINTER\_ENTER | 指针进入事件名(pointer\_event\_t)。 | +| EVT\_POINTER\_LEAVE | 指针离开事件名(pointer\_event\_t)。 | +| EVT\_LONG\_PRESS | 长按事件名(pointer\_event\_t)。 | +| EVT\_CLICK | 点击事件名(pointer\_event\_t)。 | +| EVT\_DOUBLE\_CLICK | 双击事件名(pointer\_event\_t)。 | +| EVT\_FOCUS | 得到焦点事件名(event\_t)。 | +| EVT\_BLUR | 失去焦点事件名(event\_t)。 | +| EVT\_KEY\_DOWN | 键按下事件名(key\_event\_t)。 | +| EVT\_KEY\_LONG\_PRESS | 键长按事件名(key\_event\_t)。 | +| EVT\_KEY\_DOWN\_BEFORE\_CHILDREN | 键按下事件名,在子控件处理之前触发(key\_event\_t)。 | +| EVT\_KEY\_REPEAT | 按键repeat事件名(key\_event\_t)。 | +| EVT\_KEY\_UP | 键抬起事件名(key\_event\_t)。 | +| EVT\_KEY\_UP\_BEFORE\_CHILDREN | 键抬起事件名,在子控件处理之前触发(key\_event\_t)。 | +| EVT\_WILL\_MOVE | 即将移动Widget的事件名(event\_t)。 | +| EVT\_MOVE | 移动Widget的事件名(event\_t)。 | +| EVT\_WILL\_RESIZE | 即将调整Widget大小的事件名(event\_t)。 | +| EVT\_RESIZE | 调整Widget大小的事件名(event\_t)。 | +| EVT\_WILL\_MOVE\_RESIZE | 即将调整Widget大小/位置的事件名(event\_t)。 | +| EVT\_MOVE\_RESIZE | 调整Widget大小/位置的事件名(event\_t)。 | +| EVT\_VALUE\_WILL\_CHANGE | 控件的值即将改变的事件名(value\_change\_event\_t)。 | +| EVT\_VALUE\_CHANGED | 控件的值改变的事件名(value\_change\_event\_t)。 | +| EVT\_VALUE\_CHANGING | 控件的值持续改变(如编辑器正在编辑)的事件名(value\_change\_event\_t)。 | +| EVT\_PAINT | 绘制的事件名(paint\_event\_t)。 | +| EVT\_BEFORE\_PAINT | 即将绘制的事件名(paint\_event\_t)。 | +| EVT\_AFTER\_PAINT | 绘制完成的事件名(paint\_event\_t)。 | +| EVT\_PAINT\_DONE | 绘制完成(canvas状态已经恢复)的事件名(paint\_event\_t)。 | +| EVT\_LOCALE\_CHANGED | locale改变的事件(event\_t)。 | +| EVT\_ANIM\_START | 控件动画开始事件(event\_t)。 | +| EVT\_ANIM\_STOP | 控件动画被主动停止的事件(event\_t)。 | +| EVT\_ANIM\_PAUSE | 控件动画被暂停的事件(event\_t)。 | +| EVT\_ANIM\_ONCE | 控件动画yoyo/repeat时,完成一次的事件(event\_t)。 | +| EVT\_ANIM\_END | 控件动画完成事件(event\_t)。 | +| EVT\_WINDOW\_LOAD | 窗口加载完成事件(event\_t)。 | +| EVT\_WIDGET\_LOAD | 控件加载完成事件(event\_t)。 | +| EVT\_WINDOW\_WILL\_OPEN | 窗口即将打开事件(event\_t)。如果有窗口动画,在窗口动画开始前触发。如果没有窗口动画,在窗口被加载后的下一次循环中触发。 | +| EVT\_WINDOW\_OPEN | 窗口打开事件(event\_t)。如果有窗口动画,在窗口动画完成时触发。如果没有窗口动画,在窗口被加载后的下一次循环中触发。 | +| EVT\_WINDOW\_TO\_BACKGROUND | 窗口被切换到后台事件(event\_t)。打开新窗口时,当前窗口被切换到后台时,对当前窗口触发本事件。 | +| EVT\_WINDOW\_TO\_FOREGROUND | 窗口被切换到前台事件(event\_t)。关闭当前窗口时,前一个窗口被切换到前台时,对前一个窗口触发本事件。 | +| EVT\_WINDOW\_CLOSE | 窗口关闭事件。 | +| EVT\_REQUEST\_CLOSE\_WINDOW | 请求关闭窗口的事件(event\_t)。 | +| EVT\_TOP\_WINDOW\_CHANGED | 顶层窗口改变的事件(window\_event\_t)。 | +| EVT\_IM\_START | 输入法启动(event\_t)。 | +| EVT\_IM\_STOP | 输入法停止(event\_t)。 | +| EVT\_IM\_COMMIT | 输入法提交输入的文本事件(im\_commit\_event\_t)。 | +| EVT\_IM\_CLEAR | 清除编辑器内容(event\_t)。 | +| EVT\_IM\_CANCEL | 取消编辑,恢复之前的内容(event\_t)。 | +| EVT\_IM\_PREEDIT | 进入预编辑状态(event\_t)。 | +| EVT\_IM\_PREEDIT\_CONFIRM | 确认预编辑内容,退出预编辑状态(event\_t)。 | +| EVT\_IM\_PREEDIT\_ABORT | 删除预编辑内容,退出预编辑状态event\_t)。 | +| EVT\_IM\_SHOW\_CANDIDATES | 输入法请求显示候选字事件(im\_candidates\_event\_t)。 | +| EVT\_IM\_SHOW\_PRE\_CANDIDATES | 输入法请求显示预候选字事件(im\_candidates\_event\_t)。 | +| EVT\_IM\_LANG\_CHANGED | 输入法语言改变事件(event\_t)。 | +| EVT\_IM\_ACTION | 软键盘Action点击事件(event\_t)。 | +| EVT\_IM\_ACTION\_INFO | 请求更新软键盘上的Action按钮的信息(im\_action\_button\_info\_event\_t)。 | +| EVT\_DRAG\_START | 开始拖动(event\_t)。 | +| EVT\_DRAG | 拖动(event\_t)。 | +| EVT\_DRAG\_END | 结束拖动(event\_t)。 | +| EVT\_RESET | Reset(event\_t)。 | +| EVT\_SCREEN\_SAVER | 在指定的时间内,没有用户输入事件,由窗口管理器触发。 | +| EVT\_LOW\_MEMORY | 内存不足(event\_t)。 | +| EVT\_OUT\_OF\_MEMORY | 内存耗尽(event\_t)。 | +| EVT\_ORIENTATION\_WILL\_CHANGED | 屏幕即将旋转(event\_t)。 | +| EVT\_ORIENTATION\_CHANGED | 屏幕旋转(event\_t)。 | +| EVT\_WIDGET\_CREATED | 控件创建事件(event\_t)。 | +| EVT\_REQUEST\_QUIT\_APP | 请求退出应用程序事件。点击原生窗口关闭按钮时,通过窗口管理器触发,注册该事件并返回RET\_STOP,可以阻止窗口关闭。 | +| EVT\_THEME\_WILL\_CHANGE | 即将改变主题(event\_t)。 | +| EVT\_THEME\_CHANGED | 主题变化(event\_t)。 | +| EVT\_WIDGET\_ADD\_CHILD | 控件加载新的子控件(event\_t)。 | +| EVT\_WIDGET\_REMOVE\_CHILD | 控件移除子控件(event\_t)。 | +| EVT\_WIDGET\_WILL\_RESTACK\_CHILD | 控件即将调整子控件位置序数(event\_t)。在该事件的回调函数中返回RET\_STOP停止调整动作。 | +| EVT\_WIDGET\_RESTACK\_CHILD | 控件调整子控件位置序数(event\_t)。 | +| EVT\_SCROLL\_START | scroll view开始滚动(event\_t)。 | +| EVT\_SCROLL | scroll view滚动(event\_t)。 | +| EVT\_SCROLL\_END | scroll view结束滚动(event\_t)。 | +| EVT\_MULTI\_GESTURE | 多点触摸手势(multi\_gesture\_event\_t)。 | +| EVT\_PAGE\_CHANGED | 页面改变了(event\_t)。 | +| EVT\_PAGE\_CHANGING | 页面正在改变(offset\_change\_event\_t)。 | +| EVT\_ASSET\_MANAGER\_LOAD\_ASSET | 资源管理加载某个资源(assets\_event\_t)。 | +| EVT\_ASSET\_MANAGER\_UNLOAD\_ASSET | 资源管理卸载某个资源(assets\_event\_t)。 | +| EVT\_ASSET\_MANAGER\_CLEAR\_CACHE | 资源管理移除同种资源缓存(assets\_event\_t)。 | +| EVT\_TIMER | 定时器(event\_t)。 | +| EVT\_DATA | 数据到来(event\_t)。 | +| EVT\_CONNECT | 客户连接到来(event\_t)。 | +| EVT\_MODEL\_CHANGE | 模型变化。用于fscript实现窗口间通讯(model\_event\_t)。 | +| EVT\_SYSTEM | SDL系统事件(system\_event\_t)。 | +| EVT\_REQ\_START | event queue其它请求编号起始值。 | +| EVT\_USER\_START | 用户定义事件起始值。 | | EVT\_NONE | 无效事件名称。 | | EVT\_PROP\_WILL\_CHANGE | 对象的属性即将改变的事件名(prop\_change\_event\_t)。 | | EVT\_PROP\_CHANGED | 对象的属性改变的事件名(prop\_change\_event\_t)。 | diff --git a/docs/manual/file_browser_view_t.md b/docs/manual/file_browser_view_t.md index 146c0ce66..120d118bc 100644 --- a/docs/manual/file_browser_view_t.md +++ b/docs/manual/file_browser_view_t.md @@ -49,6 +49,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/ui/file_chooser_for_o | file\_browser\_view\_create\_file | 在当前文件夹创建文件。 | | file\_browser\_view\_get\_cwd | 获取当前路径。 | | file\_browser\_view\_get\_selected\_items | 返回当前选中的项目。 | +| file\_browser\_view\_get\_widget\_vtable | 获取 file_browser_view 虚表。 | | file\_browser\_view\_reload | 重新加载。 | | file\_browser\_view\_set\_filter | 设置 过滤规则。 | | file\_browser\_view\_set\_ignore\_hidden\_files | 设置 忽略隐藏文件。 | @@ -200,6 +201,24 @@ darray_t* file_browser_view_get_selected_items (widget_t* widget); | -------- | ----- | --------- | | 返回值 | darray\_t* | 返回当前选中的项目。 | | widget | widget\_t* | widget对象。 | +#### file\_browser\_view\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 file_browser_view 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* file_browser_view_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 file\_browser\_view 虚表。 | #### file\_browser\_view\_reload 函数 ----------------------- diff --git a/docs/manual/file_dialog_t.md b/docs/manual/file_dialog_t.md new file mode 100644 index 000000000..9c334b431 --- /dev/null +++ b/docs/manual/file_dialog_t.md @@ -0,0 +1,92 @@ +## file\_dialog\_t +### 概述 +文件对话框。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_choose\_file | 选择单个文件。 | +| tk\_choose\_file\_for\_save | 选择单个文件用于保存。 | +| tk\_choose\_files | 多选文件。 | +| tk\_choose\_folder | 选择单个目录。 | +#### tk\_choose\_file 函数 +----------------------- + +* 函数功能: + +>
选择单个文件。 + +* 函数原型: + +``` +char* tk_choose_file (const char* filters, const char* init_dir); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 返回NULL表示失败,返回非NULL为文件名,用完后请调用TKMEM\_FREE销毁。 | +| filters | const char* | 过滤规则(文件扩展名列表,如:".c.cpp.cxx")。 | +| init\_dir | const char* | 初始目录。 | +#### tk\_choose\_file\_for\_save 函数 +----------------------- + +* 函数功能: + +>
选择单个文件用于保存。 + +* 函数原型: + +``` +char* tk_choose_file_for_save (const char* filters, const char* init_dir); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 返回NULL表示失败,返回非NULL为文件名,用完后请调用TKMEM\_FREE销毁。 | +| filters | const char* | 过滤规则(文件扩展名列表,如:".c.cpp.cxx")。 | +| init\_dir | const char* | 初始目录。 | +#### tk\_choose\_files 函数 +----------------------- + +* 函数功能: + +>
多选文件。 + +* 函数原型: + +``` +darray_t* tk_choose_files (const char* filters, const char* init_dir); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | darray\_t* | 返回NULL表示失败,返回非NULL为文件名列表,用完后请调用darray\_destroy销毁。 | +| filters | const char* | 过滤规则(文件扩展名列表,如:".c.cpp.cxx")。 | +| init\_dir | const char* | 初始目录。 | +#### tk\_choose\_folder 函数 +----------------------- + +* 函数功能: + +>
选择单个目录。 + +* 函数原型: + +``` +char* tk_choose_folder (const char* init_dir); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 返回NULL表示失败,返回非NULL为文件名,用完后请调用TKMEM\_FREE销毁。 | +| init\_dir | const char* | 初始目录。 | diff --git a/docs/manual/font_loader_stb_t.md b/docs/manual/font_loader_stb_t.md index 66870c4da..7b68ac583 100644 --- a/docs/manual/font_loader_stb_t.md +++ b/docs/manual/font_loader_stb_t.md @@ -11,12 +11,12 @@ stb主要用于加载矢量字体(如truetype),它功能强大,体积小巧 | 函数名称 | 说明 | | -------- | ------------ | -| fargs\_get\_data\_and\_size | 从参数中获取数据和长度。 | | font\_loader\_stb | 获取stb字体加载器对象。 | | font\_loader\_stb\_mono | 获取stb mono字体加载器对象。 | | font\_stb\_create | 创建stb字体对象。 | | font\_stb\_mono\_create | 创建stb mono字体对象。 | | fscript\_app\_conf\_register | 注册app_conf函数。 | +| fscript\_array\_get\_fscript\_array\_vt | 获取 fscript array 的虚表。 | | fscript\_array\_register | 注册typed array函数。 | | fscript\_bits\_register | 注册数学函数。 | | fscript\_crc\_register | 注册crc16/crc32/cksum等函数。 | @@ -31,33 +31,6 @@ stb主要用于加载矢量字体(如truetype),它功能强大,体积小巧 | fscript\_istream\_register | 注册istream相关等函数。 | | fscript\_json\_register | 注册json函数。 | | fscript\_math\_register | 注册数学函数。 | -| fscript\_object\_register | 注册object函数。 | -| fscript\_ostream\_register | 注册ostream相关函数。 | -| fscript\_rbuffer\_register | 注册rbuffer相关函数。 | -| fscript\_typed\_array\_register | 注册typed array函数。 | -| fscript\_wbuffer\_register | 注册wbuffer相关函数。 | -| fscript\_widget\_register | 注册widget函数。 | -#### fargs\_get\_data\_and\_size 函数 ------------------------ - -* 函数功能: - ->
从参数中获取数据和长度。 - -* 函数原型: - -``` -ret_t fargs_get_data_and_size (fscript_args_t* args, const uint8_t** , uint32_t* ret_size); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| args | fscript\_args\_t* | 参数。 | -| | const uint8\_t** | 。 | -| ret\_size | uint32\_t* | 返回数据的长度。 | #### font\_loader\_stb 函数 ----------------------- @@ -154,6 +127,24 @@ ret_t fscript_app_conf_register (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_array\_get\_fscript\_array\_vt 函数 +----------------------- + +* 函数功能: + +>
获取 fscript array 的虚表。 + +* 函数原型: + +``` +ret_t fscript_array_get_fscript_array_vt (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 成功返回虚表指针,失败返回 NULL。 | #### fscript\_array\_register 函数 ----------------------- @@ -406,111 +397,3 @@ ret_t fscript_math_register (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_object\_register 函数 ------------------------ - -* 函数功能: - ->
注册object函数。 - -* 函数原型: - -``` -ret_t fscript_object_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_ostream\_register 函数 ------------------------ - -* 函数功能: - ->
注册ostream相关函数。 - -* 函数原型: - -``` -ret_t fscript_ostream_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_rbuffer\_register 函数 ------------------------ - -* 函数功能: - ->
注册rbuffer相关函数。 - -* 函数原型: - -``` -ret_t fscript_rbuffer_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_typed\_array\_register 函数 ------------------------ - -* 函数功能: - ->
注册typed array函数。 - -* 函数原型: - -``` -ret_t fscript_typed_array_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_wbuffer\_register 函数 ------------------------ - -* 函数功能: - ->
注册wbuffer相关函数。 - -* 函数原型: - -``` -ret_t fscript_wbuffer_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### fscript\_widget\_register 函数 ------------------------ - -* 函数功能: - ->
注册widget函数。 - -* 函数原型: - -``` -ret_t fscript_widget_register (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | diff --git a/docs/manual/font_manager_t.md b/docs/manual/font_manager_t.md index b0c1eb8f9..7607fb5be 100644 --- a/docs/manual/font_manager_t.md +++ b/docs/manual/font_manager_t.md @@ -1,5 +1,7 @@ ## font\_manager\_t ### 概述 +![image](images/font_manager_t_0.png) + 字体管理器,负责字体的加载和缓存管理。 (如果使用nanovg,字体由nanovg内部管理) ---------------------------------- @@ -18,6 +20,7 @@ | font\_manager\_lookup | 查找字体。 | | font\_manager\_set | 设置缺省的字体管理器。 | | font\_manager\_set\_assets\_manager | 设置资源管理器对象 | +| font\_manager\_set\_fallback\_get\_font | 设置一个函数,该函数在找不到字体时加载后补字体。 | | font\_manager\_shrink\_cache | 清除最久没有被使用的缓冲字模。 | | font\_manager\_unload\_all | 卸载全部字体。 | | font\_manager\_unload\_font | 卸载指定的字体。 | @@ -231,6 +234,27 @@ ret_t font_manager_set_assets_manager (font_manager_t* imm, assets_manager_t* as | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | font\_manager\_t* | 字体管理器对象。 | | assets\_manager | assets\_manager\_t* | 资源管理器。 | +#### font\_manager\_set\_fallback\_get\_font 函数 +----------------------- + +* 函数功能: + +>
设置一个函数,该函数在找不到字体时加载后补字体。 + +* 函数原型: + +``` +ret_t font_manager_set_fallback_get_font (font_manager_t* fm, font_manager_get_font_t fallback_get_font, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fm | font\_manager\_t* | font manager对象。 | +| fallback\_get\_font | font\_manager\_get\_font\_t | 回调函数。 | +| ctx | void* | 回调函数的上下文。 | #### font\_manager\_shrink\_cache 函数 ----------------------- diff --git a/docs/manual/font_managers_t.md b/docs/manual/font_managers_t.md new file mode 100644 index 000000000..b39518691 --- /dev/null +++ b/docs/manual/font_managers_t.md @@ -0,0 +1,69 @@ +## font\_managers\_t +### 概述 +在某些情况下,需要多个资源管理器。比如在手表系统里,每个应用或表盘,可能放在独立的资源包中, +此时优先加载应用自己的资源,如果没有就加载系统的资源。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| font\_managers\_ref | 获取指定小应用程序(applet)的字体管理器。 | +| font\_managers\_unload\_all | 卸载全部字体。 | +| font\_managers\_unref | 释放指定小应用程序(applet)的字体管理器。 | +#### font\_managers\_ref 函数 +----------------------- + +* 函数功能: + +>
获取指定小应用程序(applet)的字体管理器。 + +* 函数原型: + +``` +font_manager_t* font_managers_ref (const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | font\_manager\_t* | 返回asset manager对象。 | +| name | const char* | 小应用程序(applet)的名称。 | +#### font\_managers\_unload\_all 函数 +----------------------- + +* 函数功能: + +>
卸载全部字体。 + +* 函数原型: + +``` +ret_t font_managers_unload_all (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### font\_managers\_unref 函数 +----------------------- + +* 函数功能: + +>
释放指定小应用程序(applet)的字体管理器。 + +* 函数原型: + +``` +ret_t font_managers_unref (font_manager_t* imm); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| imm | font\_manager\_t* | 字体管理器对象。 | diff --git a/docs/manual/fs_t.md b/docs/manual/fs_t.md index 34fea6751..600366e00 100644 --- a/docs/manual/fs_t.md +++ b/docs/manual/fs_t.md @@ -17,10 +17,12 @@ | fs\_build\_user\_storage\_file\_name | 生成一个保存数据文件的完整路径的文件名。 | | fs\_change\_dir | 修改当前目录。 | | fs\_copy\_dir | 拷贝目录。 | +| fs\_copy\_dir\_ex | 拷贝目录。 | | fs\_copy\_file | 拷贝文件。 | | fs\_create\_dir | 创建目录。 | | fs\_create\_dir\_r | 递归创建目录。 | | fs\_dir\_exist | 判断目录是否存在。 | +| fs\_dir\_is\_empty | 判断目录是否为空。 | | fs\_dir\_rename | 目录重命名。 | | fs\_file\_exist | 判断文件是否存在。 | | fs\_file\_rename | 文件重命名。 | @@ -239,6 +241,28 @@ ret_t fs_copy_dir (fs_t* fs, const char* src, const char* dst); | fs | fs\_t* | 文件系统对象,一般赋值为os\_fs()。 | | src | const char* | 源目录。 | | dst | const char* | 目标目录。 | +#### fs\_copy\_dir\_ex 函数 +----------------------- + +* 函数功能: + +>
拷贝目录。 + +* 函数原型: + +``` +ret_t fs_copy_dir_ex (fs_t* fs, const char* src, const char* dst, bool_t overwrite); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fs | fs\_t* | 文件系统对象,一般赋值为os\_fs()。 | +| src | const char* | 源目录。 | +| dst | const char* | 目标目录。 | +| overwrite | bool\_t | 是否覆盖。 | #### fs\_copy\_file 函数 ----------------------- @@ -320,6 +344,26 @@ bool_t fs_dir_exist (fs_t* fs, const char* name); | 返回值 | bool\_t | 返回TRUE表示存在,否则表示不存在。 | | fs | fs\_t* | 文件系统对象,一般赋值为os\_fs()。 | | name | const char* | 目录名称。 | +#### fs\_dir\_is\_empty 函数 +----------------------- + +* 函数功能: + +>
判断目录是否为空。 + +* 函数原型: + +``` +bool_t fs_dir_is_empty (fs_t* fs, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示目录为空,否则表示目录不为空。 | +| fs | fs\_t* | 文件系统对象,一般赋值为os\_fs()。 | +| name | const char* | 目录名称。 | #### fs\_dir\_rename 函数 ----------------------- diff --git a/docs/manual/fscript_func_call_t.md b/docs/manual/fscript_func_call_t.md new file mode 100644 index 000000000..7ae5e92d2 --- /dev/null +++ b/docs/manual/fscript_func_call_t.md @@ -0,0 +1,206 @@ +## fscript\_func\_call\_t +### 概述 +函数描述。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| fscript\_ensure\_locals | export for debugger | +| fscript\_exec\_func\_default | 执行函数的默认实现。 | +| fscript\_find\_func | 查找函数。 | +| fscript\_get\_code\_id | 获取code_id。 | +| fscript\_set\_hooks | 设置回调函数。 | +| fscript\_set\_self\_hooks | 设置 fscript 对象的回调函数。 | +| fscript\_set\_var\_default | 设置变量的默认实现。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| ctx | void* | 函数需要的上下文。 | +| func | fscript\_func\_t | 函数指针。 | +| row | uint16\_t | 对应源代码行号。 | +| row | uint16\_t | 对应源代码列号。 | +#### fscript\_ensure\_locals 函数 +----------------------- + +* 函数功能: + +>
export for debugger + +* 函数原型: + +``` +ret_t fscript_ensure_locals (fscript_t* fscript); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +#### fscript\_exec\_func\_default 函数 +----------------------- + +* 函数功能: + +>
执行函数的默认实现。 + +* 函数原型: + +``` +ret_t fscript_exec_func_default (fscript_t* fscript, fscript_func_call_t* iter, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +| iter | fscript\_func\_call\_t* | 当前函数。 | +| result | value\_t* | 返回结果。 | +#### fscript\_find\_func 函数 +----------------------- + +* 函数功能: + +>
查找函数。 + +* 函数原型: + +``` +fscript_func_t fscript_find_func (fscript_t* fscript, const char* name, uint32_t size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | fscript\_func\_t | 返回函数指针,NULL表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +| name | const char* | 函数名。 | +| size | uint32\_t | 函数名长度。 | +#### fscript\_get\_code\_id 函数 +----------------------- + +* 函数功能: + +>
获取code_id。 + +* 函数原型: + +``` +char* fscript_get_code_id (const char* str); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 返回code\_id,有调用者释放返回的字符串。 | +| str | const char* | 代码。 | +#### fscript\_set\_hooks 函数 +----------------------- + +* 函数功能: + +>
设置回调函数。 + +* 函数原型: + +``` +ret_t fscript_set_hooks (const fscript_hooks_t* hooks); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| hooks | const fscript\_hooks\_t* | 回调函数。 | +#### fscript\_set\_self\_hooks 函数 +----------------------- + +* 函数功能: + +>
设置 fscript 对象的回调函数。 + +* 函数原型: + +``` +ret_t fscript_set_self_hooks (fscript_t* fscript, const fscript_hooks_t* hooks); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | fscript 对象。 | +| hooks | const fscript\_hooks\_t* | 回调函数。 | +#### fscript\_set\_var\_default 函数 +----------------------- + +* 函数功能: + +>
设置变量的默认实现。 + +* 函数原型: + +``` +ret_t fscript_set_var_default (fscript_t* fscript, const char* name, const value_t* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +| name | const char* | 变量名。 | +| value | const value\_t* | 值。 | +#### ctx 属性 +----------------------- +>
函数需要的上下文。 +>目前主要保持自定义函数的实现。 + +* 类型:void* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### func 属性 +----------------------- +>
函数指针。 + +* 类型:fscript\_func\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### row 属性 +----------------------- +>
对应源代码行号。 + +* 类型:uint16\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### row 属性 +----------------------- +>
对应源代码列号。 + +* 类型:uint16\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/fscript_function_def_t.md b/docs/manual/fscript_function_def_t.md new file mode 100644 index 000000000..27b08948a --- /dev/null +++ b/docs/manual/fscript_function_def_t.md @@ -0,0 +1,42 @@ +## fscript\_function\_def\_t +### 概述 +脚本函数定义。 +---------------------------------- +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| body | fscript\_func\_call\_t* | 函数体。 | +| name | char* | 函数名。 | +| params | darray\_t | 参数列表。 | +#### body 属性 +----------------------- +>
函数体。 + +* 类型:fscript\_func\_call\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### name 属性 +----------------------- +>
函数名。 + +* 类型:char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### params 属性 +----------------------- +>
参数列表。 + +* 类型:darray\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/fscript_module_t.md b/docs/manual/fscript_module_t.md new file mode 100644 index 000000000..f2ed07af1 --- /dev/null +++ b/docs/manual/fscript_module_t.md @@ -0,0 +1,206 @@ +## fscript\_module\_t +### 概述 +![image](images/fscript_module_t_0.png) + +用require加载外部模块。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| fargs\_get\_data\_and\_size | 从参数中获取数据和长度。 | +| fscript\_module\_cast | 转换为fscript_module对象。 | +| fscript\_module\_create | 创建对象。 | +| fscript\_module\_register | 注册module函数。 | +| fscript\_object\_register | 注册object函数。 | +| fscript\_ostream\_register | 注册ostream相关函数。 | +| fscript\_rbuffer\_register | 注册rbuffer相关函数。 | +| fscript\_typed\_array\_register | 注册typed array函数。 | +| fscript\_wbuffer\_register | 注册wbuffer相关函数。 | +| fscript\_widget\_register | 注册widget函数。 | +#### fargs\_get\_data\_and\_size 函数 +----------------------- + +* 函数功能: + +>
从参数中获取数据和长度。 + +* 函数原型: + +``` +ret_t fargs_get_data_and_size (fscript_args_t* args, const uint8_t** , uint32_t* ret_size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| args | fscript\_args\_t* | 参数。 | +| | const uint8\_t** | 。 | +| ret\_size | uint32\_t* | 返回数据的长度。 | +#### fscript\_module\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为fscript_module对象。 + +* 函数原型: + +``` +fscript_module_t* fscript_module_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | fscript\_module\_t* | fscript\_module对象。 | +| obj | tk\_object\_t* | fscript\_module对象。 | +#### fscript\_module\_create 函数 +----------------------- + +* 函数功能: + +>
创建对象。 + +* 函数原型: + +``` +tk_object_t* fscript_module_create (const char* url); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| url | const char* | URL(用于读取数据) | +#### fscript\_module\_register 函数 +----------------------- + +* 函数功能: + +>
注册module函数。 + +* 函数原型: + +``` +ret_t fscript_module_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_object\_register 函数 +----------------------- + +* 函数功能: + +>
注册object函数。 + +* 函数原型: + +``` +ret_t fscript_object_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_ostream\_register 函数 +----------------------- + +* 函数功能: + +>
注册ostream相关函数。 + +* 函数原型: + +``` +ret_t fscript_ostream_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_rbuffer\_register 函数 +----------------------- + +* 函数功能: + +>
注册rbuffer相关函数。 + +* 函数原型: + +``` +ret_t fscript_rbuffer_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_typed\_array\_register 函数 +----------------------- + +* 函数功能: + +>
注册typed array函数。 + +* 函数原型: + +``` +ret_t fscript_typed_array_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_wbuffer\_register 函数 +----------------------- + +* 函数功能: + +>
注册wbuffer相关函数。 + +* 函数原型: + +``` +ret_t fscript_wbuffer_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_widget\_register 函数 +----------------------- + +* 函数功能: + +>
注册widget函数。 + +* 函数原型: + +``` +ret_t fscript_widget_register (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | diff --git a/docs/manual/fscript_t.md b/docs/manual/fscript_t.md index dd590df0f..456f54602 100644 --- a/docs/manual/fscript_t.md +++ b/docs/manual/fscript_t.md @@ -8,15 +8,27 @@ | 函数名称 | 说明 | | -------- | ------------ | +| fscript\_clean | 使用lua或其它脚本来运行fscript时,本函数用于清理不必要的数据结构。 | | fscript\_create | 创建引擎对象,并解析代码。 | +| fscript\_create\_ex | 创建引擎对象,并解析代码。 | +| fscript\_deinit | 清除引擎对象的数据。 | | fscript\_destroy | 销毁引擎对象。 | | fscript\_eval | 执行一段脚本。 | | fscript\_exec | 执行解析后的代码。 | +| fscript\_get\_global\_object | 获取fscript的全局对象。 | | fscript\_global\_deinit | 全局释放。 | | fscript\_global\_init | 全局初始化。 | +| fscript\_init | 初始化引擎对象,并解析代码。 | +| fscript\_register\_const\_double | 注册浮点数常量。 | +| fscript\_register\_const\_int | 注册整数常量。 | +| fscript\_register\_const\_value | 注册常量。 | | fscript\_register\_func | 注册全局自定义函数。 | | fscript\_register\_funcs | 注册全局自定义函数。 | +| fscript\_reload | 重新加载代码。 | | fscript\_set\_error | 用于扩展函数设置遇到的错误。 | +| fscript\_set\_global\_object | 用于替换默认的全局对象。 | +| fscript\_set\_on\_error | 设置错误处理函数。 | +| fscript\_set\_print\_func | 设置打印日志的函数。 | | fscript\_syntax\_check | 解析代码,分析是否有语法错误。 | | tk\_expr\_eval | 对fscript的简单包装。 | ### 属性 @@ -24,9 +36,32 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | -| fast\_vars | value\_t* | 快速访问变量。在脚本可以用a/b/c/d来访问,需要优化时使用。 | -| obj | object\_t* | 脚本执行上下文。 | +| error\_code | ret\_t | 运行时错误码。 | +| error\_message | char* | 运行时错误信息。 | +| error\_row | int32\_t | 运行时错误的行号。 | +| error\_row | int32\_t | 运行时错误的列号。 | +| lines | uint16\_t | 代码总行数。 | +| obj | tk\_object\_t* | 脚本执行上下文。 | | str | str\_t | C语言实现函数可以使用这个变量,可以有效避免内存分配。 | +#### fscript\_clean 函数 +----------------------- + +* 函数功能: + +>
使用lua或其它脚本来运行fscript时,本函数用于清理不必要的数据结构。 + +* 函数原型: + +``` +ret_t fscript_clean (fscript_t* fscript); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | #### fscript\_create 函数 ----------------------- @@ -37,7 +72,7 @@ * 函数原型: ``` -fscript_t* fscript_create (object_t* obj, const char* script); +fscript_t* fscript_create (tk_object_t* obj, const char* script); ``` * 参数说明: @@ -45,8 +80,48 @@ fscript_t* fscript_create (object_t* obj, const char* script); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | fscript\_t* | 返回fscript对象。 | -| obj | object\_t* | 脚本执行上下文。 | +| obj | tk\_object\_t* | 脚本执行上下文。 | | script | const char* | 脚本代码。 | +#### fscript\_create\_ex 函数 +----------------------- + +* 函数功能: + +>
创建引擎对象,并解析代码。 + +* 函数原型: + +``` +fscript_t* fscript_create_ex (tk_object_t* obj, const char* script, bool_t keep_func_name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | fscript\_t* | 返回fscript对象。 | +| obj | tk\_object\_t* | 脚本执行上下文。 | +| script | const char* | 脚本代码。 | +| keep\_func\_name | bool\_t | 是否在func\_call结构后保存函数名。 | +#### fscript\_deinit 函数 +----------------------- + +* 函数功能: + +>
清除引擎对象的数据。 + +* 函数原型: + +``` +ret_t fscript_deinit (fscript_t* fscript); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | #### fscript\_destroy 函数 ----------------------- @@ -76,7 +151,7 @@ ret_t fscript_destroy (fscript_t* fscript); * 函数原型: ``` -ret_t fscript_eval (object_t* obj, const char* script, value_t* result); +ret_t fscript_eval (tk_object_t* obj, const char* script, value_t* result); ``` * 参数说明: @@ -84,7 +159,7 @@ ret_t fscript_eval (object_t* obj, const char* script, value_t* result); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 脚本执行上下文。 | +| obj | tk\_object\_t* | 脚本执行上下文。 | | script | const char* | 脚本代码。 | | result | value\_t* | 执行结果(调用者需要用value\_reset函数清除result)。 | #### fscript\_exec 函数 @@ -107,6 +182,24 @@ ret_t fscript_exec (fscript_t* fscript, value_t* result); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | fscript | fscript\_t* | 脚本引擎对象。 | | result | value\_t* | 执行结果(调用者需要用value\_reset函数清除result)。 | +#### fscript\_get\_global\_object 函数 +----------------------- + +* 函数功能: + +>
获取fscript的全局对象。 + +* 函数原型: + +``` +tk_object_t* fscript_get_global_object (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回fscript的全局对象。 | #### fscript\_global\_deinit 函数 ----------------------- @@ -143,6 +236,89 @@ ret_t fscript_global_init (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### fscript\_init 函数 +----------------------- + +* 函数功能: + +>
初始化引擎对象,并解析代码。 + +* 函数原型: + +``` +fscript_t* fscript_init (fscript_t* fscript, tk_object_t* obj, const char* script, const char* first_call_name, bool_t keep_func_name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | fscript\_t* | 返回fscript对象。 | +| fscript | fscript\_t* | 初始化 fscript 对象。 | +| obj | tk\_object\_t* | 脚本执行上下文。 | +| script | const char* | 脚本代码。 | +| first\_call\_name | const char* | 第一个函数的名字。 | +| keep\_func\_name | bool\_t | 是否在func\_call结构后保存函数名。 | +#### fscript\_register\_const\_double 函数 +----------------------- + +* 函数功能: + +>
注册浮点数常量。 + +* 函数原型: + +``` +ret_t fscript_register_const_double (const char* name, double value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| name | const char* | 常量名。 | +| value | double | 数据。 | +#### fscript\_register\_const\_int 函数 +----------------------- + +* 函数功能: + +>
注册整数常量。 + +* 函数原型: + +``` +ret_t fscript_register_const_int (const char* name, int value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| name | const char* | 常量名。 | +| value | int | 数据。 | +#### fscript\_register\_const\_value 函数 +----------------------- + +* 函数功能: + +>
注册常量。 + +* 函数原型: + +``` +ret_t fscript_register_const_value (const char* name, const value_t* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| name | const char* | 常量名。 | +| value | const value\_t* | 数据。 | #### fscript\_register\_func 函数 ----------------------- @@ -182,6 +358,26 @@ ret_t fscript_register_funcs (const general_factory_table_t* table); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | table | const general\_factory\_table\_t* | 函数表。 | +#### fscript\_reload 函数 +----------------------- + +* 函数功能: + +>
重新加载代码。 + +* 函数原型: + +``` +ret_t fscript_reload (fscript_t* fscript, const char* script); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +| script | const char* | 脚本代码。 | #### fscript\_set\_error 函数 ----------------------- @@ -204,6 +400,67 @@ ret_t fscript_set_error (fscript_t* fscript, ret_t code, const char* func, const | code | ret\_t | 错误码。 | | func | const char* | 函数名。 | | message | const char* | 错误消息。 | +#### fscript\_set\_global\_object 函数 +----------------------- + +* 函数功能: + +>
用于替换默认的全局对象。 +>仅限于在系统初始化时调用。 + +* 函数原型: + +``` +ret_t fscript_set_global_object (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | 全局对象。 | +#### fscript\_set\_on\_error 函数 +----------------------- + +* 函数功能: + +>
设置错误处理函数。 + +* 函数原型: + +``` +ret_t fscript_set_on_error (fscript_t* fscript, fscript_on_error_t on_error, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +| on\_error | fscript\_on\_error\_t | 错误处理函数。 | +| ctx | void* | 错误处理函数的上下文。 | +#### fscript\_set\_print\_func 函数 +----------------------- + +* 函数功能: + +>
设置打印日志的函数。 + +* 函数原型: + +``` +ret_t fscript_set_print_func (fscript_t* fscript, fscript_func_t print_func); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| fscript | fscript\_t* | 脚本引擎对象。 | +| print\_func | fscript\_func\_t | 打印日志的函数。 | #### fscript\_syntax\_check 函数 ----------------------- @@ -221,7 +478,7 @@ fscript_parser_error_deinit(&error); * 函数原型: ``` -ret_t fscript_syntax_check (object_t* obj, const char* script, fscript_parser_error_t* error); +ret_t fscript_syntax_check (tk_object_t* obj, const char* script, fscript_parser_error_t* error); ``` * 参数说明: @@ -229,7 +486,7 @@ ret_t fscript_syntax_check (object_t* obj, const char* script, fscript_parser_er | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 脚本执行上下文。 | +| obj | tk\_object\_t* | 脚本执行上下文。 | | script | const char* | 脚本代码。 | | error | fscript\_parser\_error\_t* | 用于返回错误信息。 | #### tk\_expr\_eval 函数 @@ -251,11 +508,51 @@ double tk_expr_eval (const char* expr); | -------- | ----- | --------- | | 返回值 | double | 返回表达式的值。 | | expr | const char* | 表达式。 | -#### fast\_vars 属性 +#### error\_code 属性 ----------------------- ->
快速访问变量。在脚本可以用a/b/c/d来访问,需要优化时使用。 +>
运行时错误码。 -* 类型:value\_t* +* 类型:ret\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### error\_message 属性 +----------------------- +>
运行时错误信息。 + +* 类型:char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### error\_row 属性 +----------------------- +>
运行时错误的行号。 + +* 类型:int32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### error\_row 属性 +----------------------- +>
运行时错误的列号。 + +* 类型:int32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### lines 属性 +----------------------- +>
代码总行数。 + +* 类型:uint16\_t | 特性 | 是否支持 | | -------- | ----- | @@ -265,7 +562,7 @@ double tk_expr_eval (const char* expr); ----------------------- >
脚本执行上下文。 -* 类型:object\_t* +* 类型:tk\_object\_t* | 特性 | 是否支持 | | -------- | ----- | diff --git a/docs/manual/func_call_parser_t.md b/docs/manual/func_call_parser_t.md index f81150793..7904fafb9 100644 --- a/docs/manual/func_call_parser_t.md +++ b/docs/manual/func_call_parser_t.md @@ -35,14 +35,14 @@ value = int | float | ID * 函数原型: ``` -object_t* func_call_parse (const char* str, uint32_t size); +tk_object_t* func_call_parse (const char* str, uint32_t size); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | str | const char* | 要解析的字符串。 | | size | uint32\_t | 字符串长度。 | #### func\_call\_parser\_deinit 函数 diff --git a/docs/manual/g2d_t.md b/docs/manual/g2d_t.md index f470a29ec..d57aa6725 100644 --- a/docs/manual/g2d_t.md +++ b/docs/manual/g2d_t.md @@ -8,9 +8,11 @@ | 函数名称 | 说明 | | -------- | ------------ | | g2d\_blend\_image | 把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放。 | +| g2d\_blend\_image\_rotate | 把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放以及旋转。 | | g2d\_copy\_image | 把图片指定的区域拷贝到framebuffer中。 | | g2d\_fill\_rect | 用颜色填充指定的区域。 | | g2d\_rotate\_image | 把图片指定的区域进行旋转并拷贝到framebuffer相应的区域,本函数主要用于辅助实现横屏和竖屏的切换,一般支持90度旋转即可。 | +| image\_rotate\_ex | 把图片指定的区域进行旋转。 | #### g2d\_blend\_image 函数 ----------------------- @@ -36,6 +38,30 @@ ret_t g2d_blend_image (bitmap_t* fb, bitmap_t* img, const rect_t* dst, const rec | dst | const rect\_t* | 目的区域。 | | src | const rect\_t* | 源区域。 | | global\_alpha | uint8\_t | 全局alpha。 | +#### g2d\_blend\_image\_rotate 函数 +----------------------- + +* 函数功能: + +>
把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放以及旋转。 + +* 函数原型: + +``` +ret_t g2d_blend_image_rotate (bitmap_t* dst, bitmap_t* src, const rectf_t* dst_r, const rectf_t* src_r, uint8_t global_alpha, lcd_orientation_t o); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败,返回失败则上层用软件实现。 | +| dst | bitmap\_t* | 目标图片对象。 | +| src | bitmap\_t* | 源图片对象。 | +| dst\_r | const rectf\_t* | 目的区域。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) | +| src\_r | const rectf\_t* | 源区域。 | +| global\_alpha | uint8\_t | 全局alpha。 | +| o | lcd\_orientation\_t | 旋转角度(一般支持90度即可,旋转方向为逆时针)。 | #### g2d\_copy\_image 函数 ----------------------- @@ -102,3 +128,27 @@ ret_t g2d_rotate_image (bitmap_t* fb, bitmap_t* img, const rect_t* src, lcd_orie | img | bitmap\_t* | 图片对象。 | | src | const rect\_t* | 要旋转并拷贝的区域。 | | o | lcd\_orientation\_t | 旋转角度(一般支持90度即可)。 | +#### image\_rotate\_ex 函数 +----------------------- + +* 函数功能: + +>
把图片指定的区域进行旋转。 + +* 函数原型: + +``` +ret_t image_rotate_ex (bitmap_t* dst, bitmap_t* src, const rect_t* src_r, xy_t dx, xy_t dy, lcd_orientation_t o); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败,返回失败则上层用软件实现。 | +| dst | bitmap\_t* | 目标图片对象。 | +| src | bitmap\_t* | 源图片对象。 | +| src\_r | const rect\_t* | 要旋转并拷贝的区域。 | +| dx | xy\_t | 目标位置的x坐标。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) | +| dy | xy\_t | 目标位置的y坐标。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) | +| o | lcd\_orientation\_t | 旋转角度(一般支持90度即可,旋转方向为逆时针)。 | diff --git a/docs/manual/gauge_pointer_t.md b/docs/manual/gauge_pointer_t.md index 803e32a3a..a66ecdd3f 100644 --- a/docs/manual/gauge_pointer_t.md +++ b/docs/manual/gauge_pointer_t.md @@ -35,6 +35,7 @@ gauge_pointer_set_image(gauge_pointer, "gauge_pointer"); | -------- | ------------ | | gauge\_pointer\_cast | 转换为gauge_pointer对象(供脚本语言使用)。 | | gauge\_pointer\_create | 创建gauge_pointer对象 | +| gauge\_pointer\_get\_widget\_vtable | 获取 gauge_pointer 虚表。 | | gauge\_pointer\_set\_anchor | 设置指针的旋转锚点。 | | gauge\_pointer\_set\_angle | 设置指针角度。12点钟方向为0度,顺时钟方向为正,单位为度。 | | gauge\_pointer\_set\_image | 设置指针的图片。 | @@ -96,6 +97,24 @@ widget_t* gauge_pointer_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### gauge\_pointer\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 gauge_pointer 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* gauge_pointer_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 gauge\_pointer 虚表。 | #### gauge\_pointer\_set\_anchor 函数 ----------------------- diff --git a/docs/manual/gauge_t.md b/docs/manual/gauge_t.md index dcc637f88..31a747da1 100644 --- a/docs/manual/gauge_t.md +++ b/docs/manual/gauge_t.md @@ -45,6 +45,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ------------ | | gauge\_cast | 转换为gauge对象(供脚本语言使用)。 | | gauge\_create | 创建gauge对象 | +| gauge\_get\_widget\_vtable | 获取 gauge 虚表。 | | gauge\_set\_draw\_type | 设置图片的显示方式。 | | gauge\_set\_image | 设置背景图片的名称。 | ### 属性 @@ -96,6 +97,24 @@ widget_t* gauge_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### gauge\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 gauge 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* gauge_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 gauge 虚表。 | #### gauge\_set\_draw\_type 函数 ----------------------- diff --git a/docs/manual/gif_image_t.md b/docs/manual/gif_image_t.md index 4bb90cf39..99a558142 100644 --- a/docs/manual/gif_image_t.md +++ b/docs/manual/gif_image_t.md @@ -53,14 +53,17 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml) | -------- | ------------ | | gif\_image\_cast | 转换为gif_image对象(供脚本语言使用)。 | | gif\_image\_create | 创建gif_image对象 | +| gif\_image\_get\_widget\_vtable | 获取 gif_image 虚表。 | | gif\_image\_pause | 暂停。 | | gif\_image\_play | 播放。 | +| gif\_image\_set\_loop | 设置循环播放次数。 | | gif\_image\_stop | 停止(并重置index为-1)。 | ### 属性
| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | +| loop | uint32\_t | 循环播放的次数。 | | running | bool\_t | 是否正在运行。 | #### gif\_image\_cast 函数 ----------------------- @@ -104,6 +107,24 @@ widget_t* gif_image_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### gif\_image\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 gif_image 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* gif_image_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 gif\_image 虚表。 | #### gif\_image\_pause 函数 ----------------------- @@ -142,6 +163,26 @@ ret_t gif_image_play (widget_t* widget); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | gif\_image对象。 | +#### gif\_image\_set\_loop 函数 +----------------------- + +* 函数功能: + +>
设置循环播放次数。 + +* 函数原型: + +``` +ret_t gif_image_set_loop (widget_t* widget, uint32_t loop); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| loop | uint32\_t | 循环播放次数。 | #### gif\_image\_stop 函数 ----------------------- @@ -161,6 +202,22 @@ ret_t gif_image_stop (widget_t* widget); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | gif\_image对象。 | +#### loop 属性 +----------------------- +>
循环播放的次数。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | #### running 属性 ----------------------- >
是否正在运行。 @@ -171,3 +228,6 @@ ret_t gif_image_stop (widget_t* widget); | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | diff --git a/docs/manual/global_t.md b/docs/manual/global_t.md index 6cfa13394..f284a35d9 100644 --- a/docs/manual/global_t.md +++ b/docs/manual/global_t.md @@ -11,6 +11,7 @@ TK全局对象。 | asset\_loader\_zip\_create | 创建zip资源加载器。 | | asset\_loader\_zip\_create\_with\_reader | 创建zip资源加载器。 | | tk\_deinit\_internal | deinit。 | +| tk\_enable\_fast\_lcd\_portrait | 设置是否开启快速旋转功能。(开启这个功能需要定义 WITH_FAST_LCD_PORTRAIT 宏) | | tk\_exit | public for web | | tk\_get\_pointer\_x | 获取全局指针的X坐标。 | | tk\_get\_pointer\_y | 获取全局指针的Y坐标。 | @@ -18,11 +19,11 @@ TK全局对象。 | tk\_init\_assets | 初始化资源。 | | tk\_init\_internal | init。 | | tk\_is\_pointer\_pressed | 获取全局指针是否按下。 | -| tk\_is\_ui\_thread | 判断当前线程是否是UI线程。 | +| tk\_pre\_init | 初始化基本功能。 | | tk\_quit | 退出TK事件主循环。 | | tk\_run | 进入TK事件主循环。 | | tk\_run\_in\_ui\_thread | 后台线程在UI线程执行指定的函数。 | -| tk\_set\_lcd\_orientation | 设置屏幕的旋转方向(XXX:目前仅支持0度和90度)。 | +| tk\_set\_lcd\_orientation | 设置屏幕的旋转方向(XXX:目前仅支持0度,90度,180度和270度,旋转方向为逆时针方向)。 | #### asset\_loader\_default\_create 函数 ----------------------- @@ -99,6 +100,26 @@ ret_t tk_deinit_internal (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### tk\_enable\_fast\_lcd\_portrait 函数 +----------------------- + +* 函数功能: + +>
设置是否开启快速旋转功能。(开启这个功能需要定义 WITH_FAST_LCD_PORTRAIT 宏) +备注:需要在 tk_set_lcd_orientation 函数之前调用 + +* 函数原型: + +``` +ret_t tk_enable_fast_lcd_portrait (bool_t enable); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| enable | bool\_t | 是否开启。 | #### tk\_exit 函数 ----------------------- @@ -231,24 +252,26 @@ bool_t tk_is_pointer_pressed (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bool\_t | 返回全局指针是否按下。 | -#### tk\_is\_ui\_thread 函数 +#### tk\_pre\_init 函数 ----------------------- * 函数功能: ->
判断当前线程是否是UI线程。 +>
初始化基本功能。 +> 在tk_init之前,应用程序可能需要加载配置文件, +> 为了保证这些功能正常工作,可以先调用tk_pre_init来初始化平台、内存和data reader等等。 * 函数原型: ``` -bool_t tk_is_ui_thread (); +ret_t tk_pre_init (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | bool\_t | 返回TRUE表示是,否则表示否。 | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | #### tk\_quit 函数 ----------------------- @@ -311,7 +334,7 @@ ret_t tk_run_in_ui_thread (tk_callback_t func, void* ctx, bool_t wait_until_done * 函数功能: ->
设置屏幕的旋转方向(XXX:目前仅支持0度和90度)。 +>
设置屏幕的旋转方向(XXX:目前仅支持0度,90度,180度和270度,旋转方向为逆时针方向)。 * 函数原型: diff --git a/docs/manual/glyph_format_t.md b/docs/manual/glyph_format_t.md index 822d80e83..5cbcfe488 100644 --- a/docs/manual/glyph_format_t.md +++ b/docs/manual/glyph_format_t.md @@ -9,3 +9,5 @@ | GLYPH\_FMT\_ALPHA | 每个像素占用1个字节(缺省)。 | | GLYPH\_FMT\_MONO | 每个像素占用1个比特。 | | GLYPH\_FMT\_RGBA | 每个像素占用4个字节。 | +| GLYPH\_FMT\_ALPHA2 | 每个像素占用2bit。 | +| GLYPH\_FMT\_ALPHA4 | 每个像素占用4bit。 | diff --git a/docs/manual/graphic_buffer_t.md b/docs/manual/graphic_buffer_t.md index 69ceafa83..37fb61cd9 100644 --- a/docs/manual/graphic_buffer_t.md +++ b/docs/manual/graphic_buffer_t.md @@ -11,6 +11,9 @@ graphic_buffer。 | graphic\_buffer\_create\_for\_bitmap | 为位图创建缓冲区。 | | graphic\_buffer\_create\_with\_data | 创建缓冲区。 | | graphic\_buffer\_destroy | 销毁缓冲区。 | +| graphic\_buffer\_get\_physical\_height | 获取 graphic_buffer 真实物理的的高度 | +| graphic\_buffer\_get\_physical\_line\_length | 获取 graphic_buffer 真实物理的的行长度 | +| graphic\_buffer\_get\_physical\_width | 获取 graphic_buffer 真实物理的的宽度 | | graphic\_buffer\_is\_valid\_for | 用于检查graphic buffer的有效性。 | | graphic\_buffer\_lock\_for\_read | 为读取数据而锁定缓冲区。 | | graphic\_buffer\_lock\_for\_write | 为修改数据而锁定缓冲区。 | @@ -99,6 +102,63 @@ ret_t graphic_buffer_destroy (graphic_buffer_t* buffer); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | buffer | graphic\_buffer\_t* | 图像缓冲区对象。 | +#### graphic\_buffer\_get\_physical\_height 函数 +----------------------- + +* 函数功能: + +>
获取 graphic_buffer 真实物理的的高度 + +* 函数原型: + +``` +uint32_t graphic_buffer_get_physical_height (graphic_buffer_t* buffer); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回高度。 | +| buffer | graphic\_buffer\_t* | 图像缓冲区对象。 | +#### graphic\_buffer\_get\_physical\_line\_length 函数 +----------------------- + +* 函数功能: + +>
获取 graphic_buffer 真实物理的的行长度 + +* 函数原型: + +``` +uint32_t graphic_buffer_get_physical_line_length (graphic_buffer_t* buffer); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回行长度。 | +| buffer | graphic\_buffer\_t* | 图像缓冲区对象。 | +#### graphic\_buffer\_get\_physical\_width 函数 +----------------------- + +* 函数功能: + +>
获取 graphic_buffer 真实物理的的宽度 + +* 函数原型: + +``` +uint32_t graphic_buffer_get_physical_width (graphic_buffer_t* buffer); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回宽度。 | +| buffer | graphic\_buffer\_t* | 图像缓冲区对象。 | #### graphic\_buffer\_is\_valid\_for 函数 ----------------------- diff --git a/docs/manual/grid_item_t.md b/docs/manual/grid_item_t.md index 48eab2c63..02232b8b2 100644 --- a/docs/manual/grid_item_t.md +++ b/docs/manual/grid_item_t.md @@ -45,6 +45,7 @@ grid\_item\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均 | -------- | ------------ | | grid\_item\_cast | 转换为grid_item对象(供脚本语言使用)。 | | grid\_item\_create | 创建grid_item对象 | +| grid\_item\_get\_widget\_vtable | 获取 grid_item 虚表。 | #### grid\_item\_cast 函数 ----------------------- @@ -87,3 +88,21 @@ widget_t* grid_item_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### grid\_item\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 grid_item 虚表。
+
+* 函数原型:
+
+```
+const widget_vtable_t* grid_item_get_widget_vtable ();
+```
+
+* 参数说明:
+
+| 参数 | 类型 | 说明 |
+| -------- | ----- | --------- |
+| 返回值 | const widget\_vtable\_t* | 成功返回 grid\_item 虚表。 |
diff --git a/docs/manual/grid_t.md b/docs/manual/grid_t.md
index 718c202a9..e0623b77a 100644
--- a/docs/manual/grid_t.md
+++ b/docs/manual/grid_t.md
@@ -2,31 +2,23 @@
### 概述
![image](images/grid_t_0.png)
-grid控件。一个简单的容器控件,用于网格排列一组控件。
-
-它本身不提供布局功能,仅提供具有语义的标签,让xml更具有可读性。
-子控件的布局可用layout\_children属性指定。
-请参考[布局参数](https://github.com/zlgopen/awtk/blob/master/docs/layout.md)。
-
-grid\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均适用于grid\_t控件。
-
-在xml中使用"grid"标签创建grid。如:
+网格。
+在xml中使用"grid"标签创建控件。如:
```xml
-
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| columns\_definition | char* | 各列的参数。 | +| rows | uint32\_t | 行数。 | +| show\_grid | bool\_t | 是否显示网格。 | #### grid\_cast 函数 ----------------------- @@ -72,9 +76,147 @@ widget_t* grid_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | widget\_t* | 对象。 | +| 返回值 | widget\_t* | grid对象。 | | parent | widget\_t* | 父控件 | | x | xy\_t | x坐标 | | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### grid\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 grid 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* grid_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 grid 虚表。 | +#### grid\_set\_columns\_definition 函数 +----------------------- + +* 函数功能: + +>
设置 各列的参数。 + +* 函数原型: + +``` +ret_t grid_set_columns_definition (widget_t* widget, const char* columns_definition); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| columns\_definition | const char* | 各列的参数。 | +#### grid\_set\_rows 函数 +----------------------- + +* 函数功能: + +>
设置 行数。 + +* 函数原型: + +``` +ret_t grid_set_rows (widget_t* widget, uint32_t rows); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| rows | uint32\_t | 行数。 | +#### grid\_set\_show\_grid 函数 +----------------------- + +* 函数功能: + +>
设置 是否显示网格。 + +* 函数原型: + +``` +ret_t grid_set_show_grid (widget_t* widget, bool_t show_grid); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| show\_grid | bool\_t | 是否显示网格。 | +#### columns\_definition 属性 +----------------------- +>
各列的参数。 +各列的参数之间用英文的分号(;)分隔,每列参数的格式为: + +col(w=?,left_margin=?,right_margin=?,top_maorgin=?,bottom_margin=?) + +* w 为列的宽度(必须存在)。取值在(0-1]区间时,视为grid控件宽度的比例,否则为像素宽度。 +(如果为负数,将计算结果加上控件的宽度) +* left_margin(可选,可缩写为l) 该列左边的边距。 +* right_margin(可选,可缩写为r) 该列右边的边距。 +* top_margin(可选,可缩写为t) 该列顶部的边距。 +* bottom_margin(可选,可缩写为b) 该列底部的边距。 +* margin(可选,可缩写为m) 同时指定上面4个边距。 +* fill_available(可选,可缩写为f) 填充剩余宽度(只有一列可以指定)。 + +* 类型:char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### rows 属性 +----------------------- +>
行数。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### show\_grid 属性 +----------------------- +>
是否显示网格。 + +* 类型:bool\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | diff --git a/docs/manual/group_box_t.md b/docs/manual/group_box_t.md index a64efc11e..a60523b85 100644 --- a/docs/manual/group_box_t.md +++ b/docs/manual/group_box_t.md @@ -37,6 +37,7 @@ group\_box\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均 | -------- | ------------ | | group\_box\_cast | 转换为group_box对象(供脚本语言使用)。 | | group\_box\_create | 创建group_box对象 | +| group\_box\_get\_widget\_vtable | 获取 group_box 虚表。 | #### group\_box\_cast 函数 ----------------------- @@ -79,3 +80,21 @@ widget_t* group_box_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### group\_box\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 group_box 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* group_box_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 group\_box 虚表。 | diff --git a/docs/manual/hscroll_label_t.md b/docs/manual/hscroll_label_t.md index 8f7e5087b..8efac7192 100644 --- a/docs/manual/hscroll_label_t.md +++ b/docs/manual/hscroll_label_t.md @@ -30,12 +30,15 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml) | -------- | ------------ | | hscroll\_label\_cast | 转换为hscroll_label对象(供脚本语言使用)。 | | hscroll\_label\_create | 创建hscroll_label对象 | +| hscroll\_label\_get\_widget\_vtable | 获取 hscroll_label 虚表。 | | hscroll\_label\_set\_duration | 设置duration。 | | hscroll\_label\_set\_ellipses | 设置ellipses。 | | hscroll\_label\_set\_loop | 设置loop。 | | hscroll\_label\_set\_lull | 设置lull。 | | hscroll\_label\_set\_only\_focus | 设置only_focus。 | | hscroll\_label\_set\_only\_parent\_focus | 设置only_parent_focus。 | +| hscroll\_label\_set\_speed | 设置speed(设置后 duration 不生效)。 | +| hscroll\_label\_set\_stop\_at\_begin | 设置stop_at_begin。 | | hscroll\_label\_set\_xoffset | 设置x偏移(一般无需用户调用)。。 | | hscroll\_label\_set\_yoyo | 设置yoyo。 | | hscroll\_label\_start | 启动(一般无需用户调用)。 | @@ -51,6 +54,8 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml) | lull | int32\_t | 滚动之间的间歇时间(ms),缺省3000ms。 | | only\_focus | bool\_t | 只有处于focus时才滚动(缺省否)。 | | only\_parent\_focus | bool\_t | 只有父控件处于focus时才滚动(缺省否)。 | +| speed | float\_t | 滚动速度(px/ms)(设置后 duration 不生效)。 | +| stop\_at\_begin | bool\_t | 滚动完毕后停在文本开头(缺省FALSE)。 | | text\_w | int32\_t | 文本的宽度。 | | xoffset | int32\_t | 偏移量。 | | yoyo | bool\_t | 是否往返滚动(缺省FALSE)。 | @@ -96,6 +101,24 @@ widget_t* hscroll_label_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### hscroll\_label\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 hscroll_label 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* hscroll_label_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 hscroll\_label 虚表。 | #### hscroll\_label\_set\_duration 函数 ----------------------- @@ -216,6 +239,46 @@ ret_t hscroll_label_set_only_parent_focus (widget_t* widget, bool_t only_parent_ | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | only\_parent\_focus | bool\_t | 是否只有处于focus时才滚动。 | +#### hscroll\_label\_set\_speed 函数 +----------------------- + +* 函数功能: + +>
设置speed(设置后 duration 不生效)。 + +* 函数原型: + +``` +ret_t hscroll_label_set_speed (widget_t* widget, float_t speed); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| speed | float\_t | 滚动速度(px/ms)。 | +#### hscroll\_label\_set\_stop\_at\_begin 函数 +----------------------- + +* 函数功能: + +>
设置stop_at_begin。 + +* 函数原型: + +``` +ret_t hscroll_label_set_stop_at_begin (widget_t* widget, bool_t stop_at_begin); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| stop\_at\_begin | bool\_t | 是否在滚动完毕后停在文本结尾。 | #### hscroll\_label\_set\_xoffset 函数 ----------------------- @@ -378,6 +441,37 @@ ret_t hscroll_label_stop (widget_t* widget); * 类型:bool\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### speed 属性 +----------------------- +>
滚动速度(px/ms)(设置后 duration 不生效)。 + +* 类型:float\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### stop\_at\_begin 属性 +----------------------- +>
滚动完毕后停在文本开头(缺省FALSE)。 +> 注:loop为FALSE时才可用。 + +* 类型:bool\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/idle_manager_t.md b/docs/manual/idle_manager_t.md index 42eec4e16..88c7d705d 100644 --- a/docs/manual/idle_manager_t.md +++ b/docs/manual/idle_manager_t.md @@ -9,16 +9,23 @@ idle_manager_t管理器。 | -------- | ------------ | | idle\_manager | 获取缺省的idle_manager_t管理器。 | | idle\_manager\_add | 添加idle。 | +| idle\_manager\_add\_with\_id | 添加 idle(可以指定 idle_id ,如果发现 idle_id 冲突则添加失败)。 | +| idle\_manager\_add\_with\_type | | +| idle\_manager\_add\_with\_type\_and\_id | | | idle\_manager\_append | 追加idle。 | | idle\_manager\_count | 返回idle的个数。 | | idle\_manager\_create | 创建idle_manager_t管理器。 | | idle\_manager\_deinit | 析构idle_manager_t管理器。 | | idle\_manager\_destroy | 析构并释放idle_manager_t管理器。 | +| idle\_manager\_dispatch | 检查全部idle的函数,如果时间到期,调用相应的idle函数。 | +| idle\_manager\_exist | | | idle\_manager\_find | 查找指定ID的idle。 | +| idle\_manager\_get\_next\_idle\_id | 获取下一个可用的 idle_id。 | | idle\_manager\_init | 初始化idle_manager_t管理器。 | | idle\_manager\_remove | 根据idle_id删除idle。 | | idle\_manager\_remove\_all | 删除全部idle。 | -| idle\_manager\_remove\_all | 根据上下文删除所有符合条件的idle。 | +| idle\_manager\_remove\_all\_by\_ctx | 根据上下文删除所有符合条件的idle。 | +| idle\_manager\_remove\_all\_by\_ctx\_and\_type | | | idle\_manager\_set | 设置缺省的idle_manager_t管理器。 | #### idle\_manager 函数 ----------------------- @@ -59,6 +66,28 @@ uint32_t idle_manager_add (idle_manager_t* idle_manager, idle_func_t* on_idle, v | idle\_manager | idle\_manager\_t* | idle\_manager\_t管理器对象。 | | on\_idle | idle\_func\_t* | idle回调函数。 | | ctx | void* | idle回调函数的上下文。 | +#### idle\_manager\_add\_with\_id 函数 +----------------------- + +* 函数功能: + +>
添加 idle(可以指定 idle_id ,如果发现 idle_id 冲突则添加失败)。 + +* 函数原型: + +``` +uint32_t idle_manager_add_with_id (idle_manager_t* idle_manager, uint32_t id, idle_func_t* on_idle, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回idle的ID,TK\_INVALID\_ID表示失败。 | +| idle\_manager | idle\_manager\_t* | idle\_manager\_t管理器对象。 | +| id | uint32\_t | idle\_id。 | +| on\_idle | idle\_func\_t* | idle回调函数。 | +| ctx | void* | idle回调函数的上下文。 | #### idle\_manager\_append 函数 ----------------------- @@ -154,6 +183,24 @@ ret_t idle_manager_destroy (idle_manager_t* idle_manager); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | idle\_manager | idle\_manager\_t* | idle\_manager\_t管理器对象。 | +#### idle\_manager\_dispatch 函数 +----------------------- + +* 函数功能: + +>
检查全部idle的函数,如果时间到期,调用相应的idle函数。 + +* 函数原型: + +``` +ret_t idle_manager_dispatch (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | #### idle\_manager\_find 函数 ----------------------- @@ -174,6 +221,25 @@ idle_info_t* idle_manager_find (idle_manager_t* idle_manager, uint32_t idle_id); | 返回值 | idle\_info\_t* | 返回idle的信息。 | | idle\_manager | idle\_manager\_t* | idle\_manager\_t管理器对象。 | | idle\_id | uint32\_t | idle\_id。 | +#### idle\_manager\_get\_next\_idle\_id 函数 +----------------------- + +* 函数功能: + +>
获取下一个可用的 idle_id。 + +* 函数原型: + +``` +uint32_t idle_manager_get_next_idle_id (idle_manager_t* idle_manager); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回idle的ID,TK\_INVALID\_ID表示失败。 | +| idle\_manager | idle\_manager\_t* | idle\_manager\_t管理器对象。 | #### idle\_manager\_init 函数 ----------------------- @@ -232,17 +298,17 @@ ret_t idle_manager_remove_all (idle_manager_t* idle_manager); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | idle\_manager | idle\_manager\_t* | idle\_manager\_t管理器对象。 | -#### idle\_manager\_remove\_all 函数 +#### idle\_manager\_remove\_all\_by\_ctx 函数 ----------------------- * 函数功能: ->
根据上下文删除所有符合条件的idle。 +>
根据上下文删除所有符合条件的idle。 * 函数原型: ``` -ret_t idle_manager_remove_all (idle_manager_t* idle_manager, void* ctx); +ret_t idle_manager_remove_all_by_ctx (idle_manager_t* idle_manager, void* ctx); ``` * 参数说明: diff --git a/docs/manual/image_animation_t.md b/docs/manual/image_animation_t.md index 8e76876b8..0bd5bc8e8 100644 --- a/docs/manual/image_animation_t.md +++ b/docs/manual/image_animation_t.md @@ -41,6 +41,7 @@ demo](https://github.com/zlgopen/awtk-c-demos/blob/master/demos/image_animation. | -------- | ------------ | | image\_animation\_cast | 转换为image_animation对象(供脚本语言使用)。 | | image\_animation\_create | 创建image_animation对象 | +| image\_animation\_get\_widget\_vtable | 获取 image_animation 虚表。 | | image\_animation\_is\_playing | 判断是否在播放。 | | image\_animation\_next | 手动切换到下一张图片。 | | image\_animation\_pause | 暂停。 | @@ -123,6 +124,24 @@ widget_t* image_animation_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### image\_animation\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 image_animation 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* image_animation_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 image\_animation 虚表。 | #### image\_animation\_is\_playing 函数 ----------------------- diff --git a/docs/manual/image_base_t.md b/docs/manual/image_base_t.md index 9bddc3a5d..d5fde9e2d 100644 --- a/docs/manual/image_base_t.md +++ b/docs/manual/image_base_t.md @@ -25,6 +25,7 @@ | 函数名称 | 说明 | | -------- | ------------ | | image\_base\_cast | 转换为image_base对象(供脚本语言使用)。 | +| image\_base\_get\_widget\_vtable | 获取 image_base 虚表。 | | image\_base\_set\_anchor | 设置控件的锚点(仅在WITH_VGCANVAS定义时生效)。 | | image\_base\_set\_clickable | 设置控件是否可以被点击。 | | image\_base\_set\_image | 设置控件的图片名称。 | @@ -71,6 +72,24 @@ widget_t* image_base_cast (widget_t* widget); | -------- | ----- | --------- | | 返回值 | widget\_t* | image\_base对象。 | | widget | widget\_t* | image\_base对象。 | +#### image\_base\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 image_base 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* image_base_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 image\_base 虚表。 | #### image\_base\_set\_anchor 函数 ----------------------- diff --git a/docs/manual/image_loader_stb_t.md b/docs/manual/image_loader_stb_t.md index 40297e3c8..298d2ed64 100644 --- a/docs/manual/image_loader_stb_t.md +++ b/docs/manual/image_loader_stb_t.md @@ -41,7 +41,7 @@ image_loader_t* image_loader_stb (); * 函数原型: ``` -ret_t stb_load_image (int32_t subtype, const uint8_t* buff, uint32_t buff_size, bitmap_t* image, bool_t require_bgra, bool_t enable_bgr565, bool_t enable_rgb565); +ret_t stb_load_image (int32_t subtype, const uint8_t* buff, uint32_t buff_size, bitmap_t* image, bitmap_format_t transparent_bitmap_format, bitmap_format_t opaque_bitmap_format, lcd_orientation_t o); ``` * 参数说明: @@ -53,6 +53,6 @@ ret_t stb_load_image (int32_t subtype, const uint8_t* buff, uint32_t buff_size, | buff | const uint8\_t* | 资源数据。 | | buff\_size | uint32\_t | 资源数据长度。 | | image | bitmap\_t* | image 对象。 | -| require\_bgra | bool\_t | require\_bgra | -| enable\_bgr565 | bool\_t | enable\_bgr565 | -| enable\_rgb565 | bool\_t | enable\_rgb565 | +| transparent\_bitmap\_format | bitmap\_format\_t | 带透明通道的位图格式(只能 BITMAP\_FMT\_RGBA8888 和 BITMAP\_FMT\_RGBA8888 二选一,其他类型默认都为 BITMAP\_FMT\_RGBA8888) | +| opaque\_bitmap\_format | bitmap\_format\_t | 不透明位图格式(暂时支持 BITMAP\_FMT\_RGBA8888,BITMAP\_FMT\_RGBA8888,16 位色和 24 位色以及 mono 格式) | +| o | lcd\_orientation\_t | 旋转方向 | diff --git a/docs/manual/image_manager_t.md b/docs/manual/image_manager_t.md index 605e6d068..63a1327c6 100644 --- a/docs/manual/image_manager_t.md +++ b/docs/manual/image_manager_t.md @@ -12,12 +12,14 @@ | image\_manager\_deinit | 析构图片管理器。 | | image\_manager\_destroy | 析构并释放图片管理器。 | | image\_manager\_get\_bitmap | 获取指定的图片。 | +| image\_manager\_has\_bitmap | 图片是否在图片管理中。 | | image\_manager\_init | 初始化图片管理器。 | | image\_manager\_preload | 预加载指定的图片。 | | image\_manager\_set | 设置缺省的图片管理器。 | | image\_manager\_set\_assets\_manager | 设置资源管理器对象。 | +| image\_manager\_set\_fallback\_get\_bitmap | 设置一个函数,该函数在找不到图片时加载后补图片。 | | image\_manager\_set\_max\_mem\_size\_of\_cached\_images | 设置图片缓存占用的最大内存。 | -| image\_manager\_unload\_all | 从图片管理器中卸载全部图片。 | +| image\_manager\_unload\_all | 卸载全部图片。 | | image\_manager\_unload\_bitmap | 从图片管理器中卸载指定的图片。 | | image\_manager\_unload\_unused | 从图片管理器中卸载指定时间内没有使用的图片。 | | image\_manager\_update\_specific | 更新缓存中图片的specific信息。 | @@ -122,6 +124,26 @@ ret_t image_manager_get_bitmap (image_manager_t* imm, char* name, bitmap_t* imag | imm | image\_manager\_t* | 图片管理器对象。 | | name | char* | 图片名称。 | | image | bitmap\_t* | 用于返回图片。 | +#### image\_manager\_has\_bitmap 函数 +----------------------- + +* 函数功能: + +>
图片是否在图片管理中。 + +* 函数原型: + +``` +bool_t image_manager_has_bitmap (image_manager_t* imm, bitmap_t* image); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示存在,否则表示不存在。 | +| imm | image\_manager\_t* | 图片管理器对象。 | +| image | bitmap\_t* | 图片。 | #### image\_manager\_init 函数 ----------------------- @@ -208,6 +230,27 @@ ret_t image_manager_set_assets_manager (image_manager_t* imm, assets_manager_t* | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | | assets\_manager | assets\_manager\_t* | 资源管理器。 | +#### image\_manager\_set\_fallback\_get\_bitmap 函数 +----------------------- + +* 函数功能: + +>
设置一个函数,该函数在找不到图片时加载后补图片。 + +* 函数原型: + +``` +ret_t image_manager_set_fallback_get_bitmap (image_manager_t* imm, image_manager_get_bitmap_t fallback_get_bitmap, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| imm | image\_manager\_t* | image manager对象。 | +| fallback\_get\_bitmap | image\_manager\_get\_bitmap\_t | 回调函数。 | +| ctx | void* | 回调函数的上下文。 | #### image\_manager\_set\_max\_mem\_size\_of\_cached\_images 函数 ----------------------- @@ -227,13 +270,13 @@ ret_t image_manager_set_max_mem_size_of_cached_images (image_manager_t* imm, uin | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | imm | image\_manager\_t* | 图片管理器对象。 | -| max\_mem\_size | uint32\_t | 最大缓存内存。 | +| max\_mem\_size | uint32\_t | 最大缓存内存(字节数)。 | #### image\_manager\_unload\_all 函数 ----------------------- * 函数功能: ->
从图片管理器中卸载全部图片。 +>
卸载全部图片。 * 函数原型: diff --git a/docs/manual/image_managers_t.md b/docs/manual/image_managers_t.md new file mode 100644 index 000000000..5b948611a --- /dev/null +++ b/docs/manual/image_managers_t.md @@ -0,0 +1,69 @@ +## image\_managers\_t +### 概述 +在某些情况下,需要多个资源管理器。比如在手表系统里,每个应用或表盘,可能放在独立的资源包中, +此时优先加载应用自己的资源,如果没有就加载系统的资源。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| image\_managers\_ref | 获取指定小应用程序(applet)的图片管理器。 | +| image\_managers\_unload\_all | 卸载全部图片。 | +| image\_managers\_unref | 释放指定小应用程序(applet)的图片管理器。 | +#### image\_managers\_ref 函数 +----------------------- + +* 函数功能: + +>
获取指定小应用程序(applet)的图片管理器。 + +* 函数原型: + +``` +image_manager_t* image_managers_ref (const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | image\_manager\_t* | 返回asset manager对象。 | +| name | const char* | 小应用程序(applet)的名称。 | +#### image\_managers\_unload\_all 函数 +----------------------- + +* 函数功能: + +>
卸载全部图片。 + +* 函数原型: + +``` +ret_t image_managers_unload_all (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### image\_managers\_unref 函数 +----------------------- + +* 函数功能: + +>
释放指定小应用程序(applet)的图片管理器。 + +* 函数原型: + +``` +ret_t image_managers_unref (image_manager_t* imm); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| imm | image\_manager\_t* | 图片管理器对象。 | diff --git a/docs/manual/image_t.md b/docs/manual/image_t.md index 96b67062b..a1b4abc6a 100644 --- a/docs/manual/image_t.md +++ b/docs/manual/image_t.md @@ -65,8 +65,10 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | 函数名称 | 说明 | | -------- | ------------ | +| icon\_create | 创建icon对象 | | image\_cast | 转换为image对象(供脚本语言使用)。 | | image\_create | 创建image对象 | +| image\_get\_widget\_vtable | 获取 image 虚表。 | | image\_set\_draw\_type | 设置图片的绘制方式。 | ### 属性
@@ -74,6 +76,29 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | draw\_type | image\_draw\_type\_t | 图片的绘制方式(仅在没有旋转和缩放时生效)。 | +#### icon\_create 函数 +----------------------- + +* 函数功能: + +>
创建icon对象 + +* 函数原型: + +``` +widget_t* icon_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | 对象。 | +| parent | widget\_t* | 父控件 | +| x | xy\_t | x坐标 | +| y | xy\_t | y坐标 | +| w | wh\_t | 宽度 | +| h | wh\_t | 高度 | #### image\_cast 函数 ----------------------- @@ -116,6 +141,24 @@ widget_t* image_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### image\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 image 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* image_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 image 虚表。 | #### image\_set\_draw\_type 函数 ----------------------- diff --git a/docs/manual/image_value_t.md b/docs/manual/image_value_t.md index cb3714083..f14e1ffbc 100644 --- a/docs/manual/image_value_t.md +++ b/docs/manual/image_value_t.md @@ -46,6 +46,7 @@ image_value_set_value(image_value, 100); | -------- | ------------ | | image\_value\_cast | 转换为image_value对象(供脚本语言使用)。 | | image\_value\_create | 创建image_value对象 | +| image\_value\_get\_widget\_vtable | 获取 image_value 虚表。 | | image\_value\_set\_click\_add\_delta | 设置点击时加上的增量。 | | image\_value\_set\_format | 设置格式。 | | image\_value\_set\_image | 设置图片前缀。 | @@ -112,6 +113,24 @@ widget_t* image_value_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### image\_value\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 image_value 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* image_value_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 image\_value 虚表。 | #### image\_value\_set\_click\_add\_delta 函数 ----------------------- diff --git a/docs/manual/images/app_bar_t_0.png b/docs/manual/images/app_bar_t_0.png index 7d92e0557..c195618b8 100644 Binary files a/docs/manual/images/app_bar_t_0.png and b/docs/manual/images/app_bar_t_0.png differ diff --git a/docs/manual/images/assets_event_t_0.png b/docs/manual/images/assets_event_t_0.png index 9aeac0d25..5a99d98c0 100644 Binary files a/docs/manual/images/assets_event_t_0.png and b/docs/manual/images/assets_event_t_0.png differ diff --git a/docs/manual/images/assets_manager_t_0.png b/docs/manual/images/assets_manager_t_0.png index 2cde475b1..127dca04a 100644 Binary files a/docs/manual/images/assets_manager_t_0.png and b/docs/manual/images/assets_manager_t_0.png differ diff --git a/docs/manual/images/button_group_t_0.png b/docs/manual/images/button_group_t_0.png index 056a53a29..2f44090b3 100644 Binary files a/docs/manual/images/button_group_t_0.png and b/docs/manual/images/button_group_t_0.png differ diff --git a/docs/manual/images/button_t_0.png b/docs/manual/images/button_t_0.png index e75e83a2d..606f34b81 100644 Binary files a/docs/manual/images/button_t_0.png and b/docs/manual/images/button_t_0.png differ diff --git a/docs/manual/images/calibration_win_t_0.png b/docs/manual/images/calibration_win_t_0.png index bdcc7fdbb..94b38cae9 100644 Binary files a/docs/manual/images/calibration_win_t_0.png and b/docs/manual/images/calibration_win_t_0.png differ diff --git a/docs/manual/images/candidates_t_0.png b/docs/manual/images/candidates_t_0.png index 5ce0313f2..21ed56e00 100644 Binary files a/docs/manual/images/candidates_t_0.png and b/docs/manual/images/candidates_t_0.png differ diff --git a/docs/manual/images/canvas_widget_t_0.png b/docs/manual/images/canvas_widget_t_0.png index 5aafa0ca0..8066eba37 100644 Binary files a/docs/manual/images/canvas_widget_t_0.png and b/docs/manual/images/canvas_widget_t_0.png differ diff --git a/docs/manual/images/check_button_t_0.png b/docs/manual/images/check_button_t_0.png index b38c22143..3b85f04b7 100644 Binary files a/docs/manual/images/check_button_t_0.png and b/docs/manual/images/check_button_t_0.png differ diff --git a/docs/manual/images/children_layouter_default_t_0.png b/docs/manual/images/children_layouter_default_t_0.png index c3cfca56f..74c247c8d 100644 Binary files a/docs/manual/images/children_layouter_default_t_0.png and b/docs/manual/images/children_layouter_default_t_0.png differ diff --git a/docs/manual/images/children_layouter_list_view_t_0.png b/docs/manual/images/children_layouter_list_view_t_0.png index 696904c7c..85f1ce104 100644 Binary files a/docs/manual/images/children_layouter_list_view_t_0.png and b/docs/manual/images/children_layouter_list_view_t_0.png differ diff --git a/docs/manual/images/clip_view_t_0.png b/docs/manual/images/clip_view_t_0.png index 20fae10a1..09b9ced9e 100644 Binary files a/docs/manual/images/clip_view_t_0.png and b/docs/manual/images/clip_view_t_0.png differ diff --git a/docs/manual/images/color_component_t_0.png b/docs/manual/images/color_component_t_0.png index 0e70fc4d7..393315e60 100644 Binary files a/docs/manual/images/color_component_t_0.png and b/docs/manual/images/color_component_t_0.png differ diff --git a/docs/manual/images/color_picker_t_0.png b/docs/manual/images/color_picker_t_0.png index 7661d766d..08ca87974 100644 Binary files a/docs/manual/images/color_picker_t_0.png and b/docs/manual/images/color_picker_t_0.png differ diff --git a/docs/manual/images/color_tile_t_0.png b/docs/manual/images/color_tile_t_0.png index 6690ad794..b05be24ac 100644 Binary files a/docs/manual/images/color_tile_t_0.png and b/docs/manual/images/color_tile_t_0.png differ diff --git a/docs/manual/images/column_t_0.png b/docs/manual/images/column_t_0.png index 2a4dc041a..e5d5199ba 100644 Binary files a/docs/manual/images/column_t_0.png and b/docs/manual/images/column_t_0.png differ diff --git a/docs/manual/images/combo_box_ex_t_0.png b/docs/manual/images/combo_box_ex_t_0.png index 2cea62cb6..15588ec50 100644 Binary files a/docs/manual/images/combo_box_ex_t_0.png and b/docs/manual/images/combo_box_ex_t_0.png differ diff --git a/docs/manual/images/combo_box_item_t_0.png b/docs/manual/images/combo_box_item_t_0.png index b34a516b1..09173fce3 100644 Binary files a/docs/manual/images/combo_box_item_t_0.png and b/docs/manual/images/combo_box_item_t_0.png differ diff --git a/docs/manual/images/combo_box_t_0.png b/docs/manual/images/combo_box_t_0.png index 20d9ebb82..876c3c8ed 100644 Binary files a/docs/manual/images/combo_box_t_0.png and b/docs/manual/images/combo_box_t_0.png differ diff --git a/docs/manual/images/conf_ini_t_0.png b/docs/manual/images/conf_ini_t_0.png index 178abdaf4..a86371dd1 100644 Binary files a/docs/manual/images/conf_ini_t_0.png and b/docs/manual/images/conf_ini_t_0.png differ diff --git a/docs/manual/images/conf_json_t_0.png b/docs/manual/images/conf_json_t_0.png index d5c2fbf1f..bd60e3132 100644 Binary files a/docs/manual/images/conf_json_t_0.png and b/docs/manual/images/conf_json_t_0.png differ diff --git a/docs/manual/images/conf_obj_t_0.png b/docs/manual/images/conf_obj_t_0.png index ac53bb7e2..c0e3a6f8f 100644 Binary files a/docs/manual/images/conf_obj_t_0.png and b/docs/manual/images/conf_obj_t_0.png differ diff --git a/docs/manual/images/conf_ubjson_t_0.png b/docs/manual/images/conf_ubjson_t_0.png index d28018d64..616b40b36 100644 Binary files a/docs/manual/images/conf_ubjson_t_0.png and b/docs/manual/images/conf_ubjson_t_0.png differ diff --git a/docs/manual/images/conf_xml_t_0.png b/docs/manual/images/conf_xml_t_0.png new file mode 100644 index 000000000..f7dc0877b Binary files /dev/null and b/docs/manual/images/conf_xml_t_0.png differ diff --git a/docs/manual/images/csv_file_object_t_0.png b/docs/manual/images/csv_file_object_t_0.png index bb171942d..af5d80fca 100644 Binary files a/docs/manual/images/csv_file_object_t_0.png and b/docs/manual/images/csv_file_object_t_0.png differ diff --git a/docs/manual/images/data_reader_asset_t_0.png b/docs/manual/images/data_reader_asset_t_0.png index 0e7fa3978..9a5c8f16c 100644 Binary files a/docs/manual/images/data_reader_asset_t_0.png and b/docs/manual/images/data_reader_asset_t_0.png differ diff --git a/docs/manual/images/debugger_breaked_event_t_0.png b/docs/manual/images/debugger_breaked_event_t_0.png new file mode 100644 index 000000000..18069458c Binary files /dev/null and b/docs/manual/images/debugger_breaked_event_t_0.png differ diff --git a/docs/manual/images/debugger_error_event_t_0.png b/docs/manual/images/debugger_error_event_t_0.png new file mode 100644 index 000000000..b6552ba1c Binary files /dev/null and b/docs/manual/images/debugger_error_event_t_0.png differ diff --git a/docs/manual/images/debugger_log_event_t_0.png b/docs/manual/images/debugger_log_event_t_0.png new file mode 100644 index 000000000..d74383237 Binary files /dev/null and b/docs/manual/images/debugger_log_event_t_0.png differ diff --git a/docs/manual/images/dialog_client_t_0.png b/docs/manual/images/dialog_client_t_0.png index be02d5b8e..374a7468c 100644 Binary files a/docs/manual/images/dialog_client_t_0.png and b/docs/manual/images/dialog_client_t_0.png differ diff --git a/docs/manual/images/dialog_t_0.png b/docs/manual/images/dialog_t_0.png index 4ac41e779..e332481c1 100644 Binary files a/docs/manual/images/dialog_t_0.png and b/docs/manual/images/dialog_t_0.png differ diff --git a/docs/manual/images/dialog_t_1.png b/docs/manual/images/dialog_t_1.png index 095ad47d4..a3722eaec 100644 Binary files a/docs/manual/images/dialog_t_1.png and b/docs/manual/images/dialog_t_1.png differ diff --git a/docs/manual/images/dialog_title_t_0.png b/docs/manual/images/dialog_title_t_0.png index fc4a8a82f..1538a7f74 100644 Binary files a/docs/manual/images/dialog_title_t_0.png and b/docs/manual/images/dialog_title_t_0.png differ diff --git a/docs/manual/images/digit_clock_t_0.png b/docs/manual/images/digit_clock_t_0.png index 55b33dbad..35b37b41d 100644 Binary files a/docs/manual/images/digit_clock_t_0.png and b/docs/manual/images/digit_clock_t_0.png differ diff --git a/docs/manual/images/draggable_t_0.png b/docs/manual/images/draggable_t_0.png index 4f6a1b34b..7791e1044 100644 Binary files a/docs/manual/images/draggable_t_0.png and b/docs/manual/images/draggable_t_0.png differ diff --git a/docs/manual/images/dragger_t_0.png b/docs/manual/images/dragger_t_0.png index 06de4788a..687a87426 100644 Binary files a/docs/manual/images/dragger_t_0.png and b/docs/manual/images/dragger_t_0.png differ diff --git a/docs/manual/images/edit_t_0.png b/docs/manual/images/edit_t_0.png index 0f0c77b5b..d9153c12a 100644 Binary files a/docs/manual/images/edit_t_0.png and b/docs/manual/images/edit_t_0.png differ diff --git a/docs/manual/images/event_source_fd_t_0.png b/docs/manual/images/event_source_fd_t_0.png index 0ec8a34d2..74bc65549 100644 Binary files a/docs/manual/images/event_source_fd_t_0.png and b/docs/manual/images/event_source_fd_t_0.png differ diff --git a/docs/manual/images/event_source_idle_t_0.png b/docs/manual/images/event_source_idle_t_0.png index f5c0f7b2f..db5346bbc 100644 Binary files a/docs/manual/images/event_source_idle_t_0.png and b/docs/manual/images/event_source_idle_t_0.png differ diff --git a/docs/manual/images/event_source_t_0.png b/docs/manual/images/event_source_t_0.png index c91b77e75..1e7af3a9d 100644 Binary files a/docs/manual/images/event_source_t_0.png and b/docs/manual/images/event_source_t_0.png differ diff --git a/docs/manual/images/event_source_timer_t_0.png b/docs/manual/images/event_source_timer_t_0.png index 46bf4ca77..52e79aa71 100644 Binary files a/docs/manual/images/event_source_timer_t_0.png and b/docs/manual/images/event_source_timer_t_0.png differ diff --git a/docs/manual/images/file_browser_view_t_0.png b/docs/manual/images/file_browser_view_t_0.png index 5e52a54aa..664492dbe 100644 Binary files a/docs/manual/images/file_browser_view_t_0.png and b/docs/manual/images/file_browser_view_t_0.png differ diff --git a/docs/manual/images/file_chooser_t_0.png b/docs/manual/images/file_chooser_t_0.png index b3c27dd3c..a4329adb3 100644 Binary files a/docs/manual/images/file_chooser_t_0.png and b/docs/manual/images/file_chooser_t_0.png differ diff --git a/docs/manual/images/font_loader_bitmap_t_0.png b/docs/manual/images/font_loader_bitmap_t_0.png index 803d94dad..e56358ad9 100644 Binary files a/docs/manual/images/font_loader_bitmap_t_0.png and b/docs/manual/images/font_loader_bitmap_t_0.png differ diff --git a/docs/manual/images/font_loader_ft_t_0.png b/docs/manual/images/font_loader_ft_t_0.png index 19a5149e0..b589cae28 100644 Binary files a/docs/manual/images/font_loader_ft_t_0.png and b/docs/manual/images/font_loader_ft_t_0.png differ diff --git a/docs/manual/images/font_loader_stb_t_0.png b/docs/manual/images/font_loader_stb_t_0.png index ffd6da56b..bd5342b67 100644 Binary files a/docs/manual/images/font_loader_stb_t_0.png and b/docs/manual/images/font_loader_stb_t_0.png differ diff --git a/docs/manual/images/font_manager_t_0.png b/docs/manual/images/font_manager_t_0.png new file mode 100644 index 000000000..7934fb596 Binary files /dev/null and b/docs/manual/images/font_manager_t_0.png differ diff --git a/docs/manual/images/fscript_module_t_0.png b/docs/manual/images/fscript_module_t_0.png new file mode 100644 index 000000000..9a0268931 Binary files /dev/null and b/docs/manual/images/fscript_module_t_0.png differ diff --git a/docs/manual/images/gauge_pointer_t_0.png b/docs/manual/images/gauge_pointer_t_0.png index d6a313468..e7c441885 100644 Binary files a/docs/manual/images/gauge_pointer_t_0.png and b/docs/manual/images/gauge_pointer_t_0.png differ diff --git a/docs/manual/images/gauge_t_0.png b/docs/manual/images/gauge_t_0.png index 7590a774d..58e5ad58e 100644 Binary files a/docs/manual/images/gauge_t_0.png and b/docs/manual/images/gauge_t_0.png differ diff --git a/docs/manual/images/gif_image_t_0.png b/docs/manual/images/gif_image_t_0.png index d7d2ccb6f..2a4a997ba 100644 Binary files a/docs/manual/images/gif_image_t_0.png and b/docs/manual/images/gif_image_t_0.png differ diff --git a/docs/manual/images/grid_item_t_0.png b/docs/manual/images/grid_item_t_0.png index d7ccba1ff..816072819 100644 Binary files a/docs/manual/images/grid_item_t_0.png and b/docs/manual/images/grid_item_t_0.png differ diff --git a/docs/manual/images/grid_t_0.png b/docs/manual/images/grid_t_0.png index 7065f8cbb..554d84554 100644 Binary files a/docs/manual/images/grid_t_0.png and b/docs/manual/images/grid_t_0.png differ diff --git a/docs/manual/images/group_box_t_0.png b/docs/manual/images/group_box_t_0.png index 0d501da35..e4b2a3027 100644 Binary files a/docs/manual/images/group_box_t_0.png and b/docs/manual/images/group_box_t_0.png differ diff --git a/docs/manual/images/hscroll_label_t_0.png b/docs/manual/images/hscroll_label_t_0.png index 902f5b29b..ec0106588 100644 Binary files a/docs/manual/images/hscroll_label_t_0.png and b/docs/manual/images/hscroll_label_t_0.png differ diff --git a/docs/manual/images/idle_info_t_0.png b/docs/manual/images/idle_info_t_0.png index e366db741..8dc71d515 100644 Binary files a/docs/manual/images/idle_info_t_0.png and b/docs/manual/images/idle_info_t_0.png differ diff --git a/docs/manual/images/im_action_button_info_event_t_0.png b/docs/manual/images/im_action_button_info_event_t_0.png index c4a0ed31a..a10c982c0 100644 Binary files a/docs/manual/images/im_action_button_info_event_t_0.png and b/docs/manual/images/im_action_button_info_event_t_0.png differ diff --git a/docs/manual/images/im_candidates_event_t_0.png b/docs/manual/images/im_candidates_event_t_0.png index abf1818f6..b54bc2a7e 100644 Binary files a/docs/manual/images/im_candidates_event_t_0.png and b/docs/manual/images/im_candidates_event_t_0.png differ diff --git a/docs/manual/images/im_commit_event_t_0.png b/docs/manual/images/im_commit_event_t_0.png index aec55100d..3c008d59e 100644 Binary files a/docs/manual/images/im_commit_event_t_0.png and b/docs/manual/images/im_commit_event_t_0.png differ diff --git a/docs/manual/images/image_animation_t_0.png b/docs/manual/images/image_animation_t_0.png index b26bd399d..7dbb40f3b 100644 Binary files a/docs/manual/images/image_animation_t_0.png and b/docs/manual/images/image_animation_t_0.png differ diff --git a/docs/manual/images/image_base_t_0.png b/docs/manual/images/image_base_t_0.png index fafacc16d..421d7d182 100644 Binary files a/docs/manual/images/image_base_t_0.png and b/docs/manual/images/image_base_t_0.png differ diff --git a/docs/manual/images/image_base_t_1.png b/docs/manual/images/image_base_t_1.png index f0e9c24a4..b5bba0dbd 100644 Binary files a/docs/manual/images/image_base_t_1.png and b/docs/manual/images/image_base_t_1.png differ diff --git a/docs/manual/images/image_loader_stb_t_0.png b/docs/manual/images/image_loader_stb_t_0.png index 1162540aa..e31d1e4c4 100644 Binary files a/docs/manual/images/image_loader_stb_t_0.png and b/docs/manual/images/image_loader_stb_t_0.png differ diff --git a/docs/manual/images/image_t_0.png b/docs/manual/images/image_t_0.png index e30085acc..2134ba85d 100644 Binary files a/docs/manual/images/image_t_0.png and b/docs/manual/images/image_t_0.png differ diff --git a/docs/manual/images/image_value_t_0.png b/docs/manual/images/image_value_t_0.png index d4bc48b01..8ca9b0bd1 100644 Binary files a/docs/manual/images/image_value_t_0.png and b/docs/manual/images/image_value_t_0.png differ diff --git a/docs/manual/images/input_engine_null_t_0.png b/docs/manual/images/input_engine_null_t_0.png index 5476f4516..d734ab427 100644 Binary files a/docs/manual/images/input_engine_null_t_0.png and b/docs/manual/images/input_engine_null_t_0.png differ diff --git a/docs/manual/images/input_engine_pinyin_t_0.png b/docs/manual/images/input_engine_pinyin_t_0.png index c86dd25a5..43ab7c38b 100644 Binary files a/docs/manual/images/input_engine_pinyin_t_0.png and b/docs/manual/images/input_engine_pinyin_t_0.png differ diff --git a/docs/manual/images/input_engine_t_0.png b/docs/manual/images/input_engine_t_0.png index 921a4140e..cf8f8e2b0 100644 Binary files a/docs/manual/images/input_engine_t_0.png and b/docs/manual/images/input_engine_t_0.png differ diff --git a/docs/manual/images/input_method_default_t_0.png b/docs/manual/images/input_method_default_t_0.png index f2f8f1436..36e78afaf 100644 Binary files a/docs/manual/images/input_method_default_t_0.png and b/docs/manual/images/input_method_default_t_0.png differ diff --git a/docs/manual/images/input_method_null_t_0.png b/docs/manual/images/input_method_null_t_0.png index 066d012f4..cb3801326 100644 Binary files a/docs/manual/images/input_method_null_t_0.png and b/docs/manual/images/input_method_null_t_0.png differ diff --git a/docs/manual/images/input_method_sdl_t_0.png b/docs/manual/images/input_method_sdl_t_0.png index e580d23e9..7e2809a54 100644 Binary files a/docs/manual/images/input_method_sdl_t_0.png and b/docs/manual/images/input_method_sdl_t_0.png differ diff --git a/docs/manual/images/input_method_t_0.png b/docs/manual/images/input_method_t_0.png index e2cea4657..f5789a15d 100644 Binary files a/docs/manual/images/input_method_t_0.png and b/docs/manual/images/input_method_t_0.png differ diff --git a/docs/manual/images/key_event_t_0.png b/docs/manual/images/key_event_t_0.png index 332b72a00..3aaa29603 100644 Binary files a/docs/manual/images/key_event_t_0.png and b/docs/manual/images/key_event_t_0.png differ diff --git a/docs/manual/images/keyboard_t_0.png b/docs/manual/images/keyboard_t_0.png index 157ec4bdd..d8ad41101 100644 Binary files a/docs/manual/images/keyboard_t_0.png and b/docs/manual/images/keyboard_t_0.png differ diff --git a/docs/manual/images/label_t_0.png b/docs/manual/images/label_t_0.png index 2f9949491..d0de619e0 100644 Binary files a/docs/manual/images/label_t_0.png and b/docs/manual/images/label_t_0.png differ diff --git a/docs/manual/images/lang_indicator_t_0.png b/docs/manual/images/lang_indicator_t_0.png index d7a4fb6b1..700450d27 100644 Binary files a/docs/manual/images/lang_indicator_t_0.png and b/docs/manual/images/lang_indicator_t_0.png differ diff --git a/docs/manual/images/lcd_mem_bgr565_t_0.png b/docs/manual/images/lcd_mem_bgr565_t_0.png index 158f017eb..019a0b766 100644 Binary files a/docs/manual/images/lcd_mem_bgr565_t_0.png and b/docs/manual/images/lcd_mem_bgr565_t_0.png differ diff --git a/docs/manual/images/lcd_mem_bgr888_t_0.png b/docs/manual/images/lcd_mem_bgr888_t_0.png index adcbb7321..91ddcc30f 100644 Binary files a/docs/manual/images/lcd_mem_bgr888_t_0.png and b/docs/manual/images/lcd_mem_bgr888_t_0.png differ diff --git a/docs/manual/images/lcd_mem_bgra8888_t_0.png b/docs/manual/images/lcd_mem_bgra8888_t_0.png index 7d680987c..e4db7a86d 100644 Binary files a/docs/manual/images/lcd_mem_bgra8888_t_0.png and b/docs/manual/images/lcd_mem_bgra8888_t_0.png differ diff --git a/docs/manual/images/lcd_mem_fragment_t_0.png b/docs/manual/images/lcd_mem_fragment_t_0.png index b71b42c41..bbfbd2708 100644 Binary files a/docs/manual/images/lcd_mem_fragment_t_0.png and b/docs/manual/images/lcd_mem_fragment_t_0.png differ diff --git a/docs/manual/images/lcd_mem_rgb565_t_0.png b/docs/manual/images/lcd_mem_rgb565_t_0.png index 7b91fdabf..e9aa3f813 100644 Binary files a/docs/manual/images/lcd_mem_rgb565_t_0.png and b/docs/manual/images/lcd_mem_rgb565_t_0.png differ diff --git a/docs/manual/images/lcd_mem_rgb888_t_0.png b/docs/manual/images/lcd_mem_rgb888_t_0.png index 67fdc84ed..984031e00 100644 Binary files a/docs/manual/images/lcd_mem_rgb888_t_0.png and b/docs/manual/images/lcd_mem_rgb888_t_0.png differ diff --git a/docs/manual/images/lcd_mem_rgba8888_t_0.png b/docs/manual/images/lcd_mem_rgba8888_t_0.png index d1f8ca7b5..eb85867ba 100644 Binary files a/docs/manual/images/lcd_mem_rgba8888_t_0.png and b/docs/manual/images/lcd_mem_rgba8888_t_0.png differ diff --git a/docs/manual/images/lcd_mem_special_t_0.png b/docs/manual/images/lcd_mem_special_t_0.png index 83b5a1865..13e5bf38a 100644 Binary files a/docs/manual/images/lcd_mem_special_t_0.png and b/docs/manual/images/lcd_mem_special_t_0.png differ diff --git a/docs/manual/images/lcd_mono_t_0.png b/docs/manual/images/lcd_mono_t_0.png index 9e2a32b4d..536a1d2b3 100644 Binary files a/docs/manual/images/lcd_mono_t_0.png and b/docs/manual/images/lcd_mono_t_0.png differ diff --git a/docs/manual/images/lcd_profile_t_0.png b/docs/manual/images/lcd_profile_t_0.png index 1baedccac..fda6aca1b 100644 Binary files a/docs/manual/images/lcd_profile_t_0.png and b/docs/manual/images/lcd_profile_t_0.png differ diff --git a/docs/manual/images/line_number_t_0.png b/docs/manual/images/line_number_t_0.png index 37b47285a..b2572bac6 100644 Binary files a/docs/manual/images/line_number_t_0.png and b/docs/manual/images/line_number_t_0.png differ diff --git a/docs/manual/images/list_item_seperator_t_0.png b/docs/manual/images/list_item_seperator_t_0.png new file mode 100644 index 000000000..fd706ea7b Binary files /dev/null and b/docs/manual/images/list_item_seperator_t_0.png differ diff --git a/docs/manual/images/list_item_t_0.png b/docs/manual/images/list_item_t_0.png index 5d8e2659f..dcdb1a2a6 100644 Binary files a/docs/manual/images/list_item_t_0.png and b/docs/manual/images/list_item_t_0.png differ diff --git a/docs/manual/images/list_view_h_t_0.png b/docs/manual/images/list_view_h_t_0.png index b239b2c93..e0c906d99 100644 Binary files a/docs/manual/images/list_view_h_t_0.png and b/docs/manual/images/list_view_h_t_0.png differ diff --git a/docs/manual/images/list_view_t_0.png b/docs/manual/images/list_view_t_0.png index b515bb4b4..d8cedeea2 100644 Binary files a/docs/manual/images/list_view_t_0.png and b/docs/manual/images/list_view_t_0.png differ diff --git a/docs/manual/images/mledit_t_0.png b/docs/manual/images/mledit_t_0.png index d8b6818e5..c7b65bc22 100644 Binary files a/docs/manual/images/mledit_t_0.png and b/docs/manual/images/mledit_t_0.png differ diff --git a/docs/manual/images/model_event_t_0.png b/docs/manual/images/model_event_t_0.png new file mode 100644 index 000000000..6ca1c0721 Binary files /dev/null and b/docs/manual/images/model_event_t_0.png differ diff --git a/docs/manual/images/multi_gesture_event_t_0.png b/docs/manual/images/multi_gesture_event_t_0.png index 6234b5034..904d2fabf 100644 Binary files a/docs/manual/images/multi_gesture_event_t_0.png and b/docs/manual/images/multi_gesture_event_t_0.png differ diff --git a/docs/manual/images/mutable_image_t_0.png b/docs/manual/images/mutable_image_t_0.png index cb92e0873..bc8311ef0 100644 Binary files a/docs/manual/images/mutable_image_t_0.png and b/docs/manual/images/mutable_image_t_0.png differ diff --git a/docs/manual/images/native_window_t_0.png b/docs/manual/images/native_window_t_0.png index 6c737fa21..d8818cdf2 100644 Binary files a/docs/manual/images/native_window_t_0.png and b/docs/manual/images/native_window_t_0.png differ diff --git a/docs/manual/images/object_array_t_0.png b/docs/manual/images/object_array_t_0.png index 19bd6d5c0..9c05f0a1c 100644 Binary files a/docs/manual/images/object_array_t_0.png and b/docs/manual/images/object_array_t_0.png differ diff --git a/docs/manual/images/object_compositor_t_0.png b/docs/manual/images/object_compositor_t_0.png index 71a9b48cc..d3187545d 100644 Binary files a/docs/manual/images/object_compositor_t_0.png and b/docs/manual/images/object_compositor_t_0.png differ diff --git a/docs/manual/images/object_date_time_t_0.png b/docs/manual/images/object_date_time_t_0.png index debafb567..b10961363 100644 Binary files a/docs/manual/images/object_date_time_t_0.png and b/docs/manual/images/object_date_time_t_0.png differ diff --git a/docs/manual/images/object_default_t_0.png b/docs/manual/images/object_default_t_0.png index 381fa2ce5..d87bff881 100644 Binary files a/docs/manual/images/object_default_t_0.png and b/docs/manual/images/object_default_t_0.png differ diff --git a/docs/manual/images/object_locker_t_0.png b/docs/manual/images/object_locker_t_0.png index 17e0457eb..f4f940c9f 100644 Binary files a/docs/manual/images/object_locker_t_0.png and b/docs/manual/images/object_locker_t_0.png differ diff --git a/docs/manual/images/object_rbuffer_t_0.png b/docs/manual/images/object_rbuffer_t_0.png index c0adf3a15..22804f37e 100644 Binary files a/docs/manual/images/object_rbuffer_t_0.png and b/docs/manual/images/object_rbuffer_t_0.png differ diff --git a/docs/manual/images/object_typed_array_t_0.png b/docs/manual/images/object_typed_array_t_0.png index 847fed17b..a6251b133 100644 Binary files a/docs/manual/images/object_typed_array_t_0.png and b/docs/manual/images/object_typed_array_t_0.png differ diff --git a/docs/manual/images/object_wbuffer_t_0.png b/docs/manual/images/object_wbuffer_t_0.png index e10c56e2a..b6c6b98e0 100644 Binary files a/docs/manual/images/object_wbuffer_t_0.png and b/docs/manual/images/object_wbuffer_t_0.png differ diff --git a/docs/manual/images/object_widget_t_0.png b/docs/manual/images/object_widget_t_0.png index 8713e20cb..213ded242 100644 Binary files a/docs/manual/images/object_widget_t_0.png and b/docs/manual/images/object_widget_t_0.png differ diff --git a/docs/manual/images/offset_change_event_t_0.png b/docs/manual/images/offset_change_event_t_0.png new file mode 100644 index 000000000..e030cc464 Binary files /dev/null and b/docs/manual/images/offset_change_event_t_0.png differ diff --git a/docs/manual/images/orientation_event_t_0.png b/docs/manual/images/orientation_event_t_0.png index b00aed554..4425ed41c 100644 Binary files a/docs/manual/images/orientation_event_t_0.png and b/docs/manual/images/orientation_event_t_0.png differ diff --git a/docs/manual/images/overlay_t_0.png b/docs/manual/images/overlay_t_0.png index 3f3a8c3d9..14d9f1161 100644 Binary files a/docs/manual/images/overlay_t_0.png and b/docs/manual/images/overlay_t_0.png differ diff --git a/docs/manual/images/pages_t_0.png b/docs/manual/images/pages_t_0.png index bba1b8262..0c64bd99a 100644 Binary files a/docs/manual/images/pages_t_0.png and b/docs/manual/images/pages_t_0.png differ diff --git a/docs/manual/images/paint_event_t_0.png b/docs/manual/images/paint_event_t_0.png index 73de66e66..333920490 100644 Binary files a/docs/manual/images/paint_event_t_0.png and b/docs/manual/images/paint_event_t_0.png differ diff --git a/docs/manual/images/pointer_event_t_0.png b/docs/manual/images/pointer_event_t_0.png index aa965d962..c82667d39 100644 Binary files a/docs/manual/images/pointer_event_t_0.png and b/docs/manual/images/pointer_event_t_0.png differ diff --git a/docs/manual/images/popup_t_0.png b/docs/manual/images/popup_t_0.png index 951ce8e57..6c5a71bd5 100644 Binary files a/docs/manual/images/popup_t_0.png and b/docs/manual/images/popup_t_0.png differ diff --git a/docs/manual/images/progress_bar_t_0.png b/docs/manual/images/progress_bar_t_0.png index 3d0ca8dd9..767422f14 100644 Binary files a/docs/manual/images/progress_bar_t_0.png and b/docs/manual/images/progress_bar_t_0.png differ diff --git a/docs/manual/images/progress_circle_t_0.png b/docs/manual/images/progress_circle_t_0.png index 802d56f1c..cdafac706 100644 Binary files a/docs/manual/images/progress_circle_t_0.png and b/docs/manual/images/progress_circle_t_0.png differ diff --git a/docs/manual/images/rich_text_t_0.png b/docs/manual/images/rich_text_t_0.png index 50f8b2f24..4cdbf9832 100644 Binary files a/docs/manual/images/rich_text_t_0.png and b/docs/manual/images/rich_text_t_0.png differ diff --git a/docs/manual/images/rich_text_view_t_0.png b/docs/manual/images/rich_text_view_t_0.png index 5552b55db..0a97c7722 100644 Binary files a/docs/manual/images/rich_text_view_t_0.png and b/docs/manual/images/rich_text_view_t_0.png differ diff --git a/docs/manual/images/row_t_0.png b/docs/manual/images/row_t_0.png index aa05ac6df..8e252860a 100644 Binary files a/docs/manual/images/row_t_0.png and b/docs/manual/images/row_t_0.png differ diff --git a/docs/manual/images/scroll_bar_t_0.png b/docs/manual/images/scroll_bar_t_0.png index 927018bb3..d8cf944ba 100644 Binary files a/docs/manual/images/scroll_bar_t_0.png and b/docs/manual/images/scroll_bar_t_0.png differ diff --git a/docs/manual/images/scroll_view_t_0.png b/docs/manual/images/scroll_view_t_0.png index 24fa9d4ef..5a6b28f27 100644 Binary files a/docs/manual/images/scroll_view_t_0.png and b/docs/manual/images/scroll_view_t_0.png differ diff --git a/docs/manual/images/self_layouter_default_t_0.png b/docs/manual/images/self_layouter_default_t_0.png index f255593d6..17722b677 100644 Binary files a/docs/manual/images/self_layouter_default_t_0.png and b/docs/manual/images/self_layouter_default_t_0.png differ diff --git a/docs/manual/images/self_layouter_menu_t_0.png b/docs/manual/images/self_layouter_menu_t_0.png index bf00346f9..f6ffcde4a 100644 Binary files a/docs/manual/images/self_layouter_menu_t_0.png and b/docs/manual/images/self_layouter_menu_t_0.png differ diff --git a/docs/manual/images/serial_widget_t_0.png b/docs/manual/images/serial_widget_t_0.png new file mode 100644 index 000000000..7355217ab Binary files /dev/null and b/docs/manual/images/serial_widget_t_0.png differ diff --git a/docs/manual/images/slide_indicator_t_0.png b/docs/manual/images/slide_indicator_t_0.png index 752d6f3ca..9e1092e30 100644 Binary files a/docs/manual/images/slide_indicator_t_0.png and b/docs/manual/images/slide_indicator_t_0.png differ diff --git a/docs/manual/images/slide_menu_t_0.png b/docs/manual/images/slide_menu_t_0.png index bdf78a79f..dab21a196 100644 Binary files a/docs/manual/images/slide_menu_t_0.png and b/docs/manual/images/slide_menu_t_0.png differ diff --git a/docs/manual/images/slide_view_t_0.png b/docs/manual/images/slide_view_t_0.png index 1294a292b..1fa8f3183 100644 Binary files a/docs/manual/images/slide_view_t_0.png and b/docs/manual/images/slide_view_t_0.png differ diff --git a/docs/manual/images/slider_t_0.png b/docs/manual/images/slider_t_0.png index cae8457d8..4092797bb 100644 Binary files a/docs/manual/images/slider_t_0.png and b/docs/manual/images/slider_t_0.png differ diff --git a/docs/manual/images/spin_box_t_0.png b/docs/manual/images/spin_box_t_0.png index d316f8cc4..7e3b23c87 100644 Binary files a/docs/manual/images/spin_box_t_0.png and b/docs/manual/images/spin_box_t_0.png differ diff --git a/docs/manual/images/style_const_t_0.png b/docs/manual/images/style_const_t_0.png index 3884a6b86..f43b1f2c2 100644 Binary files a/docs/manual/images/style_const_t_0.png and b/docs/manual/images/style_const_t_0.png differ diff --git a/docs/manual/images/style_mutable_t_0.png b/docs/manual/images/style_mutable_t_0.png index 82b2c987a..b9320959f 100644 Binary files a/docs/manual/images/style_mutable_t_0.png and b/docs/manual/images/style_mutable_t_0.png differ diff --git a/docs/manual/images/svg_image_t_0.png b/docs/manual/images/svg_image_t_0.png index 1c266d34a..e63dac6ff 100644 Binary files a/docs/manual/images/svg_image_t_0.png and b/docs/manual/images/svg_image_t_0.png differ diff --git a/docs/manual/images/switch_t_0.png b/docs/manual/images/switch_t_0.png index a428e6d5f..796669ecc 100644 Binary files a/docs/manual/images/switch_t_0.png and b/docs/manual/images/switch_t_0.png differ diff --git a/docs/manual/images/system_bar_t_0.png b/docs/manual/images/system_bar_t_0.png index 9341e6a2f..7424faa2f 100644 Binary files a/docs/manual/images/system_bar_t_0.png and b/docs/manual/images/system_bar_t_0.png differ diff --git a/docs/manual/images/system_event_t_0.png b/docs/manual/images/system_event_t_0.png new file mode 100644 index 000000000..0b69b5964 Binary files /dev/null and b/docs/manual/images/system_event_t_0.png differ diff --git a/docs/manual/images/system_info_t_0.png b/docs/manual/images/system_info_t_0.png index 7d6146e83..2d815424d 100644 Binary files a/docs/manual/images/system_info_t_0.png and b/docs/manual/images/system_info_t_0.png differ diff --git a/docs/manual/images/tab_button_group_t_0.png b/docs/manual/images/tab_button_group_t_0.png index 0b6e09972..04130a445 100644 Binary files a/docs/manual/images/tab_button_group_t_0.png and b/docs/manual/images/tab_button_group_t_0.png differ diff --git a/docs/manual/images/tab_button_t_0.png b/docs/manual/images/tab_button_t_0.png index 4a9b0b811..f711c9aee 100644 Binary files a/docs/manual/images/tab_button_t_0.png and b/docs/manual/images/tab_button_t_0.png differ diff --git a/docs/manual/images/tab_control_t_0.png b/docs/manual/images/tab_control_t_0.png index 2fe4ceca7..427c5ca2d 100644 Binary files a/docs/manual/images/tab_control_t_0.png and b/docs/manual/images/tab_control_t_0.png differ diff --git a/docs/manual/images/tab_control_t_1.png b/docs/manual/images/tab_control_t_1.png index b6e9dca13..b739c5ce1 100644 Binary files a/docs/manual/images/tab_control_t_1.png and b/docs/manual/images/tab_control_t_1.png differ diff --git a/docs/manual/images/text_selector_t_0.png b/docs/manual/images/text_selector_t_0.png index 73330cd54..0bd1d4fa3 100644 Binary files a/docs/manual/images/text_selector_t_0.png and b/docs/manual/images/text_selector_t_0.png differ diff --git a/docs/manual/images/theme_change_event_t_0.png b/docs/manual/images/theme_change_event_t_0.png new file mode 100644 index 000000000..3aeafa552 Binary files /dev/null and b/docs/manual/images/theme_change_event_t_0.png differ diff --git a/docs/manual/images/time_clock_t_0.png b/docs/manual/images/time_clock_t_0.png index 1c2ec5e02..f4c4692cf 100644 Binary files a/docs/manual/images/time_clock_t_0.png and b/docs/manual/images/time_clock_t_0.png differ diff --git a/docs/manual/images/timer_info_t_0.png b/docs/manual/images/timer_info_t_0.png index 039ab781e..6863a28c4 100644 Binary files a/docs/manual/images/timer_info_t_0.png and b/docs/manual/images/timer_info_t_0.png differ diff --git a/docs/manual/images/timer_widget_t_0.png b/docs/manual/images/timer_widget_t_0.png new file mode 100644 index 000000000..ec324ad4a Binary files /dev/null and b/docs/manual/images/timer_widget_t_0.png differ diff --git a/docs/manual/images/tk_iostream_stats_t_0.png b/docs/manual/images/tk_iostream_stats_t_0.png new file mode 100644 index 000000000..679efb58f Binary files /dev/null and b/docs/manual/images/tk_iostream_stats_t_0.png differ diff --git a/docs/manual/images/tk_iostream_t_0.png b/docs/manual/images/tk_iostream_t_0.png index edac91379..ff01c7bf5 100644 Binary files a/docs/manual/images/tk_iostream_t_0.png and b/docs/manual/images/tk_iostream_t_0.png differ diff --git a/docs/manual/images/tk_istream_stats_t_0.png b/docs/manual/images/tk_istream_stats_t_0.png new file mode 100644 index 000000000..0c5bd412d Binary files /dev/null and b/docs/manual/images/tk_istream_stats_t_0.png differ diff --git a/docs/manual/images/tk_istream_t_0.png b/docs/manual/images/tk_istream_t_0.png index d9b0c8325..509d1e9ae 100644 Binary files a/docs/manual/images/tk_istream_t_0.png and b/docs/manual/images/tk_istream_t_0.png differ diff --git a/docs/manual/images/tk_object_t_0.png b/docs/manual/images/tk_object_t_0.png new file mode 100644 index 000000000..6b90fb4f6 Binary files /dev/null and b/docs/manual/images/tk_object_t_0.png differ diff --git a/docs/manual/images/tk_ostream_stats_t_0.png b/docs/manual/images/tk_ostream_stats_t_0.png new file mode 100644 index 000000000..b6aa91318 Binary files /dev/null and b/docs/manual/images/tk_ostream_stats_t_0.png differ diff --git a/docs/manual/images/tk_ostream_t_0.png b/docs/manual/images/tk_ostream_t_0.png index 07c257ad6..747cc28cc 100644 Binary files a/docs/manual/images/tk_ostream_t_0.png and b/docs/manual/images/tk_ostream_t_0.png differ diff --git a/docs/manual/images/ui_binary_writer_t_0.png b/docs/manual/images/ui_binary_writer_t_0.png index 4be6cd8b8..4ea269179 100644 Binary files a/docs/manual/images/ui_binary_writer_t_0.png and b/docs/manual/images/ui_binary_writer_t_0.png differ diff --git a/docs/manual/images/ui_builder_default_t_0.png b/docs/manual/images/ui_builder_default_t_0.png index 3c4b4622d..43779eaef 100644 Binary files a/docs/manual/images/ui_builder_default_t_0.png and b/docs/manual/images/ui_builder_default_t_0.png differ diff --git a/docs/manual/images/ui_builder_t_0.png b/docs/manual/images/ui_builder_t_0.png index 8c0183069..10a75b866 100644 Binary files a/docs/manual/images/ui_builder_t_0.png and b/docs/manual/images/ui_builder_t_0.png differ diff --git a/docs/manual/images/ui_loader_default_t_0.png b/docs/manual/images/ui_loader_default_t_0.png index 99babd5b8..3f2098d19 100644 Binary files a/docs/manual/images/ui_loader_default_t_0.png and b/docs/manual/images/ui_loader_default_t_0.png differ diff --git a/docs/manual/images/ui_loader_t_0.png b/docs/manual/images/ui_loader_t_0.png index 0402a308a..278dc7299 100644 Binary files a/docs/manual/images/ui_loader_t_0.png and b/docs/manual/images/ui_loader_t_0.png differ diff --git a/docs/manual/images/ui_loader_xml_t_0.png b/docs/manual/images/ui_loader_xml_t_0.png index 40ee775a0..ae95c7d6d 100644 Binary files a/docs/manual/images/ui_loader_xml_t_0.png and b/docs/manual/images/ui_loader_xml_t_0.png differ diff --git a/docs/manual/images/ui_xml_writer_t_0.png b/docs/manual/images/ui_xml_writer_t_0.png index 8966178d2..036402ecd 100644 Binary files a/docs/manual/images/ui_xml_writer_t_0.png and b/docs/manual/images/ui_xml_writer_t_0.png differ diff --git a/docs/manual/images/value_change_event_t_0.png b/docs/manual/images/value_change_event_t_0.png index dad9a7a2e..f294e5b63 100644 Binary files a/docs/manual/images/value_change_event_t_0.png and b/docs/manual/images/value_change_event_t_0.png differ diff --git a/docs/manual/images/vgcanvas_t_0.png b/docs/manual/images/vgcanvas_t_0.png index 9b1639e9f..ceb7fe169 100644 Binary files a/docs/manual/images/vgcanvas_t_0.png and b/docs/manual/images/vgcanvas_t_0.png differ diff --git a/docs/manual/images/view_t_0.png b/docs/manual/images/view_t_0.png index 961f809b8..c14232edd 100644 Binary files a/docs/manual/images/view_t_0.png and b/docs/manual/images/view_t_0.png differ diff --git a/docs/manual/images/vpage_t_0.png b/docs/manual/images/vpage_t_0.png index 2f61759cb..74d8aa133 100644 Binary files a/docs/manual/images/vpage_t_0.png and b/docs/manual/images/vpage_t_0.png differ diff --git a/docs/manual/images/wheel_event_t_0.png b/docs/manual/images/wheel_event_t_0.png index 808c6c0a1..307757f07 100644 Binary files a/docs/manual/images/wheel_event_t_0.png and b/docs/manual/images/wheel_event_t_0.png differ diff --git a/docs/manual/images/widget_factory_t_0.png b/docs/manual/images/widget_factory_t_0.png index 2a9eda81d..0ca2c7104 100644 Binary files a/docs/manual/images/widget_factory_t_0.png and b/docs/manual/images/widget_factory_t_0.png differ diff --git a/docs/manual/images/widget_t_0.png b/docs/manual/images/widget_t_0.png index 75c99de35..430fb734e 100644 Binary files a/docs/manual/images/widget_t_0.png and b/docs/manual/images/widget_t_0.png differ diff --git a/docs/manual/images/widget_t_1.png b/docs/manual/images/widget_t_1.png index 29be59404..b2d49a22a 100644 Binary files a/docs/manual/images/widget_t_1.png and b/docs/manual/images/widget_t_1.png differ diff --git a/docs/manual/images/widget_t_2.png b/docs/manual/images/widget_t_2.png index 43c30acd8..6a1648601 100644 Binary files a/docs/manual/images/widget_t_2.png and b/docs/manual/images/widget_t_2.png differ diff --git a/docs/manual/images/window_base_t_0.png b/docs/manual/images/window_base_t_0.png index bd31c6e37..e9e3381f1 100644 Binary files a/docs/manual/images/window_base_t_0.png and b/docs/manual/images/window_base_t_0.png differ diff --git a/docs/manual/images/window_base_t_1.png b/docs/manual/images/window_base_t_1.png index 12999e4e8..2771d26ac 100644 Binary files a/docs/manual/images/window_base_t_1.png and b/docs/manual/images/window_base_t_1.png differ diff --git a/docs/manual/images/window_event_t_0.png b/docs/manual/images/window_event_t_0.png index e87fd531d..eca2c9f41 100644 Binary files a/docs/manual/images/window_event_t_0.png and b/docs/manual/images/window_event_t_0.png differ diff --git a/docs/manual/images/window_manager_default_t_0.png b/docs/manual/images/window_manager_default_t_0.png index 296f5b5cf..c5bf15f1c 100644 Binary files a/docs/manual/images/window_manager_default_t_0.png and b/docs/manual/images/window_manager_default_t_0.png differ diff --git a/docs/manual/images/window_manager_simple_t_0.png b/docs/manual/images/window_manager_simple_t_0.png index 57ba1bef1..df33ceda6 100644 Binary files a/docs/manual/images/window_manager_simple_t_0.png and b/docs/manual/images/window_manager_simple_t_0.png differ diff --git a/docs/manual/images/window_manager_t_0.png b/docs/manual/images/window_manager_t_0.png index c86a1d2da..6dc268c02 100644 Binary files a/docs/manual/images/window_manager_t_0.png and b/docs/manual/images/window_manager_t_0.png differ diff --git a/docs/manual/images/window_t_0.png b/docs/manual/images/window_t_0.png index dc509ac5f..5fb8c33ce 100644 Binary files a/docs/manual/images/window_t_0.png and b/docs/manual/images/window_t_0.png differ diff --git a/docs/manual/input_method_t.md b/docs/manual/input_method_t.md index 3c0dc6dd9..7dbb61365 100644 --- a/docs/manual/input_method_t.md +++ b/docs/manual/input_method_t.md @@ -49,7 +49,7 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | action\_button\_enable | bool\_t | 软键盘的上的action按钮是否可用。 | -| action\_button\_enable | bool\_t | 软键盘的上的action按钮文本。 | +| action\_button\_text | char* | 软键盘的上的action按钮文本。 | | is\_native | bool\_t | 是否是原生输入法。 | | keyboard\_name | char* | 软键盘资源名称。 | #### input\_method 函数 @@ -526,11 +526,11 @@ ret_t input_method_update_action_button_info (input_method_t* im, char* text, bo | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | -#### action\_button\_enable 属性 +#### action\_button\_text 属性 ----------------------- ->
获取 keyboard 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* keyboard_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 keyboard 虚表。 | diff --git a/docs/manual/label_t.md b/docs/manual/label_t.md index 3b4263d4f..22fde2294 100644 --- a/docs/manual/label_t.md +++ b/docs/manual/label_t.md @@ -50,6 +50,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L1 | -------- | ------------ | | label\_cast | 转换为label对象(供脚本语言使用)。 | | label\_create | 创建label对象 | +| label\_get\_widget\_vtable | 获取 label 虚表。 | | label\_resize\_to\_content | 根据文本内容调节控件大小。 | | label\_set\_length | 设置显示字符的个数(小余0时全部显示)。 | | label\_set\_line\_wrap | 设置是否自动换行。 | @@ -106,6 +107,24 @@ widget_t* label_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### label\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 label 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* label_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 label 虚表。 | #### label\_resize\_to\_content 函数 ----------------------- diff --git a/docs/manual/lcd_fb_dirty_rects_t.md b/docs/manual/lcd_fb_dirty_rects_t.md index 909dcb1b0..1bc89f4c0 100644 --- a/docs/manual/lcd_fb_dirty_rects_t.md +++ b/docs/manual/lcd_fb_dirty_rects_t.md @@ -13,6 +13,7 @@ lcd fb脏矩形。 | lcd\_fb\_dirty\_rects\_init | 初始化 lcd_fb_dirty_rects_t 对象 | | lcd\_fb\_dirty\_rects\_reinit | 修改 lcd_fb_dirty_rects_t 对象的宽高 | | lcd\_fb\_dirty\_rects\_reset\_dirty\_rects\_by\_fb | 清除对应 fb 的脏矩形列表。 | +| lcd\_fb\_dirty\_rects\_update\_all\_fb\_dirty\_rect | 把当前脏矩形合并到所有 fb 的脏矩形中。 | | lcd\_fb\_dirty\_rects\_update\_all\_fb\_dirty\_rects | 把当前脏矩形列表合并到所有 fb 的脏矩形中。 | #### lcd\_fb\_dirty\_rects\_add\_fb\_info 函数 ----------------------- @@ -136,6 +137,26 @@ ret_t lcd_fb_dirty_rects_reset_dirty_rects_by_fb (lcd_fb_dirty_rects_t* lcd_fb_d | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | lcd\_fb\_dirty\_rects | lcd\_fb\_dirty\_rects\_t* | lcd\_fb\_dirty\_rects\_t对象。 | | fb | uint8\_t* | fb 地址。 | +#### lcd\_fb\_dirty\_rects\_update\_all\_fb\_dirty\_rect 函数 +----------------------- + +* 函数功能: + +>
把当前脏矩形合并到所有 fb 的脏矩形中。 + +* 函数原型: + +``` +ret_t lcd_fb_dirty_rects_update_all_fb_dirty_rect (lcd_fb_dirty_rects_t* lcd_fb_dirty_rects, const rect_t* dirty_rect); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| lcd\_fb\_dirty\_rects | lcd\_fb\_dirty\_rects\_t* | lcd\_fb\_dirty\_rects\_t对象。 | +| dirty\_rect | const rect\_t* | 当前脏矩形。 | #### lcd\_fb\_dirty\_rects\_update\_all\_fb\_dirty\_rects 函数 ----------------------- diff --git a/docs/manual/lcd_t.md b/docs/manual/lcd_t.md index dbd7d7d3d..6e8c1ce1a 100644 --- a/docs/manual/lcd_t.md +++ b/docs/manual/lcd_t.md @@ -22,8 +22,10 @@ | lcd\_get\_clip\_rect | 获取裁剪区域。 | | lcd\_get\_desired\_bitmap\_format | 获取期望的位图格式。绘制期望的位图格式可以提高绘制性能。 | | lcd\_get\_dirty\_rect | 获取 lcd 对象的脏矩形。 | -| lcd\_get\_dirty\_rect | 获取 lcd 对象的脏矩形列表。 | +| lcd\_get\_dirty\_rects | 获取 lcd 对象的脏矩形列表。 | | lcd\_get\_height | 获取高度。 | +| lcd\_get\_physical\_height | 获取真实物理高度。 | +| lcd\_get\_physical\_width | 获取真实物理宽度。 | | lcd\_get\_point\_color | 获取指定点的颜色,对于基于非FrameBuffer的LCD,返回当前的fill_color。 | | lcd\_get\_text\_metrics | 获取当前字体的度量信息。 | | lcd\_get\_type | 获取 lcd 类型。 | @@ -378,17 +380,17 @@ ret_t lcd_get_dirty_rect (lcd_t* lcd, rect_t* r); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | lcd | lcd\_t* | lcd对象。 | | r | rect\_t* | 返回脏矩形。 | -#### lcd\_get\_dirty\_rect 函数 +#### lcd\_get\_dirty\_rects 函数 ----------------------- * 函数功能: ->
获取 lcd 对象的脏矩形列表。 +>
获取 lcd 对象的脏矩形列表。 * 函数原型: ``` -const dirty_rects_t* lcd_get_dirty_rect (lcd_t* lcd); +const dirty_rects_t* lcd_get_dirty_rects (lcd_t* lcd); ``` * 参数说明: @@ -416,6 +418,44 @@ wh_t lcd_get_height (lcd_t* lcd); | -------- | ----- | --------- | | 返回值 | wh\_t | 返回高度。 | | lcd | lcd\_t* | lcd对象。 | +#### lcd\_get\_physical\_height 函数 +----------------------- + +* 函数功能: + +>
获取真实物理高度。 + +* 函数原型: + +``` +wh_t lcd_get_physical_height (lcd_t* lcd); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | wh\_t | 返回真实物理高度。 | +| lcd | lcd\_t* | lcd对象。 | +#### lcd\_get\_physical\_width 函数 +----------------------- + +* 函数功能: + +>
获取真实物理宽度。 + +* 函数原型: + +``` +wh_t lcd_get_physical_width (lcd_t* lcd); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | wh\_t | 返回真实物理宽度。 | +| lcd | lcd\_t* | lcd对象。 | #### lcd\_get\_point\_color 函数 ----------------------- diff --git a/docs/manual/line_number_t.md b/docs/manual/line_number_t.md index 6570aab8a..c16e6dece 100644 --- a/docs/manual/line_number_t.md +++ b/docs/manual/line_number_t.md @@ -38,13 +38,38 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L5 | 函数名称 | 说明 | | -------- | ------------ | +| line\_number\_add\_highlight\_line | 增加高亮行。 | | line\_number\_cast | 转换为line_number对象(供脚本语言使用)。 | +| line\_number\_clear\_highlight | 清除高亮行。 | | line\_number\_create | 创建line_number对象 | +| line\_number\_get\_widget\_vtable | 获取 line_number 虚表。 | +| line\_number\_is\_highlight\_line | 判断指定行是否是高亮行。 | +| line\_number\_set\_active\_line | 设置active行。 | | line\_number\_set\_bottom\_margin | 设置顶部边距。 | | line\_number\_set\_line\_height | 设置行高。 | +| line\_number\_set\_lines\_of\_each\_row | 设置每一个逻辑行(row)占几个物理行(line)。 | | line\_number\_set\_top\_margin | 设置顶部边距。 | | line\_number\_set\_yoffset | 设置y偏移。 | -| line\_number\_set\_yoffset | 设置每一个逻辑行(row)占几个物理行(line)。 | +#### line\_number\_add\_highlight\_line 函数 +----------------------- + +* 函数功能: + +>
增加高亮行。 + +* 函数原型: + +``` +ret_t line_number_add_highlight_line (widget_t* widget, int32_t line); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| line | int32\_t | 行号。 | #### line\_number\_cast 函数 ----------------------- @@ -64,6 +89,25 @@ widget_t* line_number_cast (widget_t* widget); | -------- | ----- | --------- | | 返回值 | widget\_t* | line\_number对象。 | | widget | widget\_t* | line\_number对象。 | +#### line\_number\_clear\_highlight 函数 +----------------------- + +* 函数功能: + +>
清除高亮行。 + +* 函数原型: + +``` +ret_t line_number_clear_highlight (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | #### line\_number\_create 函数 ----------------------- @@ -87,6 +131,64 @@ widget_t* line_number_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### line\_number\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 line_number 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* line_number_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 line\_number 虚表。 | +#### line\_number\_is\_highlight\_line 函数 +----------------------- + +* 函数功能: + +>
判断指定行是否是高亮行。 + +* 函数原型: + +``` +bool_t line_number_is_highlight_line (widget_t* widget, int32_t line); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示是,否则不是。 | +| widget | widget\_t* | 控件对象。 | +| line | int32\_t | 行号。 | +#### line\_number\_set\_active\_line 函数 +----------------------- + +* 函数功能: + +>
设置active行。 + +* 函数原型: + +``` +ret_t line_number_set_active_line (widget_t* widget, int32_t line); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| line | int32\_t | 行号。 | #### line\_number\_set\_bottom\_margin 函数 ----------------------- @@ -127,6 +229,27 @@ ret_t line_number_set_line_height (widget_t* widget, int32_t line_height); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | line\_height | int32\_t | 行高。 | +#### line\_number\_set\_lines\_of\_each\_row 函数 +----------------------- + +* 函数功能: + +>
设置每一个逻辑行(row)占几个物理行(line)。 + +* 函数原型: + +``` +ret_t line_number_set_lines_of_each_row (widget_t* widget, const uint32_t* lines_of_each_row, uint32_t len); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| lines\_of\_each\_row | const uint32\_t* | 每一个逻辑行占几个物理行。 | +| len | uint32\_t | 数组大小(逻辑行数)。 | #### line\_number\_set\_top\_margin 函数 ----------------------- @@ -167,24 +290,3 @@ ret_t line_number_set_yoffset (widget_t* widget, int32_t yoffset); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | yoffset | int32\_t | 行高。 | -#### line\_number\_set\_yoffset 函数 ------------------------ - -* 函数功能: - ->
设置每一个逻辑行(row)占几个物理行(line)。
-
-* 函数原型:
-
-```
-ret_t line_number_set_yoffset (widget_t* widget, const uint32_t* lines_of_each_row, uint32_t len);
-```
-
-* 参数说明:
-
-| 参数 | 类型 | 说明 |
-| -------- | ----- | --------- |
-| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
-| widget | widget\_t* | 控件对象。 |
-| lines\_of\_each\_row | const uint32\_t* | 每一个逻辑行占几个物理行。 |
-| len | uint32\_t | 数组大小(逻辑行数)。 |
diff --git a/docs/manual/list_item_seperator_t.md b/docs/manual/list_item_seperator_t.md
new file mode 100644
index 000000000..f3da987d9
--- /dev/null
+++ b/docs/manual/list_item_seperator_t.md
@@ -0,0 +1,99 @@
+## list\_item\_seperator\_t
+### 概述
+![image](images/list_item_seperator_t_0.png)
+
+list_item_seperator。
+用来模拟实现风琴控件(accordion)和属性页分组控件。
+> 当前控件被点击时,显示/隐藏当前控件到下一个分隔符控件之间的控件。
+list_item_seperator\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均适用于list_item_seperator\_t控件。
+
+在xml中使用"list_item_seperator"标签创建list_item_seperator。如:
+
+```xml
+
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| list\_item\_seperator\_cast | 转换为list_item_seperator对象(供脚本语言使用)。 | +| list\_item\_seperator\_create | 创建list_item_seperator对象 | +#### list\_item\_seperator\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为list_item_seperator对象(供脚本语言使用)。 + +* 函数原型: + +``` +widget_t* list_item_seperator_cast (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | list\_item\_seperator对象。 | +| widget | widget\_t* | list\_item\_seperator对象。 | +#### list\_item\_seperator\_create 函数 +----------------------- + +* 函数功能: + +>
创建list_item_seperator对象 + +* 函数原型: + +``` +widget_t* list_item_seperator_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | 对象。 | +| parent | widget\_t* | 父控件 | +| x | xy\_t | x坐标 | +| y | xy\_t | y坐标 | +| w | wh\_t | 宽度 | +| h | wh\_t | 高度 | diff --git a/docs/manual/list_item_t.md b/docs/manual/list_item_t.md index 33f347d30..df44d90d7 100644 --- a/docs/manual/list_item_t.md +++ b/docs/manual/list_item_t.md @@ -55,6 +55,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L3 | -------- | ------------ | | list\_item\_cast | 转换为list_item对象(供脚本语言使用)。 | | list\_item\_create | 创建list_item对象 | +| list\_item\_get\_widget\_vtable | 获取 list_item 虚表。 | ### 事件
@@ -103,3 +104,21 @@ widget_t* list_item_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### list\_item\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 list_item 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* list_item_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 list\_item 虚表。 | diff --git a/docs/manual/list_view_h_t.md b/docs/manual/list_view_h_t.md index 6d93958df..36295521d 100644 --- a/docs/manual/list_view_h_t.md +++ b/docs/manual/list_view_h_t.md @@ -41,6 +41,7 @@ widget_t* list_view = list_view_h_create(win, 0, 0, 0, 0); | -------- | ------------ | | list\_view\_h\_cast | 转换为list_view_h对象(供脚本语言使用)。 | | list\_view\_h\_create | 创建list_view_h对象 | +| list\_view\_h\_get\_widget\_vtable | 获取 list_view_h 虚表。 | | list\_view\_h\_set\_item\_width | 设置列表项的宽度。 | | list\_view\_h\_set\_spacing | 设置列表项的间距。 | ### 属性 @@ -92,6 +93,24 @@ widget_t* list_view_h_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### list\_view\_h\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 list_view_h 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* list_view_h_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 list\_view\_h 虚表。 | #### list\_view\_h\_set\_item\_width 函数 ----------------------- diff --git a/docs/manual/list_view_t.md b/docs/manual/list_view_t.md index 9a22ad670..1f0d71429 100644 --- a/docs/manual/list_view_t.md +++ b/docs/manual/list_view_t.md @@ -64,6 +64,7 @@ widget_t* list_view = list_view_create(win, 0, 0, 0, 0); | -------- | ------------ | | list\_view\_cast | 转换为list_view对象(供脚本语言使用)。 | | list\_view\_create | 创建list_view对象 | +| list\_view\_get\_widget\_vtable | 获取 list_view 虚表。 | | list\_view\_reinit | list_view重新初始化。 | | list\_view\_set\_auto\_hide\_scroll\_bar | 设置是否自动隐藏滚动条。 | | list\_view\_set\_default\_item\_height | 设置列表项的缺省高度。 | @@ -120,6 +121,24 @@ widget_t* list_view_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### list\_view\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 list_view 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* list_view_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 list\_view 虚表。 | #### list\_view\_reinit 函数 ----------------------- diff --git a/docs/manual/locale_info_t.md b/docs/manual/locale_info_t.md index 95f899e6e..090df7045 100644 --- a/docs/manual/locale_info_t.md +++ b/docs/manual/locale_info_t.md @@ -16,6 +16,7 @@ | locale\_info\_reload | 重新加载字符串资源。 | | locale\_info\_set | 设置缺省locale_info。 | | locale\_info\_set\_assets\_manager | 设置资源管理器对象。 | +| locale\_info\_set\_fallback\_tr | 设置候补翻译函数。 | | locale\_info\_tr | 翻译字符串。 | ### 属性
@@ -202,6 +203,26 @@ ret_t locale_info_set_assets_manager (locale_info_t* locale_info, assets_manager | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | locale\_info | locale\_info\_t* | locale\_info对象。 | | assets\_manager | assets\_manager\_t* | 资源管理器。 | +#### locale\_info\_set\_fallback\_tr 函数 +----------------------- + +* 函数功能: + +>
设置候补翻译函数。 + +* 函数原型: + +``` +ret_t locale_info_set_fallback_tr (locale_info_t* locale_info, locale_info_tr_t tr); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| locale\_info | locale\_info\_t* | locale\_info对象。 | +| tr | locale\_info\_tr\_t | fallback翻译函数。 | #### locale\_info\_tr 函数 ----------------------- diff --git a/docs/manual/locale_infos_t.md b/docs/manual/locale_infos_t.md new file mode 100644 index 000000000..156e67af8 --- /dev/null +++ b/docs/manual/locale_infos_t.md @@ -0,0 +1,90 @@ +## locale\_infos\_t +### 概述 +在某些情况下,需要多个资源管理器。比如在手表系统里,每个应用或表盘,可能放在独立的资源包中, +此时优先加载应用自己的资源,如果没有就加载系统的资源。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| locale\_infos\_change | 设置全部locale_info的当前国家和语言。 | +| locale\_infos\_ref | 获取指定小应用程序(applet)的locale_info。 | +| locale\_infos\_reload\_all | 重新加载全部字符串资源。 | +| locale\_infos\_unref | 释放指定小应用程序(applet)的locale_info。 | +#### locale\_infos\_change 函数 +----------------------- + +* 函数功能: + +>
设置全部locale_info的当前国家和语言。 + +* 函数原型: + +``` +ret_t locale_infos_change (char* language, char* country); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| language | char* | 语言。 | +| country | char* | 国家或地区。 | +#### locale\_infos\_ref 函数 +----------------------- + +* 函数功能: + +>
获取指定小应用程序(applet)的locale_info。 + +* 函数原型: + +``` +locale_info_t* locale_infos_ref (const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | locale\_info\_t* | 返回locale\_info对象。 | +| name | const char* | 小应用程序(applet)的名称。 | +#### locale\_infos\_reload\_all 函数 +----------------------- + +* 函数功能: + +>
重新加载全部字符串资源。 + +* 函数原型: + +``` +ret_t locale_infos_reload_all (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### locale\_infos\_unref 函数 +----------------------- + +* 函数功能: + +>
释放指定小应用程序(applet)的locale_info。 + +* 函数原型: + +``` +ret_t locale_infos_unref (locale_info_t* locale_info); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| locale\_info | locale\_info\_t* | locale\_info对象。 | diff --git a/docs/manual/log_t.md b/docs/manual/log_t.md index 7a9d9c7dd..f686cf20e 100644 --- a/docs/manual/log_t.md +++ b/docs/manual/log_t.md @@ -11,6 +11,8 @@ log。 | log\_error | 输出错误信息。 | | log\_get\_log\_level | 获取log的级别。 | | log\_info | 输出参考信息。 | +| log\_notify\_debugger | 用于debugger拦截日志,发送给客户端。 | +| log\_set\_debugger\_hook | 设置调试器的钩子函数。 | | log\_set\_log\_level | 设置log的级别。 | | log\_warn | 输出警告信息。 | #### log\_debug 函数 @@ -103,6 +105,46 @@ void log_info (const char* format); | -------- | ----- | --------- | | 返回值 | void | 无返回值。 | | format | const char* | 格式或信息。 | +#### log\_notify\_debugger 函数 +----------------------- + +* 函数功能: + +>
用于debugger拦截日志,发送给客户端。 +> 变参函数。 + +* 函数原型: + +``` +ret_t log_notify_debugger (const char* format); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| format | const char* | 格式或信息。 | +#### log\_set\_debugger\_hook 函数 +----------------------- + +* 函数功能: + +>
设置调试器的钩子函数。 + +* 函数原型: + +``` +ret_t log_set_debugger_hook (tk_debugger_log_t log, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| log | tk\_debugger\_log\_t | 回调函数。 | +| ctx | void* | 回调函数的上下文。 | #### log\_set\_log\_level 函数 ----------------------- diff --git a/docs/manual/mledit_t.md b/docs/manual/mledit_t.md index c736ab740..d2a8b032c 100644 --- a/docs/manual/mledit_t.md +++ b/docs/manual/mledit_t.md @@ -35,6 +35,7 @@ time\_clock一般不需要设置style。 | mledit\_create | 创建mledit对象 | | mledit\_get\_cursor | 获取编辑器光标位置。 | | mledit\_get\_selected\_text | 获取选中的文本。 | +| mledit\_get\_widget\_vtable | 获取 mledit 虚表。 | | mledit\_insert\_text | 插入一段文本。 | | mledit\_scroll\_to\_offset | 设置编辑器滚动到指定偏移位置。 | | mledit\_set\_cancelable | 设置编辑器是否为可撤销修改。 | @@ -157,6 +158,24 @@ char* mledit_get_selected_text (widget_t* widget); | -------- | ----- | --------- | | 返回值 | char* | 返回选中文本。 | | widget | widget\_t* | widget对象。 | +#### mledit\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 mledit 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* mledit_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 mledit 虚表。 | #### mledit\_insert\_text 函数 ----------------------- diff --git a/docs/manual/model_event_t.md b/docs/manual/model_event_t.md new file mode 100644 index 000000000..3fb26b76a --- /dev/null +++ b/docs/manual/model_event_t.md @@ -0,0 +1,95 @@ +## model\_event\_t +### 概述 +![image](images/model_event_t_0.png) + +model变化事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| model\_event\_cast | 把event对象转model_event_t对象,主要给脚本语言使用。 | +| model\_event\_init | 初始化事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| change\_type | const char* | 变化类型(update/add/remove)。 | +| model | tk\_object\_t* | 模型。 | +| name | const char* | 模型名称。 | +#### model\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转model_event_t对象,主要给脚本语言使用。 + +* 函数原型: + +``` +model_event_t* model_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | model\_event\_t* | event对象。 | +| event | event\_t* | event对象。 | +#### model\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始化事件。 + +* 函数原型: + +``` +event_t* model_event_init (model_event_t* event, const char* name, const char* change_type, tk_object_t* model); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | event对象。 | +| event | model\_event\_t* | event对象。 | +| name | const char* | 名称。 | +| change\_type | const char* | 变化类型。 | +| model | tk\_object\_t* | 模型。 | +#### change\_type 属性 +----------------------- +>
变化类型(update/add/remove)。 + +* 类型:const char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | +#### model 属性 +----------------------- +>
模型。 + +* 类型:tk\_object\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | +#### name 属性 +----------------------- +>
模型名称。 + +* 类型:const char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | diff --git a/docs/manual/mutable_image_t.md b/docs/manual/mutable_image_t.md index 0c0afe807..2a310d2c0 100644 --- a/docs/manual/mutable_image_t.md +++ b/docs/manual/mutable_image_t.md @@ -44,6 +44,7 @@ https://github.com/zlgopen/awtk-c-demos/blob/master/demos/mutable_image.c) | -------- | ------------ | | mutable\_image\_cast | 转换为mutable_image对象(供脚本语言使用)。 | | mutable\_image\_create | 创建mutable_image对象 | +| mutable\_image\_get\_widget\_vtable | 获取 mutable_image 虚表。 | | mutable\_image\_init | 初始化 mutable_image (提供给继承的子类使用的) | | mutable\_image\_on\_destroy | 释放 mutable_image (提供给继承的子类使用的) | | mutable\_image\_on\_paint\_self | mutable_image 的绘制函数 (提供给继承的子类使用的) | @@ -93,6 +94,24 @@ widget_t* mutable_image_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### mutable\_image\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 mutable_image 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* mutable_image_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 mutable\_image 虚表。 | #### mutable\_image\_init 函数 ----------------------- diff --git a/docs/manual/network_interface_t.md b/docs/manual/network_interface_t.md index 3c069db0c..5cb6f1c72 100644 --- a/docs/manual/network_interface_t.md +++ b/docs/manual/network_interface_t.md @@ -31,7 +31,7 @@ * 函数原型: ``` -network_interface_t network_interface_create (char * interface, type network_interface_type_t); +network_interface_t network_interface_create (char * interface, network_interface_type_t type); ``` * 参数说明: @@ -40,7 +40,7 @@ network_interface_t network_interface_create (char * interface, type network_int | -------- | ----- | --------- | | 返回值 | network\_interface\_t | 网卡接口对象。 | | interface | char * | 网卡名。 | -| network\_interface\_type\_t | type | 网卡接口类型。 | +| type | network\_interface\_type\_t | 网卡接口类型。 | #### network\_interface\_destroy 函数 ----------------------- diff --git a/docs/manual/object_array_t.md b/docs/manual/object_array_t.md index 5087402fd..bf5ec6c71 100644 --- a/docs/manual/object_array_t.md +++ b/docs/manual/object_array_t.md @@ -15,6 +15,7 @@ | 函数名称 | 说明 | | -------- | ------------ | | object\_array\_avg | 求平均值。 | +| object\_array\_cast | 转换为object_array对象。 | | object\_array\_clear\_props | 清除全部属性。 | | object\_array\_clone | 克隆对象。 | | object\_array\_create | 创建对象。 | @@ -31,6 +32,8 @@ | object\_array\_pop | 弹出最后一个元素。 | | object\_array\_push | 追加一个元素。 | | object\_array\_remove | 在指定位置删除一个元素。 | +| object\_array\_remove\_value | 删除指定的值。 | +| object\_array\_reverse | 反向。 | | object\_array\_set | 设置指定序数的元素。 | | object\_array\_shift | 弹出第一个元素。 | | object\_array\_sort | 排序。 | @@ -57,7 +60,7 @@ * 函数原型: ``` -ret_t object_array_avg (object_t* obj, value_t* result); +ret_t object_array_avg (tk_object_t* obj, value_t* result); ``` * 参数说明: @@ -65,8 +68,27 @@ ret_t object_array_avg (object_t* obj, value_t* result); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | result | value\_t* | 结果。 | +#### object\_array\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_array对象。 + +* 函数原型: + +``` +object_array_t* object_array_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_array\_t* | object\_array对象。 | +| obj | tk\_object\_t* | object\_array对象。 | #### object\_array\_clear\_props 函数 ----------------------- @@ -77,7 +99,7 @@ ret_t object_array_avg (object_t* obj, value_t* result); * 函数原型: ``` -ret_t object_array_clear_props (object_t* obj); +ret_t object_array_clear_props (tk_object_t* obj); ``` * 参数说明: @@ -85,7 +107,7 @@ ret_t object_array_clear_props (object_t* obj); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | #### object\_array\_clone 函数 ----------------------- @@ -96,15 +118,15 @@ ret_t object_array_clear_props (object_t* obj); * 函数原型: ``` -object_t* object_array_clone (object_t* o); +tk_object_t* object_array_clone (tk_object_t* o); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | -| o | object\_t* | 被克隆的对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| o | tk\_object\_t* | 被克隆的对象。 | #### object\_array\_create 函数 ----------------------- @@ -115,14 +137,14 @@ object_t* object_array_clone (object_t* o); * 函数原型: ``` -object_t* object_array_create (); +tk_object_t* object_array_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | #### object\_array\_create\_with\_str 函数 ----------------------- @@ -133,14 +155,14 @@ object_t* object_array_create (); * 函数原型: ``` -object_t* object_array_create_with_str (const char* str, const char* sep, value_type_t type); +tk_object_t* object_array_create_with_str (const char* str, const char* sep, value_type_t type); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | str | const char* | 字符串 | | sep | const char* | 分隔符。 | | type | value\_type\_t | 类型。 | @@ -154,15 +176,15 @@ object_t* object_array_create_with_str (const char* str, const char* sep, value_ * 函数原型: ``` -object_t* object_array_dup (object_t* obj, uint32_t start, uint32_t end); +tk_object_t* object_array_dup (tk_object_t* obj, uint32_t start, uint32_t end); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | -| obj | object\_t* | 数组对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| obj | tk\_object\_t* | 数组对象。 | | start | uint32\_t | 开始的位置。 | | end | uint32\_t | 结束的位置(不包含)。 | #### object\_array\_get 函数 @@ -175,7 +197,7 @@ object_t* object_array_dup (object_t* obj, uint32_t start, uint32_t end); * 函数原型: ``` -ret_t object_array_get (object_t* obj, uint32_t i, value_t* v); +ret_t object_array_get (tk_object_t* obj, uint32_t i, value_t* v); ``` * 参数说明: @@ -183,7 +205,7 @@ ret_t object_array_get (object_t* obj, uint32_t i, value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | i | uint32\_t | 序数。 | | v | value\_t* | 返回的元素。 | #### object\_array\_get\_and\_remove 函数 @@ -196,7 +218,7 @@ ret_t object_array_get (object_t* obj, uint32_t i, value_t* v); * 函数原型: ``` -ret_t object_array_get_and_remove (object_t* obj, uint32_t index, value_t* v); +ret_t object_array_get_and_remove (tk_object_t* obj, uint32_t index, value_t* v); ``` * 参数说明: @@ -204,7 +226,7 @@ ret_t object_array_get_and_remove (object_t* obj, uint32_t index, value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | index | uint32\_t | 位置。 | | v | value\_t* | 用于返回值。 | #### object\_array\_index\_of 函数 @@ -217,7 +239,7 @@ ret_t object_array_get_and_remove (object_t* obj, uint32_t index, value_t* v); * 函数原型: ``` -int32_t object_array_index_of (object_t* obj, const value_t* v); +int32_t object_array_index_of (tk_object_t* obj, const value_t* v); ``` * 参数说明: @@ -225,7 +247,7 @@ int32_t object_array_index_of (object_t* obj, const value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | int32\_t | 如果找到返回其位置,否则返回-1。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | v | const value\_t* | 值。 | #### object\_array\_insert 函数 ----------------------- @@ -237,7 +259,7 @@ int32_t object_array_index_of (object_t* obj, const value_t* v); * 函数原型: ``` -ret_t object_array_insert (object_t* obj, uint32_t index, const value_t* v); +ret_t object_array_insert (tk_object_t* obj, uint32_t index, const value_t* v); ``` * 参数说明: @@ -245,7 +267,7 @@ ret_t object_array_insert (object_t* obj, uint32_t index, const value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | index | uint32\_t | 位置。 | | v | const value\_t* | 值。 | #### object\_array\_join 函数 @@ -258,7 +280,7 @@ ret_t object_array_insert (object_t* obj, uint32_t index, const value_t* v); * 函数原型: ``` -ret_t object_array_join (object_t* obj, const char* sep, str_t* result); +ret_t object_array_join (tk_object_t* obj, const char* sep, str_t* result); ``` * 参数说明: @@ -266,7 +288,7 @@ ret_t object_array_join (object_t* obj, const char* sep, str_t* result); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | sep | const char* | 分隔符。 | | result | str\_t* | 生成的字符串。 | #### object\_array\_last\_index\_of 函数 @@ -279,7 +301,7 @@ ret_t object_array_join (object_t* obj, const char* sep, str_t* result); * 函数原型: ``` -int32_t object_array_last_index_of (object_t* obj, const value_t* v); +int32_t object_array_last_index_of (tk_object_t* obj, const value_t* v); ``` * 参数说明: @@ -287,7 +309,7 @@ int32_t object_array_last_index_of (object_t* obj, const value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | int32\_t | 如果找到返回其位置,否则返回-1。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | v | const value\_t* | 值。 | #### object\_array\_max 函数 ----------------------- @@ -299,7 +321,7 @@ int32_t object_array_last_index_of (object_t* obj, const value_t* v); * 函数原型: ``` -ret_t object_array_max (object_t* obj, value_t* result); +ret_t object_array_max (tk_object_t* obj, value_t* result); ``` * 参数说明: @@ -307,7 +329,7 @@ ret_t object_array_max (object_t* obj, value_t* result); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | result | value\_t* | 结果。 | #### object\_array\_min 函数 ----------------------- @@ -319,7 +341,7 @@ ret_t object_array_max (object_t* obj, value_t* result); * 函数原型: ``` -ret_t object_array_min (object_t* obj, value_t* result); +ret_t object_array_min (tk_object_t* obj, value_t* result); ``` * 参数说明: @@ -327,7 +349,7 @@ ret_t object_array_min (object_t* obj, value_t* result); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | result | value\_t* | 结果。 | #### object\_array\_pop 函数 ----------------------- @@ -339,7 +361,7 @@ ret_t object_array_min (object_t* obj, value_t* result); * 函数原型: ``` -ret_t object_array_pop (object_t* obj, value_t* v); +ret_t object_array_pop (tk_object_t* obj, value_t* v); ``` * 参数说明: @@ -347,7 +369,7 @@ ret_t object_array_pop (object_t* obj, value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | v | value\_t* | 返回值。 | #### object\_array\_push 函数 ----------------------- @@ -359,7 +381,7 @@ ret_t object_array_pop (object_t* obj, value_t* v); * 函数原型: ``` -ret_t object_array_push (object_t* obj, const value_t* v); +ret_t object_array_push (tk_object_t* obj, const value_t* v); ``` * 参数说明: @@ -367,7 +389,7 @@ ret_t object_array_push (object_t* obj, const value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | v | const value\_t* | 值。 | #### object\_array\_remove 函数 ----------------------- @@ -379,7 +401,7 @@ ret_t object_array_push (object_t* obj, const value_t* v); * 函数原型: ``` -ret_t object_array_remove (object_t* obj, uint32_t index); +ret_t object_array_remove (tk_object_t* obj, uint32_t index); ``` * 参数说明: @@ -387,8 +409,47 @@ ret_t object_array_remove (object_t* obj, uint32_t index); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | index | uint32\_t | 位置。 | +#### object\_array\_remove\_value 函数 +----------------------- + +* 函数功能: + +>
删除指定的值。 + +* 函数原型: + +``` +ret_t object_array_remove_value (tk_object_t* obj, value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | 对象。 | +| v | value\_t* | 值。 | +#### object\_array\_reverse 函数 +----------------------- + +* 函数功能: + +>
反向。 + +* 函数原型: + +``` +ret_t object_array_reverse (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | 数组对象。 | #### object\_array\_set 函数 ----------------------- @@ -399,7 +460,7 @@ ret_t object_array_remove (object_t* obj, uint32_t index); * 函数原型: ``` -ret_t object_array_set (object_t* obj, uint32_t i, const value_t* v); +ret_t object_array_set (tk_object_t* obj, uint32_t i, const value_t* v); ``` * 参数说明: @@ -407,7 +468,7 @@ ret_t object_array_set (object_t* obj, uint32_t i, const value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | i | uint32\_t | 序数。 | | v | const value\_t* | 元素。 | #### object\_array\_shift 函数 @@ -420,7 +481,7 @@ ret_t object_array_set (object_t* obj, uint32_t i, const value_t* v); * 函数原型: ``` -ret_t object_array_shift (object_t* obj, value_t* v); +ret_t object_array_shift (tk_object_t* obj, value_t* v); ``` * 参数说明: @@ -428,7 +489,7 @@ ret_t object_array_shift (object_t* obj, value_t* v); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | v | value\_t* | 返回值。 | #### object\_array\_sort 函数 ----------------------- @@ -440,7 +501,7 @@ ret_t object_array_shift (object_t* obj, value_t* v); * 函数原型: ``` -ret_t object_array_sort (object_t* obj, tk_compare_t cmp); +ret_t object_array_sort (tk_object_t* obj, tk_compare_t cmp); ``` * 参数说明: @@ -448,7 +509,7 @@ ret_t object_array_sort (object_t* obj, tk_compare_t cmp); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | cmp | tk\_compare\_t | 比较函数。 | #### object\_array\_sort\_as\_double 函数 ----------------------- @@ -460,7 +521,7 @@ ret_t object_array_sort (object_t* obj, tk_compare_t cmp); * 函数原型: ``` -ret_t object_array_sort_as_double (object_t* obj, bool_t ascending); +ret_t object_array_sort_as_double (tk_object_t* obj, bool_t ascending); ``` * 参数说明: @@ -468,7 +529,7 @@ ret_t object_array_sort_as_double (object_t* obj, bool_t ascending); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | ascending | bool\_t | 升序或降序。 | #### object\_array\_sort\_as\_int 函数 ----------------------- @@ -480,7 +541,7 @@ ret_t object_array_sort_as_double (object_t* obj, bool_t ascending); * 函数原型: ``` -ret_t object_array_sort_as_int (object_t* obj, bool_t ascending); +ret_t object_array_sort_as_int (tk_object_t* obj, bool_t ascending); ``` * 参数说明: @@ -488,7 +549,7 @@ ret_t object_array_sort_as_int (object_t* obj, bool_t ascending); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | ascending | bool\_t | 升序或降序。 | #### object\_array\_sort\_as\_str 函数 ----------------------- @@ -500,7 +561,7 @@ ret_t object_array_sort_as_int (object_t* obj, bool_t ascending); * 函数原型: ``` -ret_t object_array_sort_as_str (object_t* obj, bool_t ascending, bool_t ignore_case); +ret_t object_array_sort_as_str (tk_object_t* obj, bool_t ascending, bool_t ignore_case); ``` * 参数说明: @@ -508,7 +569,7 @@ ret_t object_array_sort_as_str (object_t* obj, bool_t ascending, bool_t ignore_c | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | ascending | bool\_t | 升序或降序。 | | ignore\_case | bool\_t | 是否忽略大小写。 | #### object\_array\_sum 函数 @@ -521,7 +582,7 @@ ret_t object_array_sort_as_str (object_t* obj, bool_t ascending, bool_t ignore_c * 函数原型: ``` -ret_t object_array_sum (object_t* obj, value_t* result); +ret_t object_array_sum (tk_object_t* obj, value_t* result); ``` * 参数说明: @@ -529,7 +590,7 @@ ret_t object_array_sum (object_t* obj, value_t* result); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 数组对象。 | +| obj | tk\_object\_t* | 数组对象。 | | result | value\_t* | 结果。 | #### object\_array\_unref 函数 ----------------------- @@ -541,7 +602,7 @@ ret_t object_array_sum (object_t* obj, value_t* result); * 函数原型: ``` -ret_t object_array_unref (object_t* obj); +ret_t object_array_unref (tk_object_t* obj); ``` * 参数说明: @@ -549,7 +610,7 @@ ret_t object_array_unref (object_t* obj); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | #### capacity 属性 ----------------------- >
属性数组的容量。 diff --git a/docs/manual/object_cmd_t.md b/docs/manual/object_cmd_t.md index 2278ef708..883761c6f 100644 --- a/docs/manual/object_cmd_t.md +++ b/docs/manual/object_cmd_t.md @@ -6,13 +6,13 @@ | 名称 | 说明 | | -------- | ------- | -| OBJECT\_CMD\_SAVE | 保存命令 | -| OBJECT\_CMD\_RELOAD | 重新加载命令 | -| OBJECT\_CMD\_MOVE\_UP | 和前一个属性交换位置>参数为属性的名称或路径。 | -| OBJECT\_CMD\_MOVE\_DOWN | 和后一个属性交换位置>参数为属性的名称或路径。 | -| OBJECT\_CMD\_REMOVE | 删除属性。>参数为属性的名称或路径。 | -| OBJECT\_CMD\_REMOVE\_CHECKED | 删除勾选的属性。>参数为属性的名称或路径。 | -| OBJECT\_CMD\_CLEAR | 清除全部属性。>参数为属性的名称或路径。 | -| OBJECT\_CMD\_ADD | 增加子项。>参数为属性的名称或路径。 | -| OBJECT\_CMD\_DETAIL | 显示对象详细信息。>参数为属性的名称或路径。 | -| OBJECT\_CMD\_EDIT | 编辑子项。>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_SAVE | 保存命令 | +| TK\_OBJECT\_CMD\_RELOAD | 重新加载命令 | +| TK\_OBJECT\_CMD\_MOVE\_UP | 和前一个属性交换位置>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_MOVE\_DOWN | 和后一个属性交换位置>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_REMOVE | 删除属性。>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_REMOVE\_CHECKED | 删除勾选的属性。>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_CLEAR | 清除全部属性。>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_ADD | 增加子项。>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_DETAIL | 显示对象详细信息。>参数为属性的名称或路径。 | +| TK\_OBJECT\_CMD\_EDIT | 编辑子项。>参数为属性的名称或路径。 | diff --git a/docs/manual/object_compositor_t.md b/docs/manual/object_compositor_t.md index aca910f6a..d099fbcaf 100644 --- a/docs/manual/object_compositor_t.md +++ b/docs/manual/object_compositor_t.md @@ -9,7 +9,27 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_compositor\_cast | 转换为object_compositor对象。 | | object\_compositor\_create | 创建对象。 | +#### object\_compositor\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_compositor对象。 + +* 函数原型: + +``` +object_compositor_t* object_compositor_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_compositor\_t* | object\_compositor对象。 | +| obj | tk\_object\_t* | object\_compositor对象。 | #### object\_compositor\_create 函数 ----------------------- @@ -20,13 +40,13 @@ * 函数原型: ``` -object_t* object_compositor_create (object_t* obj1, object_t* obj2); +tk_object_t* object_compositor_create (tk_object_t* obj1, tk_object_t* obj2); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | -| obj1 | object\_t* | 对象1。 | -| obj2 | object\_t* | 对象2。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| obj1 | tk\_object\_t* | 对象1。 | +| obj2 | tk\_object\_t* | 对象2。 | diff --git a/docs/manual/object_date_time_t.md b/docs/manual/object_date_time_t.md index ddc5d3b68..7dc81a160 100644 --- a/docs/manual/object_date_time_t.md +++ b/docs/manual/object_date_time_t.md @@ -9,6 +9,7 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_date\_time\_cast | 转换为object_date_time对象。 | | object\_date\_time\_create | 创建对象。 | ### 属性
@@ -16,6 +17,25 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | dt | date\_time\_t* | date time对象。 | +#### object\_date\_time\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_date_time对象。 + +* 函数原型: + +``` +object_date_time_t* object_date_time_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_date\_time\_t* | object\_date\_time对象。 | +| obj | tk\_object\_t* | object\_date\_time对象。 | #### object\_date\_time\_create 函数 ----------------------- @@ -26,14 +46,14 @@ * 函数原型: ``` -object_t* object_date_time_create (); +tk_object_t* object_date_time_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | #### dt 属性 ----------------------- >
date time对象。 diff --git a/docs/manual/object_default_t.md b/docs/manual/object_default_t.md index 0a4ebdb96..889e8a522 100644 --- a/docs/manual/object_default_t.md +++ b/docs/manual/object_default_t.md @@ -11,12 +11,32 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_default\_cast | 转换为object_default对象。 | | object\_default\_clear\_props | 清除全部属性。 | | object\_default\_clone | 克隆对象。 | | object\_default\_create | 创建对象。 | | object\_default\_create\_ex | 创建对象。 | | object\_default\_find\_prop | 查找满足条件的属性,并返回它的值。 | | object\_default\_unref | for script gc | +#### object\_default\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_default对象。 + +* 函数原型: + +``` +object_default_t* object_default_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_default\_t* | object\_default对象。 | +| obj | tk\_object\_t* | object\_default对象。 | #### object\_default\_clear\_props 函数 ----------------------- @@ -27,7 +47,7 @@ * 函数原型: ``` -ret_t object_default_clear_props (object_t* obj); +ret_t object_default_clear_props (tk_object_t* obj); ``` * 参数说明: @@ -35,7 +55,7 @@ ret_t object_default_clear_props (object_t* obj); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | #### object\_default\_clone 函数 ----------------------- @@ -46,14 +66,14 @@ ret_t object_default_clear_props (object_t* obj); * 函数原型: ``` -object_t* object_default_clone (object_default_t* o); +tk_object_t* object_default_clone (object_default_t* o); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | o | object\_default\_t* | 被克隆的对象。 | #### object\_default\_create 函数 ----------------------- @@ -65,14 +85,14 @@ object_t* object_default_clone (object_default_t* o); * 函数原型: ``` -object_t* object_default_create (); +tk_object_t* object_default_create (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | #### object\_default\_create\_ex 函数 ----------------------- @@ -83,14 +103,14 @@ object_t* object_default_create (); * 函数原型: ``` -object_t* object_default_create_ex (bool_t enable_path); +tk_object_t* object_default_create_ex (bool_t enable_path); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | enable\_path | bool\_t | 是否支持按路径访问属性。 | #### object\_default\_find\_prop 函数 ----------------------- @@ -102,7 +122,7 @@ object_t* object_default_create_ex (bool_t enable_path); * 函数原型: ``` -value_t* object_default_find_prop (object_t* obj, tk_compare_t cmp, const void* data); +value_t* object_default_find_prop (tk_object_t* obj, tk_compare_t cmp, const void* data); ``` * 参数说明: @@ -110,7 +130,7 @@ value_t* object_default_find_prop (object_t* obj, tk_compare_t cmp, const void* | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | value\_t* | 返回属性的值。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | | cmp | tk\_compare\_t | 比较函数。 | | data | const void* | 要比较的数据。 | #### object\_default\_unref 函数 @@ -123,7 +143,7 @@ value_t* object_default_find_prop (object_t* obj, tk_compare_t cmp, const void* * 函数原型: ``` -ret_t object_default_unref (object_t* obj); +ret_t object_default_unref (tk_object_t* obj); ``` * 参数说明: @@ -131,4 +151,4 @@ ret_t object_default_unref (object_t* obj); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | 对象。 | +| obj | tk\_object\_t* | 对象。 | diff --git a/docs/manual/object_locker_t.md b/docs/manual/object_locker_t.md index 6fc6022e0..5a962ca1b 100644 --- a/docs/manual/object_locker_t.md +++ b/docs/manual/object_locker_t.md @@ -9,7 +9,27 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_locker\_cast | 转换为object_locker对象。 | | object\_locker\_create | 创建对象。 | +#### object\_locker\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_locker对象。 + +* 函数原型: + +``` +object_locker_t* object_locker_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_locker\_t* | object\_locker对象。 | +| obj | tk\_object\_t* | object\_locker对象。 | #### object\_locker\_create 函数 ----------------------- @@ -20,12 +40,12 @@ * 函数原型: ``` -object_t* object_locker_create (object_t* obj); +tk_object_t* object_locker_create (tk_object_t* obj); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | -| obj | object\_t* | 待装饰的对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| obj | tk\_object\_t* | 待装饰的对象。 | diff --git a/docs/manual/object_prop_t.md b/docs/manual/object_prop_t.md index b70f79eef..21dcd5398 100644 --- a/docs/manual/object_prop_t.md +++ b/docs/manual/object_prop_t.md @@ -6,5 +6,5 @@ | 名称 | 说明 | | -------- | ------- | -| OBJECT\_PROP\_SIZE | 属性的个数。 | -| OBJECT\_PROP\_CHECKED | 属性是否勾选。 | +| TK\_OBJECT\_PROP\_SIZE | 属性的个数。 | +| TK\_OBJECT\_PROP\_CHECKED | 属性是否勾选。 | diff --git a/docs/manual/object_rbuffer_t.md b/docs/manual/object_rbuffer_t.md index 851275717..ed494e4c6 100644 --- a/docs/manual/object_rbuffer_t.md +++ b/docs/manual/object_rbuffer_t.md @@ -9,6 +9,7 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_rbuffer\_cast | 转换为object_rbuffer对象。 | | object\_rbuffer\_create | 创建rbuffer对象。 | ### 属性
@@ -16,6 +17,25 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | rbuffer | rbuffer\_t* | rbuffer对象。 | +#### object\_rbuffer\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_rbuffer对象。 + +* 函数原型: + +``` +object_rbuffer_t* object_rbuffer_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_rbuffer\_t* | object\_rbuffer对象。 | +| obj | tk\_object\_t* | object\_rbuffer对象。 | #### object\_rbuffer\_create 函数 ----------------------- @@ -26,14 +46,14 @@ * 函数原型: ``` -object_t* object_rbuffer_create (const uint8_t* data, uint16_t capacity); +tk_object_t* object_rbuffer_create (const uint8_t* data, uint16_t capacity); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | data | const uint8\_t* | 缓冲区。 | | capacity | uint16\_t | 缓冲区的容量。 | #### rbuffer 属性 diff --git a/docs/manual/object_typed_array_t.md b/docs/manual/object_typed_array_t.md index 311bdee24..67a358fce 100644 --- a/docs/manual/object_typed_array_t.md +++ b/docs/manual/object_typed_array_t.md @@ -9,6 +9,7 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_typed\_array\_cast | 转换为object_typed_array对象。 | | object\_typed\_array\_create | 创建对象。 | ### 属性
@@ -16,6 +17,25 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | arr | typed\_array\_t* | typed array对象。 | +#### object\_typed\_array\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_typed_array对象。 + +* 函数原型: + +``` +object_typed_array_t* object_typed_array_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_typed\_array\_t* | object\_typed\_array对象。 | +| obj | tk\_object\_t* | object\_typed\_array对象。 | #### object\_typed\_array\_create 函数 ----------------------- @@ -26,14 +46,14 @@ * 函数原型: ``` -object_t* object_typed_array_create (value_type_t type, uint32_t capacity); +tk_object_t* object_typed_array_create (value_type_t type, uint32_t capacity); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | type | value\_type\_t | 元素的类型。 | | capacity | uint32\_t | 数组的初始容量(元素个数)。 | #### arr 属性 diff --git a/docs/manual/object_wbuffer_t.md b/docs/manual/object_wbuffer_t.md index 6032753e6..bf25bcbf6 100644 --- a/docs/manual/object_wbuffer_t.md +++ b/docs/manual/object_wbuffer_t.md @@ -9,6 +9,7 @@ | 函数名称 | 说明 | | -------- | ------------ | +| object\_wbuffer\_cast | 转换为object_wbuffer对象。 | | object\_wbuffer\_create | 创建wbuffer对象。 | | object\_wbuffer\_create\_extendable | 创建可扩展的wbuffer对象。 | ### 属性 @@ -17,6 +18,25 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | wbuffer | wbuffer\_t* | wbuffer对象。 | +#### object\_wbuffer\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为object_wbuffer对象。 + +* 函数原型: + +``` +object_wbuffer_t* object_wbuffer_cast (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | object\_wbuffer\_t* | object\_wbuffer对象。 | +| obj | tk\_object\_t* | object\_wbuffer对象。 | #### object\_wbuffer\_create 函数 ----------------------- @@ -27,14 +47,14 @@ * 函数原型: ``` -object_t* object_wbuffer_create (uint8_t* data, uint16_t capacity); +tk_object_t* object_wbuffer_create (uint8_t* data, uint16_t capacity); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | data | uint8\_t* | 缓冲区。 | | capacity | uint16\_t | 缓冲区的容量。 | #### object\_wbuffer\_create\_extendable 函数 @@ -47,14 +67,14 @@ object_t* object_wbuffer_create (uint8_t* data, uint16_t capacity); * 函数原型: ``` -object_t* object_wbuffer_create_extendable (); +tk_object_t* object_wbuffer_create_extendable (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | #### wbuffer 属性 ----------------------- >
wbuffer对象。 diff --git a/docs/manual/object_widget_t.md b/docs/manual/object_widget_t.md index 1753767d9..595ea40d3 100644 --- a/docs/manual/object_widget_t.md +++ b/docs/manual/object_widget_t.md @@ -27,14 +27,14 @@ * 函数原型: ``` -object_t* object_widget_create (widget_t* widget); +tk_object_t* object_widget_create (widget_t* widget); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 返回object对象。 | +| 返回值 | tk\_object\_t* | 返回object对象。 | | widget | widget\_t* | 控件。 | #### widget 属性 ----------------------- diff --git a/docs/manual/offset_change_event_t.md b/docs/manual/offset_change_event_t.md new file mode 100644 index 000000000..691616a18 --- /dev/null +++ b/docs/manual/offset_change_event_t.md @@ -0,0 +1,82 @@ +## offset\_change\_event\_t +### 概述 +![image](images/offset_change_event_t_0.png) + +值变化事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| offset\_change\_event\_cast | 把event对象转offset_change_event_t对象,主要给脚本语言使用。 | +| offset\_change\_event\_init | 初始化事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| new\_offset | float\_t | 新值。 | +| old\_offset | float\_t | 旧值。 | +#### offset\_change\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转offset_change_event_t对象,主要给脚本语言使用。 + +* 函数原型: + +``` +offset_change_event_t* offset_change_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | offset\_change\_event\_t* | event对象。 | +| event | event\_t* | event对象。 | +#### offset\_change\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始化事件。 + +* 函数原型: + +``` +event_t* offset_change_event_init (offset_change_event_t* event, void* target, uint32_t type, float_t old_offset, float_t new_offset); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | event对象。 | +| event | offset\_change\_event\_t* | event对象。 | +| target | void* | 事件目标。 | +| type | uint32\_t | 事件类型。 | +| old\_offset | float\_t | 旧的偏移数据。 | +| new\_offset | float\_t | 新的偏移数据。 | +#### new\_offset 属性 +----------------------- +>
新值。 + +* 类型:float\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### old\_offset 属性 +----------------------- +>
旧值。 + +* 类型:float\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | diff --git a/docs/manual/overlay_t.md b/docs/manual/overlay_t.md index 8b6552e65..5fb4c2f07 100644 --- a/docs/manual/overlay_t.md +++ b/docs/manual/overlay_t.md @@ -48,6 +48,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ------------ | | overlay\_cast | 转换为overlay对象(供脚本语言使用)。 | | overlay\_create | 创建overlay对象 | +| overlay\_get\_widget\_vtable | 获取 overlay 虚表。 | | overlay\_set\_always\_on\_top | 设置是否总是在最上面。 | | overlay\_set\_click\_through | 设置是否启用点击穿透。 | ### 属性 @@ -99,6 +100,24 @@ widget_t* overlay_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### overlay\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 overlay 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* overlay_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 overlay 虚表。 | #### overlay\_set\_always\_on\_top 函数 ----------------------- diff --git a/docs/manual/pages_t.md b/docs/manual/pages_t.md index f1b16e67a..db22699c9 100644 --- a/docs/manual/pages_t.md +++ b/docs/manual/pages_t.md @@ -33,6 +33,7 @@ widget\_t的函数均适用于pages\_t控件。 | -------- | ------------ | | pages\_cast | 转换为pages对象(供脚本语言使用)。 | | pages\_create | 创建pages对象 | +| pages\_get\_widget\_vtable | 获取 pages 虚表。 | | pages\_set\_active | 设置当前的Page。 | | pages\_set\_active\_by\_name | 通过页面的名字设置当前的Page。 | ### 属性 @@ -40,7 +41,8 @@ widget\_t的函数均适用于pages\_t控件。 | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | -| active | uint32\_t | 当前活跃的page。 | +| active | uint32\_t | 当前活跃的page。(需要用到 MVVM 数据绑定请设置 value 属性) | +| value | uint32\_t | 当前活跃的page。 | ### 事件
@@ -90,6 +92,24 @@ widget_t* pages_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### pages\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 pages 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* pages_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 pages 虚表。 | #### pages\_set\_active 函数 ----------------------- @@ -132,7 +152,7 @@ ret_t pages_set_active_by_name (widget_t* widget, char* name); | name | char* | 当前Page的名字。 | #### active 属性 ----------------------- ->
当前活跃的page。 +>
当前活跃的page。(需要用到 MVVM 数据绑定请设置 value 属性) * 类型:uint32\_t @@ -146,3 +166,18 @@ ret_t pages_set_active_by_name (widget_t* widget, char* name); | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | +#### value 属性 +----------------------- +>
当前活跃的page。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | diff --git a/docs/manual/path_t.md b/docs/manual/path_t.md index 2a14cb64a..5e4969998 100644 --- a/docs/manual/path_t.md +++ b/docs/manual/path_t.md @@ -9,7 +9,9 @@ | -------- | ------------ | | path\_abs | 返回绝对路径。 | | path\_app\_root | 获取app所在目录。 | +| path\_app\_root\_ex | 获取app所在目录,并追加subpath到后面。 | | path\_basename | 返回文件名。 | +| path\_basename\_ex | 返回文件名。 | | path\_build | 构造路径。 | | path\_cwd | 获取当前所在目录。 | | path\_dirname | 返回目录。 | @@ -19,6 +21,7 @@ | path\_extname\_is | ```c | | path\_is\_abs | 判断路径是否为绝对路径。 | | path\_normalize | 规范路径字符形式。 | +| path\_prepend\_app\_root | 将前面路径加上app root。 | | path\_remove\_last\_slash | 去掉后面的/和\\字符。 | | path\_replace\_basename | 替换文件名。 | | path\_replace\_extname | 替换文件扩展名。 | @@ -62,6 +65,26 @@ ret_t path_app_root (char* path); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | path | char* | 保存app所在目录。 | +#### path\_app\_root\_ex 函数 +----------------------- + +* 函数功能: + +>
获取app所在目录,并追加subpath到后面。 + +* 函数原型: + +``` +ret_t path_app_root_ex (char* path, const char* subpath); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| path | char* | 保存app所在目录。 | +| subpath | const char* | 子目录。 | #### path\_basename 函数 ----------------------- @@ -83,6 +106,28 @@ ret_t path_basename (const char* path, char* result, uint32_t size); | path | const char* | 路径。 | | result | char* | 用于返回文件名。 | | size | uint32\_t | 缓冲区大小。 | +#### path\_basename\_ex 函数 +----------------------- + +* 函数功能: + +>
返回文件名。 + +* 函数原型: + +``` +ret_t path_basename_ex (const char* path, bool_t remove_ext_name, char* result, uint32_t size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| path | const char* | 路径。 | +| remove\_ext\_name | bool\_t | 是否去掉扩展名。 | +| result | char* | 用于返回文件名。 | +| size | uint32\_t | 缓冲区大小。 | #### path\_build 函数 ----------------------- @@ -268,6 +313,26 @@ ret_t path_normalize (const char* path, char* result, uint32_t size); | path | const char* | 路径。 | | result | char* | 用于返回规范后的路径。 | | size | uint32\_t | 缓冲区大小。 | +#### path\_prepend\_app\_root 函数 +----------------------- + +* 函数功能: + +>
将前面路径加上app root。 + +* 函数原型: + +``` +const char* path_prepend_app_root (char* full_path, const char* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回完整路径。 | +| full\_path | char* | 用于返回完整路径。 | +| path | const char* | 路径。 | #### path\_remove\_last\_slash 函数 ----------------------- diff --git a/docs/manual/pointer_event_t.md b/docs/manual/pointer_event_t.md index 344655752..22cc2613c 100644 --- a/docs/manual/pointer_event_t.md +++ b/docs/manual/pointer_event_t.md @@ -81,6 +81,9 @@ event_t* pointer_event_init (pointer_event_t* event, void* target, uint32_t type #### button 属性 ----------------------- >
获取 popup 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* popup_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 popup 虚表。 | #### popup\_set\_close\_when\_click 函数 ----------------------- diff --git a/docs/manual/progress_bar_t.md b/docs/manual/progress_bar_t.md index f0fbef32e..da213f6cf 100644 --- a/docs/manual/progress_bar_t.md +++ b/docs/manual/progress_bar_t.md @@ -47,6 +47,7 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | progress\_bar\_cast | 转换为progress_bar对象(供脚本语言使用)。 | | progress\_bar\_create | 创建progress_bar对象 | | progress\_bar\_get\_percent | 获取进度百分比。 | +| progress\_bar\_get\_widget\_vtable | 获取 progress_bar 虚表。 | | progress\_bar\_set\_format | 设置格式。 | | progress\_bar\_set\_max | 设置最大值。 | | progress\_bar\_set\_reverse | 设置进度条是否反向。 | @@ -134,6 +135,24 @@ uint32_t progress_bar_get_percent (widget_t* widget); | -------- | ----- | --------- | | 返回值 | uint32\_t | 返回百分比。 | | widget | widget\_t* | 控件对象。 | +#### progress\_bar\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 progress_bar 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* progress_bar_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 progress\_bar 虚表。 | #### progress\_bar\_set\_format 函数 ----------------------- diff --git a/docs/manual/progress_circle_t.md b/docs/manual/progress_circle_t.md index fc4e2fc0d..4e8fe90e2 100644 --- a/docs/manual/progress_circle_t.md +++ b/docs/manual/progress_circle_t.md @@ -44,8 +44,10 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | 函数名称 | 说明 | | -------- | ------------ | +| progress\_circle\_calc\_line\_dirty\_rect | | | progress\_circle\_cast | 转换为progress_circle对象(供脚本语言使用)。 | | progress\_circle\_create | 创建progress_circle对象 | +| progress\_circle\_get\_widget\_vtable | 获取 progress_circle 虚表。 | | progress\_circle\_set\_counter\_clock\_wise | 设置是否为逆时针方向。 | | progress\_circle\_set\_format | 设置格式。 | | progress\_circle\_set\_line\_cap | 设置线帽类型。 | @@ -116,6 +118,24 @@ widget_t* progress_circle_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### progress\_circle\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 progress_circle 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* progress_circle_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 progress\_circle 虚表。 | #### progress\_circle\_set\_counter\_clock\_wise 函数 ----------------------- diff --git a/docs/manual/rect_t.md b/docs/manual/rect_t.md index 0cf597f12..e89a311e0 100644 --- a/docs/manual/rect_t.md +++ b/docs/manual/rect_t.md @@ -20,6 +20,7 @@ | rect\_scale | 缩放rect对象。 | | rect\_set | 设置rect对象的xywh。 | | rect\_to\_rectf | rect 类型转换到 rectf 类型。 | +| rectf\_fix | 确保rectf在指定的大小范围内。 | | rectf\_scale | 缩放rectf对象。 | ### 属性
@@ -301,6 +302,25 @@ rectf_t rect_to_rectf (const rect_t* r1); | -------- | ----- | --------- | | 返回值 | rectf\_t | 返回 rectf\_t 对象。 | | r1 | const rect\_t* | rect 对象。 | +#### rectf\_fix 函数 +----------------------- + +* 函数功能: + +>
确保rectf在指定的大小范围内。 + +* 函数原型: + +``` +rectf_t rectf_fix (rectf_t* r); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | rectf\_t | 返回修复之后的rect对象。 | +| r | rectf\_t* | rectf对象。 | #### rectf\_scale 函数 ----------------------- diff --git a/docs/manual/rich_text_t.md b/docs/manual/rich_text_t.md index 0b7b21b0a..1d22e5753 100644 --- a/docs/manual/rich_text_t.md +++ b/docs/manual/rich_text_t.md @@ -58,6 +58,7 @@ widget_set_self_layout_params(rich_text, "center", "middle", "100%", "100%"); | -------- | ------------ | | rich\_text\_cast | 转换为rich_text对象(供脚本语言使用)。 | | rich\_text\_create | 创建rich_text对象 | +| rich\_text\_get\_widget\_vtable | 获取 rich_text 虚表。 | | rich\_text\_set\_text | 设置文本。 | | rich\_text\_set\_yslidable | 设置是否允许y方向滑动。 | ### 属性 @@ -111,6 +112,24 @@ widget_t* rich_text_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### rich\_text\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 rich_text 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* rich_text_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 rich\_text 虚表。 | #### rich\_text\_set\_text 函数 ----------------------- diff --git a/docs/manual/row_t.md b/docs/manual/row_t.md index 400f6d990..9b0df446f 100644 --- a/docs/manual/row_t.md +++ b/docs/manual/row_t.md @@ -36,6 +36,7 @@ row\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均适用 | -------- | ------------ | | row\_cast | 转换为row对象(供脚本语言使用)。 | | row\_create | 创建row对象 | +| row\_get\_widget\_vtable | 获取 row 虚表。 | #### row\_cast 函数 ----------------------- @@ -78,3 +79,21 @@ widget_t* row_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### row\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 row 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* row_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 row 虚表。 | diff --git a/docs/manual/scroll_bar_t.md b/docs/manual/scroll_bar_t.md index 96c06cf10..659ca9c60 100644 --- a/docs/manual/scroll_bar_t.md +++ b/docs/manual/scroll_bar_t.md @@ -49,9 +49,11 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L3 | scroll\_bar\_create | 创建scroll_bar对象 | | scroll\_bar\_create\_desktop | 创建desktop风格的scroll_bar对象 | | scroll\_bar\_create\_mobile | 创建mobile风格的scroll_bar对象 | +| scroll\_bar\_hide\_by\_opacity\_animation | 通过动画隐藏滚动条。 | | scroll\_bar\_is\_mobile | 判断是否是mobile风格的滚动条。 | | scroll\_bar\_scroll\_delta | 在当前的值上增加一个值,并滚动到新的值,并触发EVT_VALUE_CHANGED事件。 | | scroll\_bar\_scroll\_to | 滚动到指定的值。 | +| scroll\_bar\_set\_animator\_time | 设置翻页滚动动画时间。 | | scroll\_bar\_set\_auto\_hide | 设置auto_hide属性。 | | scroll\_bar\_set\_params | 设置参数。 | | scroll\_bar\_set\_value | 设置值,并触发EVT_VALUE_CHANGED事件。 | @@ -62,6 +64,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L3 | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | animatable | bool\_t | 滚动时是否启用动画。 | +| animator\_time | uint32\_t | 翻页滚动动画时间。 | | auto\_hide | bool\_t | 是否自动隐藏(仅对mobile风格的滚动条有效)。 | | row | int32\_t | 行的高度。 | | value | int32\_t | 当前的值。 | @@ -183,6 +186,27 @@ widget_t* scroll_bar_create_mobile (widget_t* parent, xy_t x, xy_t y, wh_t w, wh | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### scroll\_bar\_hide\_by\_opacity\_animation 函数 +----------------------- + +* 函数功能: + +>
通过动画隐藏滚动条。 + +* 函数原型: + +``` +ret_t scroll_bar_hide_by_opacity_animation (widget_t* widget, int32_t duration, int32_t delay); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | scroll\_bar控件。 | +| duration | int32\_t | 动画持续时间。 | +| delay | int32\_t | 动画执行时间。 | #### scroll\_bar\_is\_mobile 函数 ----------------------- @@ -243,6 +267,26 @@ ret_t scroll_bar_scroll_to (widget_t* widget, int32_t value, int32_t duration); | widget | widget\_t* | scroll\_bar控件。 | | value | int32\_t | 值。 | | duration | int32\_t | 动画持续时间。 | +#### scroll\_bar\_set\_animator\_time 函数 +----------------------- + +* 函数功能: + +>
设置翻页滚动动画时间。 + +* 函数原型: + +``` +ret_t scroll_bar_set_animator_time (widget_t* widget, uint32_t animator_time); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | scroll\_bar控件。 | +| animator\_time | uint32\_t | 时间。 | #### scroll\_bar\_set\_auto\_hide 函数 ----------------------- @@ -332,6 +376,22 @@ ret_t scroll_bar_set_value_only (widget_t* widget, int32_t value); * 类型:bool\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### animator\_time 属性 +----------------------- +>
翻页滚动动画时间。 + +* 类型:uint32\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/scroll_view_t.md b/docs/manual/scroll_view_t.md index d0f765fd3..ff4338e65 100644 --- a/docs/manual/scroll_view_t.md +++ b/docs/manual/scroll_view_t.md @@ -42,12 +42,14 @@ widget_t* scroll_view = scroll_view_create(win, 0, 0, 0, 0); | -------- | ------------ | | scroll\_view\_cast | 转换为scroll_view对象(供脚本语言使用)。 | | scroll\_view\_create | 创建scroll_view对象 | +| scroll\_view\_get\_widget\_vtable | 获取 scroll_view 虚表。 | | scroll\_view\_scroll\_delta\_to | 滚动到指定的偏移量。 | | scroll\_view\_scroll\_to | 滚动到指定的偏移量。 | | scroll\_view\_set\_move\_to\_page | 设置滚动时是否每次翻一页 | | scroll\_view\_set\_offset | 设置偏移量。 | | scroll\_view\_set\_recursive | 设置是否递归查找全部子控件。 | | scroll\_view\_set\_recursive\_only | 设置是否递归查找全部子控件。(不触发repaint和relayout)。 | +| scroll\_view\_set\_slide\_limit\_ratio | 设置滑动到极限时可继续滑动区域的占比。 | | scroll\_view\_set\_snap\_to\_page | 设置滚动时offset是否按页面对齐。 | | scroll\_view\_set\_speed\_scale | 设置偏移速度比例。 | | scroll\_view\_set\_virtual\_h | 设置虚拟高度。 | @@ -61,6 +63,7 @@ widget_t* scroll_view = scroll_view_create(win, 0, 0, 0, 0); | -------- | ----- | ------------ | | move\_to\_page | bool\_t | 是否每次翻一页(当 move_to_page 为ture 的时候才有效果,主要用于区分一次翻一页还是一次翻多页)。 | | recursive | bool\_t | 是否递归查找全部子控件。 | +| slide\_limit\_ratio | float\_t | 滑动到极限时可继续滑动区域的占比。 | | snap\_to\_page | bool\_t | 滚动时offset是否按页面对齐。 | | virtual\_h | wh\_t | 虚拟高度。 | | virtual\_w | wh\_t | 虚拟宽度。 | @@ -79,6 +82,7 @@ widget_t* scroll_view = scroll_view_create(win, 0, 0, 0, 0); | EVT\_SCROLL\_END | event\_t | 结束滚动事件。 | | EVT\_SCROLL | event\_t | 滚动事件。 | | EVT\_PAGE\_CHANGED | event\_t | 页面改变事件。 | +| EVT\_PAGE\_CHANGING | event\_t | 页面正在改变。 | #### scroll\_view\_cast 函数 ----------------------- @@ -121,6 +125,24 @@ widget_t* scroll_view_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### scroll\_view\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 scroll_view 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* scroll_view_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 scroll\_view 虚表。 | #### scroll\_view\_scroll\_delta\_to 函数 ----------------------- @@ -247,6 +269,26 @@ ret_t scroll_view_set_recursive_only (widget_t* widget, bool_t recursive); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | recursive | bool\_t | 是否递归查找全部子控件。 | +#### scroll\_view\_set\_slide\_limit\_ratio 函数 +----------------------- + +* 函数功能: + +>
设置滑动到极限时可继续滑动区域的占比。 + +* 函数原型: + +``` +ret_t scroll_view_set_slide_limit_ratio (widget_t* widget, float_t slide_limit_ratio); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| slide\_limit\_ratio | float\_t | 滑动到极限时可继续滑动区域的占比。 | #### scroll\_view\_set\_snap\_to\_page 函数 ----------------------- @@ -390,6 +432,22 @@ ret_t scroll_view_set_yslidable (widget_t* widget, bool_t yslidable); * 类型:bool\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### slide\_limit\_ratio 属性 +----------------------- +>
滑动到极限时可继续滑动区域的占比。 + +* 类型:float\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/self_layouter_t.md b/docs/manual/self_layouter_t.md index d8206d2c8..728f7c5d4 100644 --- a/docs/manual/self_layouter_t.md +++ b/docs/manual/self_layouter_t.md @@ -16,6 +16,7 @@ | self\_layouter\_get\_param\_float | 获取指定的浮点格式的参数。 | | self\_layouter\_get\_param\_int | 获取指定的整数格式的参数。 | | self\_layouter\_layout | 对控件自身进行布局。 | +| self\_layouter\_reinit | 重新计算layouter对象中的数据。 | | self\_layouter\_set\_param | 获取指定的参数。 | | self\_layouter\_set\_param\_str | 设置字符串格式的参数。 | | self\_layouter\_to\_string | 获取全部参数。 | @@ -160,6 +161,25 @@ ret_t self_layouter_layout (self_layouter_t* layouter, widget_t* widget, rect_t* | layouter | self\_layouter\_t* | layouter对象。 | | widget | widget\_t* | 控件。 | | area | rect\_t* | 可以使用的区域。 | +#### self\_layouter\_reinit 函数 +----------------------- + +* 函数功能: + +>
重新计算layouter对象中的数据。
+
+* 函数原型:
+
+```
+ret_t self_layouter_reinit (self_layouter_t* layouter);
+```
+
+* 参数说明:
+
+| 参数 | 类型 | 说明 |
+| -------- | ----- | --------- |
+| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
+| layouter | self\_layouter\_t* | layouter对象。 |
#### self\_layouter\_set\_param 函数
-----------------------
diff --git a/docs/manual/serial_widget_t.md b/docs/manual/serial_widget_t.md
new file mode 100644
index 000000000..f47a016e3
--- /dev/null
+++ b/docs/manual/serial_widget_t.md
@@ -0,0 +1,418 @@
+## serial\_widget\_t
+### 概述
+![image](images/serial_widget_t_0.png)
+
+用于串口通信的控件
+在xml中使用"serial"标签创建控件。如:
+
+```xml
+
+
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| serial\_widget\_cast | 转换为serial_widget对象(供脚本语言使用)。 | +| serial\_widget\_create | 创建serial_widget对象 | +| serial\_widget\_get\_widget\_vtable | 获取 serial_widget 虚表。 | +| serial\_widget\_set\_baudrate | 设置 波特率。 | +| serial\_widget\_set\_bytesize | 设置 字节位数。 | +| serial\_widget\_set\_check\_interval | 设置 轮询时间。 | +| serial\_widget\_set\_device | 设置 设备。 | +| serial\_widget\_set\_flowcontrol | 设置 流控。 | +| serial\_widget\_set\_parity | 设置 奇偶校验。 | +| serial\_widget\_set\_stopbits | 设置 停止位。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| baudrate | uint32\_t | 波特率。 | +| bytesize | uint32\_t | 字节位数。 | +| check\_interval | uint32\_t | 轮询时间(单位:ms)。 | +| device | char* | 设备(文件)名。 | +| flowcontrol | uint32\_t | 流控。 | +| iostream | tk\_iostream\_t* | 输入/出流。 | +| istream | tk\_istream\_t* | 输入流。 | +| ostream | tk\_ostream\_t* | 输出流。 | +| parity | uint32\_t | 奇偶校验。 | +| stopbits | uint32\_t | 停止位。 | +### 事件 +
+ +| 事件名称 | 类型 | 说明 | +| -------- | ----- | ------- | +| EVT\_DATA | event\_t | 数据到来事件。 | +#### serial\_widget\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为serial_widget对象(供脚本语言使用)。 + +* 函数原型: + +``` +widget_t* serial_widget_cast (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | serial\_widget对象。 | +| widget | widget\_t* | serial\_widget对象。 | +#### serial\_widget\_create 函数 +----------------------- + +* 函数功能: + +>
创建serial_widget对象 + +* 函数原型: + +``` +widget_t* serial_widget_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | serial\_widget对象。 | +| parent | widget\_t* | 父控件 | +| x | xy\_t | x坐标 | +| y | xy\_t | y坐标 | +| w | wh\_t | 宽度 | +| h | wh\_t | 高度 | +#### serial\_widget\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 serial_widget 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* serial_widget_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 serial\_widget 虚表。 | +#### serial\_widget\_set\_baudrate 函数 +----------------------- + +* 函数功能: + +>
设置 波特率。 + +* 函数原型: + +``` +ret_t serial_widget_set_baudrate (widget_t* widget, uint32_t baudrate); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| baudrate | uint32\_t | 波特率。 | +#### serial\_widget\_set\_bytesize 函数 +----------------------- + +* 函数功能: + +>
设置 字节位数。 + +* 函数原型: + +``` +ret_t serial_widget_set_bytesize (widget_t* widget, uint32_t bytesize); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| bytesize | uint32\_t | 字节位数。 | +#### serial\_widget\_set\_check\_interval 函数 +----------------------- + +* 函数功能: + +>
设置 轮询时间。 + +* 函数原型: + +``` +ret_t serial_widget_set_check_interval (widget_t* widget, uint32_t check_interval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| check\_interval | uint32\_t | 轮询时间(单位:ms)。 | +#### serial\_widget\_set\_device 函数 +----------------------- + +* 函数功能: + +>
设置 设备。 + +* 函数原型: + +``` +ret_t serial_widget_set_device (widget_t* widget, const char* device); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| device | const char* | 设备。 | +#### serial\_widget\_set\_flowcontrol 函数 +----------------------- + +* 函数功能: + +>
设置 流控。 + +* 函数原型: + +``` +ret_t serial_widget_set_flowcontrol (widget_t* widget, uint32_t flowcontrol); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| flowcontrol | uint32\_t | 流控。 | +#### serial\_widget\_set\_parity 函数 +----------------------- + +* 函数功能: + +>
设置 奇偶校验。 + +* 函数原型: + +``` +ret_t serial_widget_set_parity (widget_t* widget, uint32_t parity); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| parity | uint32\_t | 奇偶校验。 | +#### serial\_widget\_set\_stopbits 函数 +----------------------- + +* 函数功能: + +>
设置 停止位。 + +* 函数原型: + +``` +ret_t serial_widget_set_stopbits (widget_t* widget, uint32_t stopbits); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| stopbits | uint32\_t | 停止位。 | +#### baudrate 属性 +----------------------- +>
波特率。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### bytesize 属性 +----------------------- +>
字节位数。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### check\_interval 属性 +----------------------- +>
轮询时间(单位:ms)。 +> 仅在不支持用select等待串口数据的嵌入式设备上有效。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### device 属性 +----------------------- +>
设备(文件)名。 + +* 类型:char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### flowcontrol 属性 +----------------------- +>
流控。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### iostream 属性 +----------------------- +>
输入/出流。 + +* 类型:tk\_iostream\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### istream 属性 +----------------------- +>
输入流。 + +* 类型:tk\_istream\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### ostream 属性 +----------------------- +>
输出流。 + +* 类型:tk\_ostream\_t* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### parity 属性 +----------------------- +>
奇偶校验。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### stopbits 属性 +----------------------- +>
停止位。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | diff --git a/docs/manual/slide_indicator_t.md b/docs/manual/slide_indicator_t.md index a31efd9c3..93b4c52cd 100644 --- a/docs/manual/slide_indicator_t.md +++ b/docs/manual/slide_indicator_t.md @@ -52,14 +52,15 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L3 | slide\_indicator\_set\_max | 设置指示器的数量。 | | slide\_indicator\_set\_size | 设置指示器的大小(默认为8)。 | | slide\_indicator\_set\_spacing | 设置指示器的间距(指示器有弧度时为角度值,否则为直线间距)。 | +| slide\_indicator\_set\_transition | 设置是否启用过渡效果。 | | slide\_indicator\_set\_value | 设置当前页的序号。 | ### 属性
| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | -| anchor\_x | float\_t | 锚点x坐标。 | -| anchor\_y | float\_t | 锚点y坐标。 | +| anchor\_x | char* | 锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f) | +| anchor\_y | char* | 锚点y坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f) | | auto\_hide | uint16\_t | 自动隐藏。0表示禁止,非0表示无操作后延迟多久隐藏。 | | default\_paint | indicator\_default\_paint\_t | 指示器的类型。 | | indicated\_target | char* | 指示器指示的目标控件的名称。 | @@ -67,6 +68,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L3 | max | uint32\_t | 最大值(缺省为100)。 | | size | uint32\_t | 指示器的大小。 | | spacing | float\_t | 指示器的中心之间的间距(圆弧显示时,间距的单位为弧度,否则为像素)。 | +| transition | bool\_t | 是否启用过渡效果。 | | value | uint32\_t | 值(缺省为0)。 | ### 事件
@@ -76,6 +78,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L3 | EVT\_VALUE\_WILL\_CHANGE | value\_change\_event\_t | 值(当前页的序号)即将改变事件。 | | EVT\_VALUE\_CHANGED | value\_change\_event\_t | 值(当前页的序号)改变事件。 | | EVT\_PAGE\_CHANGED | event\_t | 页面改变事件。 | +| EVT\_PAGE\_CHANGING | event\_t | 页面正在改变。 | #### slide\_indicator\_cast 函数 ----------------------- @@ -325,6 +328,26 @@ ret_t slide_indicator_set_spacing (widget_t* widget, float_t spacing); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | slide\_indicator对象。 | | spacing | float\_t | 指示器的间距。 | +#### slide\_indicator\_set\_transition 函数 +----------------------- + +* 函数功能: + +>
设置是否启用过渡效果。 + +* 函数原型: + +``` +ret_t slide_indicator_set_transition (widget_t* widget, bool_t transition); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | slide\_indicator对象。 | +| transition | bool\_t | 是否启用过渡效果 | #### slide\_indicator\_set\_value 函数 ----------------------- @@ -347,9 +370,9 @@ ret_t slide_indicator_set_value (widget_t* widget, uint32_t value); | value | uint32\_t | 当前项的序号。 | #### anchor\_x 属性 ----------------------- ->
锚点x坐标。 +>
锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f) -* 类型:float\_t +* 类型:char* | 特性 | 是否支持 | | -------- | ----- | @@ -363,9 +386,9 @@ ret_t slide_indicator_set_value (widget_t* widget, uint32_t value); | 可通过widget\_set\_prop修改 | 是 | #### anchor\_y 属性 ----------------------- ->
锚点y坐标。 +>
锚点y坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f) -* 类型:float\_t +* 类型:char* | 特性 | 是否支持 | | -------- | ----- | @@ -479,6 +502,22 @@ ret_t slide_indicator_set_value (widget_t* widget, uint32_t value); * 类型:float\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### transition 属性 +----------------------- +>
是否启用过渡效果。 + +* 类型:bool\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/slide_menu_t.md b/docs/manual/slide_menu_t.md index 97f797c42..acdd37150 100644 --- a/docs/manual/slide_menu_t.md +++ b/docs/manual/slide_menu_t.md @@ -70,8 +70,12 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L4 | -------- | ------------ | | slide\_menu\_cast | 转换slide_menu对象(供脚本语言使用)。 | | slide\_menu\_create | 创建slide_menu对象 | +| slide\_menu\_get\_widget\_vtable | 获取 slide_menu 虚表。 | +| slide\_menu\_scroll\_to\_next | 切换至下一项。 | +| slide\_menu\_scroll\_to\_prev | 切换至上一项。 | | slide\_menu\_set\_align\_v | 设置垂直对齐方式。 | | slide\_menu\_set\_min\_scale | 设置最小缩放比例。 | +| slide\_menu\_set\_spacer | 设置菜单项之间的间距。 | | slide\_menu\_set\_value | 设置当前项。 | ### 属性
获取 slide_view 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* slide_view_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 slide\_view 虚表。 | #### slide\_view\_remove\_index 函数 ----------------------- @@ -212,6 +236,26 @@ ret_t slide_view_set_anim_hint (widget_t* widget, const char* anim_hint); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | slide\_view对象。 | | anim\_hint | const char* | 页面切换动画。 | +#### slide\_view\_set\_animating\_time 函数 +----------------------- + +* 函数功能: + +>
设置动画时间。 + +* 函数原型: + +``` +ret_t slide_view_set_animating_time (widget_t* widget, uint32_t animating_time); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | slide\_view对象。 | +| animating\_time | uint32\_t | 动画时间。 | #### slide\_view\_set\_auto\_play 函数 ----------------------- @@ -232,6 +276,26 @@ ret_t slide_view_set_auto_play (widget_t* widget, uint16_t auto_play); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | slide\_view对象。 | | auto\_play | uint16\_t | 0表示禁止自动播放,非0表示自动播放时每一页播放的时间。 | +#### slide\_view\_set\_drag\_threshold 函数 +----------------------- + +* 函数功能: + +>
设置拖拽临界值。 + +* 函数原型: + +``` +ret_t slide_view_set_drag_threshold (widget_t* widget, uint32_t drag_threshold); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | slide\_view对象。 | +| drag\_threshold | uint32\_t | 拖动临界值。 | #### slide\_view\_set\_loop 函数 ----------------------- @@ -278,6 +342,22 @@ ret_t slide_view_set_vertical (widget_t* widget, bool_t vertical); * 类型:char* +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### animating\_time 属性 +----------------------- +>
动画时间(单位:毫秒)。 + +* 类型:uint32\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | @@ -294,6 +374,22 @@ ret_t slide_view_set_vertical (widget_t* widget, bool_t vertical); * 类型:uint16\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### drag\_threshold 属性 +----------------------- +>
拖动临界值。 + +* 类型:uint32\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/slider_t.md b/docs/manual/slider_t.md index f7ba68f07..0ff637bc9 100644 --- a/docs/manual/slider_t.md +++ b/docs/manual/slider_t.md @@ -49,7 +49,9 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ------------ | | slider\_cast | 转换为slider对象(供脚本语言使用)。 | | slider\_create | 创建slider对象 | +| slider\_get\_widget\_vtable | 获取 slider 虚表。 | | slider\_set\_bar\_size | 设置bar的宽度或高度。 | +| slider\_set\_line\_cap | 设置前景色的线帽形状。(默认为跟随风格的圆角设置,但是在没有设置圆角的时候无法使用 "round" 来设置圆角) | | slider\_set\_max | 设置滑块的最大值。 | | slider\_set\_min | 设置滑块的最小值。 | | slider\_set\_step | 设置滑块的拖动的最小单位。 | @@ -63,7 +65,8 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ----- | ------------ | | bar\_size | uint32\_t | 轴的宽度或高度(单位:像素),为0表示为控件的宽度或高度的一半,缺省为0。 | | dragger\_adapt\_to\_icon | bool\_t | 滑块的宽度或高度是否与icon适应,缺省为true。 | -| dragger\_size | uint32\_t | 滑块的宽度或高度(单位:像素),缺省为10。 | +| dragger\_size | uint32\_t | 滑块的宽度或高度(单位:像素),缺省为 bar_size * 1.5。 | +| line\_cap | char* | 前景色的线帽形状。(取值:butt|round,默认为跟随风格的圆角设置, 但是在没有设置圆角的时候无法使用 "round" 来设置圆角) | | max | double | 最大值。 | | min | double | 最小值。 | | slide\_with\_bar | bool\_t | 是否允许在轴上滑动来改变滑块位置,缺省为FALSE。 | @@ -120,6 +123,24 @@ widget_t* slider_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### slider\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 slider 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* slider_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 slider 虚表。 | #### slider\_set\_bar\_size 函数 ----------------------- @@ -140,6 +161,26 @@ ret_t slider_set_bar_size (widget_t* widget, uint32_t bar_size); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | bar\_size | uint32\_t | bar的宽度或高度。 | +#### slider\_set\_line\_cap 函数 +----------------------- + +* 函数功能: + +>
设置前景色的线帽形状。(默认为跟随风格的圆角设置,但是在没有设置圆角的时候无法使用 "round" 来设置圆角) + +* 函数原型: + +``` +ret_t slider_set_line_cap (widget_t* widget, const char* line_cap); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| line\_cap | const char* | 前景色的线帽形状,取值为:butt|round | #### slider\_set\_max 函数 ----------------------- @@ -296,10 +337,26 @@ ret_t slider_set_vertical (widget_t* widget, bool_t vertical); | 可通过widget\_set\_prop修改 | 是 | #### dragger\_size 属性 ----------------------- ->
滑块的宽度或高度(单位:像素),缺省为10。 +>
滑块的宽度或高度(单位:像素),缺省为 bar_size * 1.5。 * 类型:uint32\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### line\_cap 属性 +----------------------- +>
前景色的线帽形状。(取值:butt|round,默认为跟随风格的圆角设置, 但是在没有设置圆角的时候无法使用 "round" 来设置圆角) + +* 类型:char* + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/socket.md b/docs/manual/socket.md index dd5e23efa..add404b4b 100644 --- a/docs/manual/socket.md +++ b/docs/manual/socket.md @@ -7,89 +7,15 @@ | 函数名称 | 说明 | | -------- | ------------ | -| socket\_bind | 绑定到指定端口。 | -| socket\_close | 关闭socket句柄。 | -| socket\_deinit | tcp/udp 平台~初始化。 | -| socket\_init | tcp/udp 平台初始化。 | | socket\_last\_io\_has\_error | 判断最后一次IO操作是否正常。 | | socket\_resolve | 解析主机名,并初始化addr对象。 | -| socket\_set\_blocking | 设置为阻塞或非阻塞模式。 | -| socket\_wait\_for\_data | 等待数据。 | -#### socket\_bind 函数 ------------------------ - -* 函数功能: - ->
绑定到指定端口。 - -* 函数原型: - -``` -ret_t socket_bind (int sock, int port); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| sock | int | socket句柄。 | -| port | int | 端口号。 | -#### socket\_close 函数 ------------------------ - -* 函数功能: - ->
关闭socket句柄。 - -* 函数原型: - -``` -ret_t socket_close (int sock); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| sock | int | socket句柄。 | -#### socket\_deinit 函数 ------------------------ - -* 函数功能: - ->
tcp/udp 平台~初始化。 - -* 函数原型: - -``` -ret_t socket_deinit (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -#### socket\_init 函数 ------------------------ - -* 函数功能: - ->
tcp/udp 平台初始化。 - -* 函数原型: - -``` -ret_t socket_init (); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| tk\_socket\_bind | 绑定到指定端口。 | +| tk\_socket\_bind\_ex | 绑定到指定IP和端口。 | +| tk\_socket\_close | 关闭socket句柄。 | +| tk\_socket\_deinit | tcp/udp 平台~初始化。 | +| tk\_socket\_init | tcp/udp 平台初始化。 | +| tk\_socket\_set\_blocking | 设置为阻塞或非阻塞模式。 | +| tk\_socket\_wait\_for\_data | 等待数据。 | #### socket\_last\_io\_has\_error 函数 ----------------------- @@ -129,17 +55,113 @@ struct sockaddr* socket_resolve (int sock, bool_t , struct sockaddr_in* addr); | sock | int | socket句柄。 | | | bool\_t | g | | addr | struct sockaddr\_in* | 地址对象。 | -#### socket\_set\_blocking 函数 +#### tk\_socket\_bind 函数 ----------------------- * 函数功能: ->
设置为阻塞或非阻塞模式。 +>
绑定到指定端口。 * 函数原型: ``` -ret_t socket_set_blocking (int sock, bool_t blocking); +ret_t tk_socket_bind (int sock, int port); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| sock | int | socket句柄。 | +| port | int | 端口号。 | +#### tk\_socket\_bind\_ex 函数 +----------------------- + +* 函数功能: + +>
绑定到指定IP和端口。 + +* 函数原型: + +``` +ret_t tk_socket_bind_ex (int sock, const char* ip, int port); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| sock | int | socket句柄。 | +| ip | const char* | IP地址(可以为NULL)。 | +| port | int | 端口号。 | +#### tk\_socket\_close 函数 +----------------------- + +* 函数功能: + +>
关闭socket句柄。 + +* 函数原型: + +``` +ret_t tk_socket_close (int sock); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| sock | int | socket句柄。 | +#### tk\_socket\_deinit 函数 +----------------------- + +* 函数功能: + +>
tcp/udp 平台~初始化。 + +* 函数原型: + +``` +ret_t tk_socket_deinit (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### tk\_socket\_init 函数 +----------------------- + +* 函数功能: + +>
tcp/udp 平台初始化。 + +* 函数原型: + +``` +ret_t tk_socket_init (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### tk\_socket\_set\_blocking 函数 +----------------------- + +* 函数功能: + +>
设置为阻塞或非阻塞模式。 + +* 函数原型: + +``` +ret_t tk_socket_set_blocking (int sock, bool_t blocking); ``` * 参数说明: @@ -149,17 +171,17 @@ ret_t socket_set_blocking (int sock, bool_t blocking); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | sock | int | socket句柄。 | | blocking | bool\_t | 是否阻塞。 | -#### socket\_wait\_for\_data 函数 +#### tk\_socket\_wait\_for\_data 函数 ----------------------- * 函数功能: ->
等待数据。 +>
等待数据。 * 函数原型: ``` -ret_t socket_wait_for_data (int sock, uint32_t timeout_ms); +ret_t tk_socket_wait_for_data (int sock, uint32_t timeout_ms); ``` * 参数说明: diff --git a/docs/manual/spin_box_t.md b/docs/manual/spin_box_t.md index 97dfd3cd0..a4b3ac295 100644 --- a/docs/manual/spin_box_t.md +++ b/docs/manual/spin_box_t.md @@ -58,6 +58,18 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ------------ | | spin\_box\_cast | 转换为spin_box对象(供脚本语言使用)。 | | spin\_box\_create | 创建spin_box对象 | +| spin\_box\_get\_widget\_vtable | 获取 spin_box 虚表。 | +| spin\_box\_set\_button\_position | 设置按钮位置样式。 | +| spin\_box\_set\_easy\_touch\_mode | 设置是否启用易点击模式。 | +| spin\_set\_repeat | 设置连击的时间间隔。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| button\_position | char* | 按钮位置样式选择,优先级高于easy_touch_mode,各模式对应样式如下,默认为none。 | +| easy\_touch\_mode | bool\_t | 是否启用易点击模式(在电容屏设备上建议启用)。 | +| repeat | int32\_t | 重复触发EVT\_CLICK事件的时间间隔。 | #### spin\_box\_cast 函数 ----------------------- @@ -100,3 +112,140 @@ widget_t* spin_box_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### spin\_box\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 spin_box 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* spin_box_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 spin\_box 虚表。 | +#### spin\_box\_set\_button\_position 函数 +----------------------- + +* 函数功能: + +>
设置是否启用易点击模式。 + +* 函数原型: + +``` +ret_t spin_box_set_easy_touch_mode (widget_t* widget, bool_t easy_touch_mode); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| easy\_touch\_mode | bool\_t | 易点击模式。 | +#### spin\_set\_repeat 函数 +----------------------- + +* 函数功能: + +>
设置连击的时间间隔。 +备注:时间间隔越低,速度越快。 + +* 函数原型: + +``` +ret_t spin_set_repeat (widget_t* widget, int32_t repeat); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| repeat | int32\_t | 连击的时间间隔。 | +#### button\_position 属性 +----------------------- +>
是否启用易点击模式(在电容屏设备上建议启用)。 +> 在该模式下: +> * 1.当高度大于font size的3倍时,inc按钮在顶部(style名为spinbox_top),dec按钮在底部(style名为spinbox_bottom)。 +> * 2.当高度正常时,dec按钮在左边(style名为spinbox_left),inc按钮在右边(style名为spinbox_right)。 +> 不在该模式下: +> inc按钮在右上角(style名为spinbox_up),dec按钮在右下角(style名为spinbox_down)。 + +* 类型:bool\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### repeat 属性 +----------------------- +>
重复触发EVT\_CLICK事件的时间间隔。 + +为0则不重复触发EVT\_CLICK事件。 + +* 类型:int32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | diff --git a/docs/manual/str_t.md b/docs/manual/str_t.md index aa977c074..80acb511e 100644 --- a/docs/manual/str_t.md +++ b/docs/manual/str_t.md @@ -25,6 +25,7 @@ str_reset(&s); | str\_append | 追加字符串。 | | str\_append\_char | 追加一个字符。 | | str\_append\_double | 追加一个浮点数。 | +| str\_append\_format | 通过格式追加字符串。 | | str\_append\_int | 追加一个整数。 | | str\_append\_int64 | 追加一个int64整数。 | | str\_append\_json\_bool\_pair | 追加bool格式的json键值对。 | @@ -38,16 +39,23 @@ str_reset(&s); | str\_append\_with\_len | 追加字符串。 | | str\_clear | 清除字符串内容。 | | str\_common\_prefix | 计算str和other的共同前缀,并设置到str中。 | +| str\_count | 统计字串出现的次数。 | +| str\_decode\_hex | 把16进制格式的字符串解码成字符串。 | | str\_decode\_xml\_entity | 对XML基本的entity进行解码,目前仅支持<>"a;&。 | | str\_decode\_xml\_entity\_with\_len | 对XML基本的entity进行解码,目前仅支持<>"a;&。 | | str\_encode\_hex | 把二进制的数据编码成16进制格式的字符串。 | -| str\_encode\_hex | 把16进制格式的字符串解码成字符串。 | +| str\_encode\_xml\_entity | 对XML基本的entity进行编码,目前仅支持<>"a;&。 | +| str\_encode\_xml\_entity\_with\_len | 对XML基本的entity进行编码,目前仅支持<>"a;&。 | | str\_end\_with | 判断字符串是否以指定的子串结尾。 | | str\_eq | 判断两个字符串是否相等。 | | str\_expand\_vars | 将字符串中的变量展开为obj中对应的属性值。 | | str\_extend | 扩展字符串到指定的容量。 | +| str\_format | 通过格式设置字符串。 | | str\_from\_float | 用浮点数初始化字符串。 | | str\_from\_int | 用整数初始化字符串。 | +| str\_from\_int64 | 用整数初始化字符串。 | +| str\_from\_uint32 | 用整数初始化字符串。 | +| str\_from\_uint64 | 用整数初始化字符串。 | | str\_from\_value | 用value初始化字符串。 | | str\_from\_wstr | 用value初始化字符串。 | | str\_from\_wstr\_with\_len | 用value初始化字符串。 | @@ -58,6 +66,7 @@ str_reset(&s); | str\_remove | 删除子字符串。 | | str\_replace | 字符串替换。 | | str\_reset | 重置字符串为空。 | +| str\_reverse | 前后颠倒字符串。 | | str\_set | 设置字符串。 | | str\_set\_with\_len | 设置字符串。 | | str\_start\_with | 判断字符串是否以指定的子串开头。 | @@ -138,6 +147,27 @@ ret_t str_append_double (str_t* str, const char* format, double value); | str | str\_t* | str对象。 | | format | const char* | 格式。 | | value | double | 要追加的浮点数。 | +#### str\_append\_format 函数 +----------------------- + +* 函数功能: + +>
通过格式追加字符串。 + +* 函数原型: + +``` +ret_t str_append_format (str_t* str, uint32_t size, const char* format); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| size | uint32\_t | format生成的字符串的最大长度(用于预先分配内存)。 | +| format | const char* | 格式。 | #### str\_append\_int 函数 ----------------------- @@ -415,6 +445,47 @@ ret_t str_common_prefix (str_t* str, const char* other); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | | other | const char* | 另外一个字符串。 | +#### str\_count 函数 +----------------------- + +* 函数功能: + +>
统计字串出现的次数。 + +* 函数原型: + +``` +uint32_t str_count (str_t* str, const char* substr); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回字符串出现的次数。 | +| str | str\_t* | str对象。 | +| substr | const char* | 字串。 | +#### str\_decode\_hex 函数 +----------------------- + +* 函数功能: + +>
把16进制格式的字符串解码成字符串。 + +* 函数原型: + +``` +ret_t str_decode_hex (str_t* str, uint8_t* data, uint32_t size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| data | uint8\_t* | 数据缓存区(返回)。 | +| size | uint32\_t | 数据最大长度。 | #### str\_decode\_xml\_entity 函数 ----------------------- @@ -478,17 +549,17 @@ ret_t str_encode_hex (str_t* str, const uint8_t* data, uint32_t size, const char | data | const uint8\_t* | 数据。 | | size | uint32\_t | 数据长度。 | | format | const char* | 格式(如:"%02x" 表示生成小写) | -#### str\_encode\_hex 函数 +#### str\_encode\_xml\_entity 函数 ----------------------- * 函数功能: ->
把16进制格式的字符串解码成字符串。 +>
对XML基本的entity进行编码,目前仅支持<>"a;&。 * 函数原型: ``` -ret_t str_encode_hex (str_t* str, uint8_t* data, uint32_t size); +ret_t str_encode_xml_entity (str_t* str, char* text); ``` * 参数说明: @@ -497,8 +568,28 @@ ret_t str_encode_hex (str_t* str, uint8_t* data, uint32_t size); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | -| data | uint8\_t* | 数据缓存区(返回)。 | -| size | uint32\_t | 数据最大长度。 | +| text | char* | 要编码的XML文本。 | +#### str\_encode\_xml\_entity\_with\_len 函数 +----------------------- + +* 函数功能: + +>
对XML基本的entity进行编码,目前仅支持<>"a;&。 + +* 函数原型: + +``` +ret_t str_encode_xml_entity_with_len (str_t* str, char* text, uint32_t len); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| text | char* | 要编码的XML文本。 | +| len | uint32\_t | 字符串长度。 | #### str\_end\_with 函数 ----------------------- @@ -584,6 +675,27 @@ ret_t str_extend (str_t* str, uint32_t capacity); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | | capacity | uint32\_t | 初始容量。 | +#### str\_format 函数 +----------------------- + +* 函数功能: + +>
通过格式设置字符串。 + +* 函数原型: + +``` +ret_t str_format (str_t* str, uint32_t size, const char* format); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| size | uint32\_t | format生成的字符串的最大长度(用于预先分配内存)。 | +| format | const char* | 格式。 | #### str\_from\_float 函数 ----------------------- @@ -594,7 +706,7 @@ ret_t str_extend (str_t* str, uint32_t capacity); * 函数原型: ``` -ret_t str_from_float (str_t* str, double v); +ret_t str_from_float (str_t* str, double value); ``` * 参数说明: @@ -603,7 +715,7 @@ ret_t str_from_float (str_t* str, double v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | -| v | double | 浮点数。 | +| value | double | 浮点数。 | #### str\_from\_int 函数 ----------------------- @@ -614,7 +726,7 @@ ret_t str_from_float (str_t* str, double v); * 函数原型: ``` -ret_t str_from_int (str_t* str, int32_t v); +ret_t str_from_int (str_t* str, int32_t value); ``` * 参数说明: @@ -623,7 +735,67 @@ ret_t str_from_int (str_t* str, int32_t v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | -| v | int32\_t | 整数。 | +| value | int32\_t | 整数。 | +#### str\_from\_int64 函数 +----------------------- + +* 函数功能: + +>
用整数初始化字符串。 + +* 函数原型: + +``` +ret_t str_from_int64 (str_t* str, int64_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| value | int64\_t | 整数。 | +#### str\_from\_uint32 函数 +----------------------- + +* 函数功能: + +>
用整数初始化字符串。 + +* 函数原型: + +``` +ret_t str_from_uint32 (str_t* str, uint32_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| value | uint32\_t | 整数。 | +#### str\_from\_uint64 函数 +----------------------- + +* 函数功能: + +>
用整数初始化字符串。 + +* 函数原型: + +``` +ret_t str_from_uint64 (str_t* str, uint64_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +| value | uint64\_t | 整数。 | #### str\_from\_value 函数 ----------------------- @@ -634,7 +806,7 @@ ret_t str_from_int (str_t* str, int32_t v); * 函数原型: ``` -ret_t str_from_value (str_t* str, value_t v); +ret_t str_from_value (str_t* str, value_t value); ``` * 参数说明: @@ -643,7 +815,7 @@ ret_t str_from_value (str_t* str, value_t v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | -| v | value\_t | value。 | +| value | value\_t | value。 | #### str\_from\_wstr 函数 ----------------------- @@ -824,6 +996,25 @@ ret_t str_reset (str_t* str); * 参数说明: +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| str | str\_t* | str对象。 | +#### str\_reverse 函数 +----------------------- + +* 函数功能: + +>
前后颠倒字符串。 + +* 函数原型: + +``` +ret_t str_reverse (str_t* str); +``` + +* 参数说明: + | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | @@ -899,7 +1090,7 @@ bool_t str_start_with (str_t* str, char* text); * 函数原型: ``` -ret_t str_to_float (str_t* str, double* v); +ret_t str_to_float (str_t* str, double* value); ``` * 参数说明: @@ -908,7 +1099,7 @@ ret_t str_to_float (str_t* str, double* v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | -| v | double* | 用于返回浮点数。 | +| value | double* | 用于返回浮点数。 | #### str\_to\_int 函数 ----------------------- @@ -919,7 +1110,7 @@ ret_t str_to_float (str_t* str, double* v); * 函数原型: ``` -ret_t str_to_int (str_t* str, int32_t* v); +ret_t str_to_int (str_t* str, int32_t* value); ``` * 参数说明: @@ -928,7 +1119,7 @@ ret_t str_to_int (str_t* str, int32_t* v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | str | str\_t* | str对象。 | -| v | int32\_t* | 用于返回整数。 | +| value | int32\_t* | 用于返回整数。 | #### str\_to\_lower 函数 ----------------------- diff --git a/docs/manual/style_id_t.md b/docs/manual/style_id_t.md index cea300d4c..9035e2406 100644 --- a/docs/manual/style_id_t.md +++ b/docs/manual/style_id_t.md @@ -4,48 +4,52 @@ style常量定义。 ### 常量
-| 名称 | 说明 | -| --------------------------------------- | ---------------------------------------------- | -| STYLE\_ID\_BG\_COLOR | 背景颜色。 | -| STYLE\_ID\_FG\_COLOR | 前景颜色。 | -| STYLE\_ID\_MASK\_COLOR | 蒙版颜色。 | -| STYLE\_ID\_FONT\_NAME | 字体名称。 | -| STYLE\_ID\_FONT\_SIZE | 字体大小。 | -| STYLE\_ID\_FONT\_STYLE | 字体风格(粗体、斜体等)。 | -| STYLE\_ID\_TEXT\_COLOR | 文本颜色。 | -| STYLE\_ID\_HIGHLIGHT\_FONT\_NAME | 高亮文本的字体名称。 | -| STYLE\_ID\_HIGHLIGHT\_FONT\_SIZE | 高亮文本的字体大小。 | -| STYLE\_ID\_HIGHLIGHT\_TEXT\_COLOR | 高亮文本的文本颜色。 | -| STYLE\_ID\_TIPS\_TEXT\_COLOR | 提示文本颜色。 | -| STYLE\_ID\_TEXT\_ALIGN\_H | 文本水平对齐的方式。 | -| STYLE\_ID\_TEXT\_ALIGN\_V | 文本垂直对齐的方式。 | -| STYLE\_ID\_BORDER\_COLOR | 边框颜色。 | -| STYLE\_ID\_BORDER\_WIDTH | 边框线宽。 | -| STYLE\_ID\_BORDER | 边框类型。 | -| STYLE\_ID\_BG\_IMAGE | 图片的名称。 | -| STYLE\_ID\_BG\_IMAGE\_DRAW\_TYPE | 图片的显示方式。 | -| STYLE\_ID\_ICON | 图标的名称。 | -| STYLE\_ID\_FG\_IMAGE | 图片的名称。 | -| STYLE\_ID\_FG\_IMAGE\_DRAW\_TYPE | 图片的显示方式。 | -| STYLE\_ID\_SPACER | 间距。 | -| STYLE\_ID\_MARGIN | 边距。 | -| STYLE\_ID\_MARGIN\_LEFT | 左边距。 | -| STYLE\_ID\_MARGIN\_RIGHT | 右边距。 | -| STYLE\_ID\_MARGIN\_TOP | 顶边距。 | -| STYLE\_ID\_MARGIN\_BOTTOM | 底边距。 | -| STYLE\_ID\_ICON\_AT | 图标的位置。 | -| STYLE\_ID\_ACTIVE\_ICON | Active图标的名称。 | -| STYLE\_ID\_X\_OFFSET | X方向的偏移,方便实现按下的效果。 | -| STYLE\_ID\_Y\_OFFSET | Y方向的偏移,方便实现按下的效果。 | -| STYLE\_ID\_SELECTED\_BG\_COLOR | 编辑器中选中区域的背景颜色。 | -| STYLE\_ID\_SELECTED\_FG\_COLOR | 编辑器中选中区域的前景颜色。 | -| STYLE\_ID\_SELECTED\_TEXT\_COLOR | 编辑器中选中区域的文本颜色。 | -| STYLE\_ID\_ROUND\_RADIUS | 圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | -| STYLE\_ID\_ROUND\_RADIUS\_TOP\_LEFT | 左上角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | -| STYLE\_ID\_ROUND\_RADIUS\_TOP\_RIGHT | 右上角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | -| STYLE\_ID\_ROUND\_RADIUS\_BOTTOM\_LEFT | 左下角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | +| 名称 | 说明 | +| -------- | ------- | +| STYLE\_ID\_BG\_COLOR | 背景颜色。 | +| STYLE\_ID\_FG\_COLOR | 前景颜色。 | +| STYLE\_ID\_MASK\_COLOR | 蒙版颜色。 | +| STYLE\_ID\_FONT\_NAME | 字体名称。 | +| STYLE\_ID\_FONT\_SIZE | 字体大小。 | +| STYLE\_ID\_FONT\_STYLE | 字体风格(粗体、斜体等)。 | +| STYLE\_ID\_TEXT\_COLOR | 文本颜色。 | +| STYLE\_ID\_HIGHLIGHT\_FONT\_NAME | 高亮文本的字体名称。 | +| STYLE\_ID\_HIGHLIGHT\_FONT\_SIZE | 高亮文本的字体大小。 | +| STYLE\_ID\_HIGHLIGHT\_TEXT\_COLOR | 高亮文本的文本颜色。 | +| STYLE\_ID\_TIPS\_TEXT\_COLOR | 提示文本颜色。 | +| STYLE\_ID\_TEXT\_ALIGN\_H | 文本水平对齐的方式。 | +| STYLE\_ID\_TEXT\_ALIGN\_V | 文本垂直对齐的方式。 | +| STYLE\_ID\_BORDER\_COLOR | 边框颜色。 | +| STYLE\_ID\_BORDER\_WIDTH | 边框线宽。 | +| STYLE\_ID\_BORDER | 边框类型。 | +| STYLE\_ID\_BG\_IMAGE | 图片的名称。 | +| STYLE\_ID\_BG\_IMAGE\_DRAW\_TYPE | 图片的显示方式。 | +| STYLE\_ID\_ICON | 图标的名称。 | +| STYLE\_ID\_FG\_IMAGE | 图片的名称。 | +| STYLE\_ID\_FG\_IMAGE\_DRAW\_TYPE | 图片的显示方式。 | +| STYLE\_ID\_SPACER | 间距。 | +| STYLE\_ID\_MARGIN | 边距。 | +| STYLE\_ID\_MARGIN\_LEFT | 左边距。 | +| STYLE\_ID\_MARGIN\_RIGHT | 右边距。 | +| STYLE\_ID\_MARGIN\_TOP | 顶边距。 | +| STYLE\_ID\_MARGIN\_BOTTOM | 底边距。 | +| STYLE\_ID\_ICON\_AT | 图标的位置。 | +| STYLE\_ID\_ACTIVE\_ICON | Active图标的名称。 | +| STYLE\_ID\_X\_OFFSET | X方向的偏移,方便实现按下的效果。 | +| STYLE\_ID\_Y\_OFFSET | Y方向的偏移,方便实现按下的效果。 | +| STYLE\_ID\_SELECTED\_BG\_COLOR | 编辑器中选中区域的背景颜色。 | +| STYLE\_ID\_SELECTED\_FG\_COLOR | 编辑器中选中区域的前景颜色。 | +| STYLE\_ID\_SELECTED\_TEXT\_COLOR | 编辑器中选中区域的文本颜色。 | +| STYLE\_ID\_ROUND\_RADIUS | 圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | +| STYLE\_ID\_ROUND\_RADIUS\_TOP\_LEFT | 左上角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | +| STYLE\_ID\_ROUND\_RADIUS\_TOP\_RIGHT | 右上角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | +| STYLE\_ID\_ROUND\_RADIUS\_BOTTOM\_LEFT | 左下角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | | STYLE\_ID\_ROUND\_RADIUS\_BOTTOM\_RIGHT | 右下角圆角半径(仅在WITH\_VGCANVAS定义时生效)。 | -| STYLE\_ID\_CHILDREN\_LAYOUT | 子控件布局参数。 | -| STYLE\_ID\_SELF\_LAYOUT | 控件布局参数。 | -| STYLE\_ID\_FOCUSABLE | 是否支持焦点停留。 | -| STYLE\_ID\_FEEDBACK | 是否启用按键音、触屏音和震动等反馈。 | +| STYLE\_ID\_CHILDREN\_LAYOUT | 子控件布局参数。 | +| STYLE\_ID\_SELF\_LAYOUT | 控件布局参数。 | +| STYLE\_ID\_FOCUSABLE | 是否支持焦点停留。 | +| STYLE\_ID\_FEEDBACK | 是否启用按键音、触屏音和震动等反馈。 | +| STYLE\_ID\_CLEAR\_BG | 是否用clear\_rect代替fill\_rect绘制背景。 | +| STYLE\_ID\_GRID\_COLOR | 网格线颜色(grid控件) | +| STYLE\_ID\_EVEN\_BG\_COLOR | 偶数行背景颜色(grid控件) | +| STYLE\_ID\_ODD\_BG\_COLOR | 奇数行背景颜色(grid控件) | diff --git a/docs/manual/svg_helper_t.md b/docs/manual/svg_helper_t.md index 50c99ca6c..e53cdb209 100644 --- a/docs/manual/svg_helper_t.md +++ b/docs/manual/svg_helper_t.md @@ -7,90 +7,9 @@ | 函数名称 | 说明 | | -------- | ------------ | -| action\_queue\_create | 创建action_queue对象。 | -| action\_queue\_destroy | 销毁。 | -| action\_queue\_recv | 接收一个请求。 | -| action\_queue\_send | 发送一个请求。 | | bsvg\_to\_svg | bsvg to svg | +| svg\_file\_to\_bsvg | svg to bsvg | | svg\_to\_bsvg | svg to bsvg | -#### action\_queue\_create 函数 ------------------------ - -* 函数功能: - ->
创建action_queue对象。 - -* 函数原型: - -``` -action_queue_t* action_queue_create (uint32_t capacity); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | action\_queue\_t* | action\_queue对象。 | -| capacity | uint32\_t | action的容量。 | -#### action\_queue\_destroy 函数 ------------------------ - -* 函数功能: - ->
销毁。 - -* 函数原型: - -``` -ret_t action_queue_destroy (action_queue_t* q); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| q | action\_queue\_t* | action\_queue对象。 | -#### action\_queue\_recv 函数 ------------------------ - -* 函数功能: - ->
接收一个请求。 - -* 函数原型: - -``` -ret_t action_queue_recv (action_queue_t* q, qaction_t** action); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| q | action\_queue\_t* | action\_queue对象。 | -| action | qaction\_t** | 用于返回action对象。 | -#### action\_queue\_send 函数 ------------------------ - -* 函数功能: - ->
发送一个请求。 - -* 函数原型: - -``` -ret_t action_queue_send (action_queue_t* q, qaction_t* action); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| q | action\_queue\_t* | action\_queue对象。 | -| action | qaction\_t* | action对象。 | #### bsvg\_to\_svg 函数 ----------------------- @@ -112,6 +31,26 @@ ret_t bsvg_to_svg (uint32_t* data, uint32_t size, str_t* str); | data | uint32\_t* | bsvg数据。 | | size | uint32\_t | bsvg数据长度。 | | str | str\_t* | 用于返回svg数据。 | +#### svg\_file\_to\_bsvg 函数 +----------------------- + +* 函数功能: + +>
svg to bsvg + +* 函数原型: + +``` +ret_t svg_file_to_bsvg (const char* ifilename, const char* ofilename); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| ifilename | const char* | svg文件名。 | +| ofilename | const char* | bsvg文件名。 | #### svg\_to\_bsvg 函数 ----------------------- diff --git a/docs/manual/svg_image_t.md b/docs/manual/svg_image_t.md index af1ebb7e6..48eefeae4 100644 --- a/docs/manual/svg_image_t.md +++ b/docs/manual/svg_image_t.md @@ -47,6 +47,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml) | -------- | ------------ | | svg\_image\_cast | 转换为svg_image对象(供脚本语言使用)。 | | svg\_image\_create | 创建svg_image对象 | +| svg\_image\_get\_widget\_vtable | 获取 svg_image 虚表。 | | svg\_image\_set\_image | 设置控件的图片名称。 | #### svg\_image\_cast 函数 ----------------------- @@ -90,6 +91,24 @@ widget_t* svg_image_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### svg\_image\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 svg_image 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* svg_image_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 svg\_image 虚表。 | #### svg\_image\_set\_image 函数 ----------------------- diff --git a/docs/manual/switch_t.md b/docs/manual/switch_t.md index 34089ee67..63e556b75 100644 --- a/docs/manual/switch_t.md +++ b/docs/manual/switch_t.md @@ -43,6 +43,7 @@ https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L4 | -------- | ------------ | | switch\_cast | 转换switch对象(供脚本语言使用)。 | | switch\_create | 创建switch对象 | +| switch\_get\_widget\_vtable | 获取 switch 虚表。 | | switch\_set\_value | 设置控件的值。 | ### 属性
@@ -101,6 +102,24 @@ widget_t* switch_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### switch\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 switch 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* switch_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 switch 虚表。 | #### switch\_set\_value 函数 ----------------------- diff --git a/docs/manual/system_bar_t.md b/docs/manual/system_bar_t.md index 31abb310d..086874c9f 100644 --- a/docs/manual/system_bar_t.md +++ b/docs/manual/system_bar_t.md @@ -59,6 +59,7 @@ widget_t* win = system_bar_create(NULL, 0, 0, 320, 30); | -------- | ------------ | | system\_bar\_cast | 转换为system_bar对象(供脚本语言使用)。 | | system\_bar\_create | 创建system_bar对象。 | +| system\_bar\_get\_widget\_vtable | 获取 system_bar 虚表。 | #### system\_bar\_cast 函数 ----------------------- @@ -101,3 +102,21 @@ widget_t* system_bar_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### system\_bar\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 system_bar 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* system_bar_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 system\_bar 虚表。 | diff --git a/docs/manual/system_event_t.md b/docs/manual/system_event_t.md new file mode 100644 index 000000000..3197daa52 --- /dev/null +++ b/docs/manual/system_event_t.md @@ -0,0 +1,70 @@ +## system\_event\_t +### 概述 +![image](images/system_event_t_0.png) + +系统事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| system\_event\_cast | 把event对象转system_event_t对象。主要给脚本语言使用。 | +| system\_event\_init | 初始化事件。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| sdl\_event | void* | SDL_Event。 | +#### system\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转system_event_t对象。主要给脚本语言使用。 + +* 函数原型: + +``` +system_event_t* system_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | system\_event\_t* | event 对象。 | +| event | event\_t* | event对象。 | +#### system\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始化事件。 + +* 函数原型: + +``` +event_t* system_event_init (system_event_t* event, void* target, void* sdl_event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | event对象。 | +| event | system\_event\_t* | event对象。 | +| target | void* | 事件目标。 | +| sdl\_event | void* | SDL\_Event对象。 | +#### sdl\_event 属性 +----------------------- +>
SDL_Event。 + +* 类型:void* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | diff --git a/docs/manual/system_info_flag_t.md b/docs/manual/system_info_flag_t.md new file mode 100644 index 000000000..bf038eee7 --- /dev/null +++ b/docs/manual/system_info_flag_t.md @@ -0,0 +1,10 @@ +## system\_info\_flag\_t +### 概述 +SystemInfo常量定义。 +### 常量 +
+ +| 名称 | 说明 | +| -------- | ------- | +| SYSTEM\_INFO\_FLAG\_NONE | 无特殊标志。 | +| SYSTEM\_INFO\_FLAG\_FAST\_LCD\_PORTRAIT | 使用快速旋转功能。 | diff --git a/docs/manual/system_info_t.md b/docs/manual/system_info_t.md index f60376ca6..41b52ce40 100644 --- a/docs/manual/system_info_t.md +++ b/docs/manual/system_info_t.md @@ -35,6 +35,7 @@ | default\_font | const char* | 缺省字体。 | | device\_orientation | const char* | 显示屏的方向名称,可选值:"portrait"表示竖屏,"landscape"表示横屏。 | | device\_pixel\_ratio | float\_t | 显示屏的密度。 | +| flags | uint32\_t | 标志。请参考{system_info_flag_t}。 | | font\_scale | float\_t | 字体缩放比例,用于实现字体整体放大。 | | keyboard\_type | keyboard\_type\_t | 键盘类型。 | | language | const char* | locale中的语言。 | @@ -149,7 +150,7 @@ ret_t system_info_init (app_type_t app_type, const char* app_name, const char* a * 函数原型: ``` -ret_t system_info_set_app_root (system_info_t* info info, const char* app_root); +ret_t system_info_set_app_root (system_info_t* info, const char* app_root); ``` * 参数说明: @@ -157,7 +158,7 @@ ret_t system_info_set_app_root (system_info_t* info info, const char* app_root); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | app\_root | const char* | app root。 | #### system\_info\_set\_default\_font 函数 ----------------------- @@ -169,7 +170,7 @@ ret_t system_info_set_app_root (system_info_t* info info, const char* app_root); * 函数原型: ``` -ret_t system_info_set_default_font (system_info_t* info info, const char* default_font); +ret_t system_info_set_default_font (system_info_t* info, const char* default_font); ``` * 参数说明: @@ -177,7 +178,7 @@ ret_t system_info_set_default_font (system_info_t* info info, const char* defaul | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | default\_font | const char* | 缺省字体。 | #### system\_info\_set\_device\_pixel\_ratio 函数 ----------------------- @@ -189,7 +190,7 @@ ret_t system_info_set_default_font (system_info_t* info info, const char* defaul * 函数原型: ``` -ret_t system_info_set_device_pixel_ratio (system_info_t* info info, float_t device_pixel_ratio); +ret_t system_info_set_device_pixel_ratio (system_info_t* info, float_t device_pixel_ratio); ``` * 参数说明: @@ -197,7 +198,7 @@ ret_t system_info_set_device_pixel_ratio (system_info_t* info info, float_t devi | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | device\_pixel\_ratio | float\_t | 设置LCD密度。 | #### system\_info\_set\_font\_scale 函数 ----------------------- @@ -209,7 +210,7 @@ ret_t system_info_set_device_pixel_ratio (system_info_t* info info, float_t devi * 函数原型: ``` -ret_t system_info_set_font_scale (system_info_t* info info, float_t font_scale); +ret_t system_info_set_font_scale (system_info_t* info, float_t font_scale); ``` * 参数说明: @@ -217,7 +218,7 @@ ret_t system_info_set_font_scale (system_info_t* info info, float_t font_scale); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | font\_scale | float\_t | 字体缩放比例。 | #### system\_info\_set\_keyboard\_type 函数 ----------------------- @@ -229,7 +230,7 @@ ret_t system_info_set_font_scale (system_info_t* info info, float_t font_scale); * 函数原型: ``` -ret_t system_info_set_keyboard_type (system_info_t* info info, keyboard_type_t keyboard_type); +ret_t system_info_set_keyboard_type (system_info_t* info, keyboard_type_t keyboard_type); ``` * 参数说明: @@ -237,7 +238,7 @@ ret_t system_info_set_keyboard_type (system_info_t* info info, keyboard_type_t k | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | keyboard\_type | keyboard\_type\_t | 键盘类型。 | #### system\_info\_set\_lcd\_h 函数 ----------------------- @@ -249,7 +250,7 @@ ret_t system_info_set_keyboard_type (system_info_t* info info, keyboard_type_t k * 函数原型: ``` -ret_t system_info_set_lcd_h (system_info_t* info info, uint32_t lcd_h); +ret_t system_info_set_lcd_h (system_info_t* info, uint32_t lcd_h); ``` * 参数说明: @@ -257,7 +258,7 @@ ret_t system_info_set_lcd_h (system_info_t* info info, uint32_t lcd_h); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | lcd\_h | uint32\_t | 设置LCD高度。 | #### system\_info\_set\_lcd\_orientation 函数 ----------------------- @@ -269,7 +270,7 @@ ret_t system_info_set_lcd_h (system_info_t* info info, uint32_t lcd_h); * 函数原型: ``` -ret_t system_info_set_lcd_orientation (system_info_t* info info, lcd_orientation_t lcd_orientation); +ret_t system_info_set_lcd_orientation (system_info_t* info, lcd_orientation_t lcd_orientation); ``` * 参数说明: @@ -277,7 +278,7 @@ ret_t system_info_set_lcd_orientation (system_info_t* info info, lcd_orientation | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | lcd\_orientation | lcd\_orientation\_t | 设置LCD的旋转角度。 | #### system\_info\_set\_lcd\_type 函数 ----------------------- @@ -289,7 +290,7 @@ ret_t system_info_set_lcd_orientation (system_info_t* info info, lcd_orientation * 函数原型: ``` -ret_t system_info_set_lcd_type (system_info_t* info info, lcd_type_t lcd_type); +ret_t system_info_set_lcd_type (system_info_t* info, lcd_type_t lcd_type); ``` * 参数说明: @@ -297,7 +298,7 @@ ret_t system_info_set_lcd_type (system_info_t* info info, lcd_type_t lcd_type); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | lcd\_type | lcd\_type\_t | 设置LCD类型。 | #### system\_info\_set\_lcd\_w 函数 ----------------------- @@ -309,7 +310,7 @@ ret_t system_info_set_lcd_type (system_info_t* info info, lcd_type_t lcd_type); * 函数原型: ``` -ret_t system_info_set_lcd_w (system_info_t* info info, uint32_t lcd_w); +ret_t system_info_set_lcd_w (system_info_t* info, uint32_t lcd_w); ``` * 参数说明: @@ -317,7 +318,7 @@ ret_t system_info_set_lcd_w (system_info_t* info info, uint32_t lcd_w); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| info | system\_info\_t* info | system\_info对象。 | +| info | system\_info\_t* | system\_info对象。 | | lcd\_w | uint32\_t | 设置LCD宽度。 | #### app\_name 属性 ----------------------- @@ -389,6 +390,16 @@ ret_t system_info_set_lcd_w (system_info_t* info info, uint32_t lcd_w); * 类型:float\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +#### flags 属性 +----------------------- +>
标志。请参考{system_info_flag_t}。 + +* 类型:uint32\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | diff --git a/docs/manual/tab_button_group_t.md b/docs/manual/tab_button_group_t.md index d011fdf99..aeb3e4c6b 100644 --- a/docs/manual/tab_button_group_t.md +++ b/docs/manual/tab_button_group_t.md @@ -39,6 +39,7 @@ widget\_t的函数均适用于tab\_button\_group\_t控件。 | -------- | ------------ | | tab\_button\_group\_cast | 转换tab_button_group对象(供脚本语言使用)。 | | tab\_button\_group\_create | 创建tab_button_group对象 | +| tab\_button\_group\_get\_widget\_vtable | 获取 tab_button_group 虚表。 | | tab\_button\_group\_set\_compact | 设置compact。 | | tab\_button\_group\_set\_scrollable | 设置scrollable。 | ### 属性 @@ -91,6 +92,24 @@ widget_t* tab_button_group_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_ | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### tab\_button\_group\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 tab_control 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* tab_control_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 tab\_control 虚表。 | diff --git a/docs/manual/tcp_t.md b/docs/manual/tcp_t.md index dd58ccc1f..1cb9bd195 100644 --- a/docs/manual/tcp_t.md +++ b/docs/manual/tcp_t.md @@ -7,20 +7,20 @@ | 函数名称 | 说明 | | -------- | ------------ | -| tcp\_accept | 监听指定端口,成功返回sock句柄。 | -| tcp\_connect | 连接到指定服务器。 | -| tcp\_listen | 监听指定端口,成功返回sock句柄。 | -#### tcp\_accept 函数 +| tk\_tcp\_accept | 监听指定端口,成功返回sock句柄。 | +| tk\_tcp\_connect | 连接到指定服务器。 | +| tk\_tcp\_listen | 监听指定端口,成功返回sock句柄。 | +#### tk\_tcp\_accept 函数 ----------------------- * 函数功能: ->
监听指定端口,成功返回sock句柄。 +>
监听指定端口,成功返回sock句柄。 * 函数原型: ``` -int tcp_accept (int sock); +int tk_tcp_accept (int sock); ``` * 参数说明: @@ -29,17 +29,17 @@ int tcp_accept (int sock); | -------- | ----- | --------- | | 返回值 | int | 返回sock句柄。 | | sock | int | socket句柄。 | -#### tcp\_connect 函数 +#### tk\_tcp\_connect 函数 ----------------------- * 函数功能: ->
连接到指定服务器。 +>
连接到指定服务器。 * 函数原型: ``` -int tcp_connect (const char* host, int port); +int tk_tcp_connect (const char* host, int port); ``` * 参数说明: @@ -49,17 +49,17 @@ int tcp_connect (const char* host, int port); | 返回值 | int | 返回sock句柄。 | | host | const char* | 主机名或IP地址。 | | port | int | 端口号。 | -#### tcp\_listen 函数 +#### tk\_tcp\_listen 函数 ----------------------- * 函数功能: ->
监听指定端口,成功返回sock句柄。 +>
监听指定端口,成功返回sock句柄。 * 函数原型: ``` -int tcp_listen (int port); +int tk_tcp_listen (int port); ``` * 参数说明: diff --git a/docs/manual/text_edit_t.md b/docs/manual/text_edit_t.md index 66296fc2b..fcccbc69d 100644 --- a/docs/manual/text_edit_t.md +++ b/docs/manual/text_edit_t.md @@ -39,10 +39,10 @@ | text\_edit\_set\_max\_rows | 设置最大行数。 | | text\_edit\_set\_offset | 设置滚动偏移。 | | text\_edit\_set\_on\_state\_changed | 设置状态改变回调函数。 | -| text\_edit\_set\_overwrite | 设置是否覆盖行。 | | text\_edit\_set\_select | 选择指定范围的文本。 | | text\_edit\_set\_tips | 设置提示信息。 | | text\_edit\_set\_wrap\_word | 设置是否自动折行。 | +| text\_edit\_show\_context\_menu | 显示上下文菜单。 | | text\_edit\_unselect | 取消选择。 | #### text\_edit\_click 函数 ----------------------- @@ -94,7 +94,7 @@ ret_t text_edit_copy (text_edit_t* text_edit); * 函数原型: ``` -widget_t* text_edit_create (widget_t* widget, boo_t single_line); +widget_t* text_edit_create (widget_t* widget, bool_t single_line); ``` * 参数说明: @@ -103,7 +103,7 @@ widget_t* text_edit_create (widget_t* widget, boo_t single_line); | -------- | ----- | --------- | | 返回值 | widget\_t* | 对象。 | | widget | widget\_t* | 控件 | -| single\_line | boo\_t | 是否是单行编辑器。 | +| single\_line | bool\_t | 是否是单行编辑器。 | #### text\_edit\_cut 函数 ----------------------- @@ -173,14 +173,14 @@ ret_t text_edit_drag (text_edit_t* text_edit, xy_t x, xy_t y); * 函数原型: ``` -uin32_t text_edit_get_cursor (text_edit_t* text_edit); +uint32_t text_edit_get_cursor (text_edit_t* text_edit); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | uin32\_t | 返回光标的位置。 | +| 返回值 | uint32\_t | 返回光标的位置。 | | text\_edit | text\_edit\_t* | text\_edit对象。 | #### text\_edit\_get\_height 函数 ----------------------- @@ -678,26 +678,6 @@ ret_t text_edit_set_on_state_changed (text_edit_t* text_edit, text_edit_on_state | text\_edit | text\_edit\_t* | text\_edit对象。 | | on\_state\_changed | text\_edit\_on\_state\_changed\_t | 回调函数。 | | ctx | void* | 回调函数上下文。 | -#### text\_edit\_set\_overwrite 函数 ------------------------ - -* 函数功能: - ->
设置是否覆盖行。 - -* 函数原型: - -``` -ret_t text_edit_set_overwrite (text_edit_t* text_edit, bool_t overwrite); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| text\_edit | text\_edit\_t* | text\_edit对象。 | -| overwrite | bool\_t | 是否覆盖行。 | #### text\_edit\_set\_select 函数 ----------------------- @@ -760,6 +740,27 @@ ret_t text_edit_set_wrap_word (text_edit_t* text_edit, bool_t wrap_word); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | text\_edit | text\_edit\_t* | text\_edit对象。 | | wrap\_word | bool\_t | 是否自动折行。 | +#### text\_edit\_show\_context\_menu 函数 +----------------------- + +* 函数功能: + +>
获取 text_selector 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* text_selector_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 text\_selector 虚表。 | #### text\_selector\_reset\_options 函数 ----------------------- @@ -324,6 +347,46 @@ ret_t text_selector_set_loop_options (widget_t* widget, bool_t loop_options); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | text\_selector对象。 | | loop\_options | bool\_t | 是否循环选项。 | +#### text\_selector\_set\_mask\_area\_scale 函数 +----------------------- + +* 函数功能: + +>
设置绘制蒙版的区域占比(范围0~1)。 + +* 函数原型: + +``` +ret_t text_selector_set_mask_area_scale (widget_t* widget, float_t mask_area_scale); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| mask\_area\_scale | float\_t | 绘制蒙版的区域占比(范围0~1)。 | +#### text\_selector\_set\_mask\_easing 函数 +----------------------- + +* 函数功能: + +>
设置绘制蒙版的变化趋势。 + +* 函数原型: + +``` +ret_t text_selector_set_mask_easing (widget_t* widget, easing_type_t mask_easing); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| mask\_easing | easing\_type\_t | 绘制蒙版的变化趋势。 | #### text\_selector\_set\_options 函数 ----------------------- @@ -543,6 +606,38 @@ ret_t text_selector_set_yspeed_scale (widget_t* widget, float_t yspeed_scale); * 类型:bool\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### mask\_area\_scale 属性 +----------------------- +>
绘制蒙版的区域占比(范围0~1)。 + +* 类型:float\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### mask\_easing 属性 +----------------------- +>
绘制蒙版的变化趋势。 + +* 类型:easing\_type\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | @@ -555,9 +650,13 @@ ret_t text_selector_set_yspeed_scale (widget_t* widget, float_t yspeed_scale); | 可通过widget\_set\_prop修改 | 是 | #### options 属性 ----------------------- ->
设置可选项(冒号分隔值和文本,分号分隔选项,如:1:red;2:green;3:blue)。 -对于数值选项,也可以指定一个范围,用『-』分隔起始值、结束值和格式。 +>
设置可选项(英文冒号(:)分隔值和文本,英文分号(;)分隔选项,如:1:red;2:green;3:blue)。 +对于数值选项,也可以指定一个范围,用英文负号(-)分隔起始值、结束值和格式。 如:"1-7-%02d"表示1到7,格式为『02d』,格式为可选,缺省为『%d』。 +> 如果数据本身中有英文冒号(:)、英文分号(;)和英文负号(-)。请用16进制转义。 +> * 英文冒号(:)写为\\x3a +> * 英文冒号(;)写为\\x3b +> * 英文冒号(-)写为\\x2d * 类型:char* diff --git a/docs/manual/theme_change_event_t.md b/docs/manual/theme_change_event_t.md new file mode 100644 index 000000000..668acf352 --- /dev/null +++ b/docs/manual/theme_change_event_t.md @@ -0,0 +1,70 @@ +## theme\_change\_event\_t +### 概述 +![image](images/theme_change_event_t_0.png) + +主题变化事件。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| theme\_change\_event\_cast | 把event对象转theme_change_event_t对象,主要给脚本语言使用。 | +| theme\_change\_event\_init | 初始theme change event。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| name | const char* | 主题名称。 | +#### theme\_change\_event\_cast 函数 +----------------------- + +* 函数功能: + +>
把event对象转theme_change_event_t对象,主要给脚本语言使用。 + +* 函数原型: + +``` +theme_change_event_t* theme_change_event_cast (event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | theme\_change\_event\_t* | 返回event对象。 | +| event | event\_t* | event对象。 | +#### theme\_change\_event\_init 函数 +----------------------- + +* 函数功能: + +>
初始theme change event。 + +* 函数原型: + +``` +event_t* theme_change_event_init (theme_change_event_t* event, uint32_t type, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | event\_t* | 返回event对象。 | +| event | theme\_change\_event\_t* | event对象。 | +| type | uint32\_t | 事件类型。 | +| name | const char* | 主题名。 | +#### name 属性 +----------------------- +>
主题名称。 + +* 类型:const char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | diff --git a/docs/manual/theme_default_t.md b/docs/manual/theme_default_t.md new file mode 100644 index 000000000..fe04750a3 --- /dev/null +++ b/docs/manual/theme_default_t.md @@ -0,0 +1,51 @@ +## theme\_default\_t +### 概述 +窗体样式默认实现。 +负责管理缺省的窗体样式数据,方便实现style\_const。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| theme\_default\_create | 创建窗体样式对象。 | +| theme\_default\_create\_ex | 创建窗体样式对象。 | +#### theme\_default\_create 函数 +----------------------- + +* 函数功能: + +>
创建窗体样式对象。 + +* 函数原型: + +``` +theme_t* theme_default_create (const uint8_t* data); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | theme\_t* | 返回窗体样式对象。 | +| data | const uint8\_t* | 窗体样式数据。 | +#### theme\_default\_create\_ex 函数 +----------------------- + +* 函数功能: + +>
创建窗体样式对象。 + +* 函数原型: + +``` +theme_t* theme_default_create_ex (const uint8_t* data, bool_t need_free_data); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | theme\_t* | 返回窗体样式对象。 | +| data | const uint8\_t* | 窗体样式数据。 | +| need\_free\_data | bool\_t | 销毁时是否释放数据。 | diff --git a/docs/manual/theme_t.md b/docs/manual/theme_t.md index 7ca41cdd6..abe60f3bb 100644 --- a/docs/manual/theme_t.md +++ b/docs/manual/theme_t.md @@ -1,8 +1,6 @@ ## theme\_t ### 概述 窗体样式。 - -负责管理缺省的窗体样式数据,方便实现style\_const。 ---------------------------------- ### 函数
@@ -10,10 +8,11 @@ | 函数名称 | 说明 | | -------- | ------------ | | theme | 获取缺省的窗体样式对象。 | -| theme\_default\_create | 创建窗体样式对象。 | | theme\_destroy | 析构并释放窗体样式对象。 | | theme\_find\_style | 查找满足条件的style。 | +| theme\_foreach | 遍历全部数据。 | | theme\_get\_style\_type | 获取窗体样式的风格类型。 | +| theme\_load\_from\_data | 加载窗体样式对象。 | | theme\_set | 设置缺省的窗体样式对象。 | | theme\_set\_theme\_data | 设置窗体样式的数据。 | #### theme 函数 @@ -34,25 +33,6 @@ theme_t* theme (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | theme\_t* | 返回窗体样式对象。 | -#### theme\_default\_create 函数 ------------------------ - -* 函数功能: - ->
创建窗体样式对象。 - -* 函数原型: - -``` -theme_t* theme_default_create (const uint8_t* data); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | theme\_t* | 返回窗体样式对象。 | -| data | const uint8\_t* | 窗体样式数据。 | #### theme\_destroy 函数 ----------------------- @@ -94,6 +74,27 @@ const uint8_t* theme_find_style (theme_t* theme, const char* widget_type, const | widget\_type | const char* | 控件的类型名。 | | name | const char* | style的名称。 | | widget\_state | const char* | 控件的状态。 | +#### theme\_foreach 函数 +----------------------- + +* 函数功能: + +>
遍历全部数据。 + +* 函数原型: + +``` +ret_t theme_foreach (theme_t* theme, theme_on_data_t on_data, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| theme | theme\_t* | 窗体样式对象。 | +| on\_data | theme\_on\_data\_t | 回调函数。 | +| ctx | void* | 回调函数的上下文。 | #### theme\_get\_style\_type 函数 ----------------------- @@ -113,6 +114,27 @@ const char* theme_get_style_type (theme_t* theme); | -------- | ----- | --------- | | 返回值 | const char* | 返回风格类型。 | | theme | theme\_t* | 窗体样式对象。 | +#### theme\_load\_from\_data 函数 +----------------------- + +* 函数功能: + +>
加载窗体样式对象。 + +* 函数原型: + +``` +theme_t* theme_load_from_data (const char* name, const uint8_t* data, uint32_t size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | theme\_t* | 返回窗体样式对象。 | +| name | const char* | 资源名。 | +| data | const uint8\_t* | 窗体样式数据。 | +| size | uint32\_t | 资源长度。 | #### theme\_set 函数 ----------------------- diff --git a/docs/manual/theme_xml_t.md b/docs/manual/theme_xml_t.md new file mode 100644 index 000000000..6fc46c198 --- /dev/null +++ b/docs/manual/theme_xml_t.md @@ -0,0 +1,50 @@ +## theme\_xml\_t +### 概述 +XML格式的窗体样式。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| theme\_xml\_create | 创建窗体样式对象。 | +| theme\_xml\_gen | 生成二进制的数据。 | +#### theme\_xml\_create 函数 +----------------------- + +* 函数功能: + +>
创建窗体样式对象。 + +* 函数原型: + +``` +theme_t* theme_xml_create (const char* xml); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | theme\_t* | 返回窗体样式对象。 | +| xml | const char* | XML格式窗体样式数据。 | +#### theme\_xml\_gen 函数 +----------------------- + +* 函数功能: + +>
生成二进制的数据。 + +* 函数原型: + +``` +uint8_t* theme_xml_gen (const char* xml, uint32_t* size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint8\_t* | 返回二进制的数据。 | +| xml | const char* | XML格式窗体样式数据。 | +| size | uint32\_t* | 用于返回数据长度。 | diff --git a/docs/manual/time_clock_t.md b/docs/manual/time_clock_t.md index 6574fe69a..8b0672879 100644 --- a/docs/manual/time_clock_t.md +++ b/docs/manual/time_clock_t.md @@ -39,6 +39,7 @@ time\_clock一般不需要设置style。 | -------- | ------------ | | time\_clock\_cast | 转换为time_clock对象(供脚本语言使用)。 | | time\_clock\_create | 创建time_clock对象 | +| time\_clock\_get\_widget\_vtable | 获取 time_clock 虚表。 | | time\_clock\_set\_bg\_image | 设置背景图片。 | | time\_clock\_set\_hour | 设置小时的值。 | | time\_clock\_set\_hour\_anchor | 设置小时指针的旋转锚点。 | @@ -111,6 +112,24 @@ widget_t* time_clock_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### time\_clock\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 time_clock 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* time_clock_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 time\_clock 虚表。 | #### time\_clock\_set\_bg\_image 函数 ----------------------- diff --git a/docs/manual/time_now_t.md b/docs/manual/time_now_t.md index 2ec8b5ba5..0d3fbce52 100644 --- a/docs/manual/time_now_t.md +++ b/docs/manual/time_now_t.md @@ -19,6 +19,8 @@ >
获取当前时间(毫秒)。 +备注: 时间本身并不代表任何时间系,一般用来计算时间间隔。 + * 函数原型: ``` @@ -37,6 +39,8 @@ uint64_t time_now_ms (); >
获取当前时间(秒)。 +备注: 时间本身并不代表任何时间系,一般用来计算时间间隔。 + * 函数原型: ``` @@ -55,6 +59,8 @@ uint64_t time_now_s (); >
获取当前时间(微秒)。 +备注: 时间本身并不代表任何时间系,一般用来计算时间间隔。 + * 函数原型: ``` diff --git a/docs/manual/timer_manager_t.md b/docs/manual/timer_manager_t.md index 6fe72ac47..8f5c11053 100644 --- a/docs/manual/timer_manager_t.md +++ b/docs/manual/timer_manager_t.md @@ -9,7 +9,11 @@ | -------- | ------------ | | timer\_manager | 获取缺省的定时器管理器。 | | timer\_manager\_add | 添加定时器。 | +| timer\_manager\_add\_with\_id | 添加定时器。(可以指定 timer_id ,如果发现 timer_id 冲突则添加失败)。 | +| timer\_manager\_add\_with\_type | | +| timer\_manager\_add\_with\_type\_and\_id | | | timer\_manager\_all\_remove\_by\_ctx | 根据上下文删除所有对应的定时器。 | +| timer\_manager\_all\_remove\_by\_ctx\_and\_type | | | timer\_manager\_append | 追加定时器。 | | timer\_manager\_count | 返回定时器的个数。 | | timer\_manager\_create | 创建定时器管理器。 | @@ -17,6 +21,7 @@ | timer\_manager\_destroy | 析构并释放定时器管理器。 | | timer\_manager\_dispatch | 检查全部定时器的函数,如果时间到期,调用相应的timer函数。 | | timer\_manager\_find | 查找指定ID的定时器。 | +| timer\_manager\_get\_next\_timer\_id | 获取下一个可用的 timer_id。 | | timer\_manager\_init | 初始化定时器管理器。 | | timer\_manager\_next\_time | 返回最近的定时器到期时间。 | | timer\_manager\_remove | 根据id删除定时器。 | @@ -62,6 +67,29 @@ uint32_t timer_manager_add (timer_manager_t* timer_manager, timer_func_t* on_tim | on\_timer | timer\_func\_t* | timer回调函数。 | | ctx | void* | timer回调函数的上下文。 | | duration | uint32\_t | 时间。 | +#### timer\_manager\_add\_with\_id 函数 +----------------------- + +* 函数功能: + +>
添加定时器。(可以指定 timer_id ,如果发现 timer_id 冲突则添加失败)。 + +* 函数原型: + +``` +uint32_t timer_manager_add_with_id (timer_manager_t* timer_manager, uint32_t id, timer_func_t* on_timer, void* ctx, uint32_t duration); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回timer的ID,TK\_INVALID\_ID表示失败。 | +| timer\_manager | timer\_manager\_t* | 定时器管理器对象。 | +| id | uint32\_t | timer\_id。 | +| on\_timer | timer\_func\_t* | timer回调函数。 | +| ctx | void* | timer回调函数的上下文。 | +| duration | uint32\_t | 时间。 | #### timer\_manager\_all\_remove\_by\_ctx 函数 ----------------------- @@ -216,6 +244,25 @@ timer_info_t* timer_manager_find (timer_manager_t* timer_manager, uint32_t timer | 返回值 | timer\_info\_t* | 返回timer的信息。 | | timer\_manager | timer\_manager\_t* | 定时器管理器对象。 | | timer\_id | uint32\_t | timer\_id | +#### timer\_manager\_get\_next\_timer\_id 函数 +----------------------- + +* 函数功能: + +>
获取下一个可用的 timer_id。
+
+* 函数原型:
+
+```
+uint32_t timer_manager_get_next_timer_id (timer_manager_t* timer_manager);
+```
+
+* 参数说明:
+
+| 参数 | 类型 | 说明 |
+| -------- | ----- | --------- |
+| 返回值 | uint32\_t | 返回idle的ID,TK\_INVALID\_ID表示失败。 |
+| timer\_manager | timer\_manager\_t* | timer\_manager\_t管理器对象。 |
#### timer\_manager\_init 函数
-----------------------
diff --git a/docs/manual/timer_widget_t.md b/docs/manual/timer_widget_t.md
new file mode 100644
index 000000000..3ba6bff9b
--- /dev/null
+++ b/docs/manual/timer_widget_t.md
@@ -0,0 +1,142 @@
+## timer\_widget\_t
+### 概述
+![image](images/timer_widget_t_0.png)
+
+定时器。
+> 主要目的是方便以拖拽的方式创建定时器,并用AWBlock编写简单的事件处理程序。
+在xml中使用"timer"标签创建控件。如:
+
+```xml
+
+
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| timer\_widget\_cast | 转换为timer_widget对象(供脚本语言使用)。 | +| timer\_widget\_create | 创建timer_widget对象 | +| timer\_widget\_get\_widget\_vtable | 获取 timer_widget 虚表。 | +| timer\_widget\_set\_duration | 设置 时长(ms)。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| duration | uint32\_t | 时长(ms)。 | +### 事件 +
+ +| 事件名称 | 类型 | 说明 | +| -------- | ----- | ------- | +| EVT\_TIMER | event\_t | 定时器事件。 | +#### timer\_widget\_cast 函数 +----------------------- + +* 函数功能: + +>
转换为timer_widget对象(供脚本语言使用)。 + +* 函数原型: + +``` +widget_t* timer_widget_cast (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | timer\_widget对象。 | +| widget | widget\_t* | timer\_widget对象。 | +#### timer\_widget\_create 函数 +----------------------- + +* 函数功能: + +>
创建timer_widget对象 + +* 函数原型: + +``` +widget_t* timer_widget_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | timer\_widget对象。 | +| parent | widget\_t* | 父控件 | +| x | xy\_t | x坐标 | +| y | xy\_t | y坐标 | +| w | wh\_t | 宽度 | +| h | wh\_t | 高度 | +#### timer\_widget\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 timer_widget 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* timer_widget_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 timer\_widget 虚表。 | +#### timer\_widget\_set\_duration 函数 +----------------------- + +* 函数功能: + +>
设置 时长(ms)。 + +* 函数原型: + +``` +ret_t timer_widget_set_duration (widget_t* widget, uint32_t duration); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | widget对象。 | +| duration | uint32\_t | 时长(ms)。 | +#### duration 属性 +----------------------- +>
时长(ms)。 + +* 类型:uint32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | diff --git a/docs/manual/tk_iostream_mem_t.md b/docs/manual/tk_iostream_mem_t.md index 6ad7ca98f..abd81006b 100644 --- a/docs/manual/tk_iostream_mem_t.md +++ b/docs/manual/tk_iostream_mem_t.md @@ -20,7 +20,7 @@ * 函数原型: ``` -tk_iostream_t* tk_iostream_mem_create (void* buff_in, uint32_t size_in, void* buff_out, uoutt32_t size_out, bool_t own_the_buff); +tk_iostream_t* tk_iostream_mem_create (void* buff_in, uint32_t size_in, void* buff_out, uint32_t size_out, bool_t own_the_buff); ``` * 参数说明: @@ -31,5 +31,5 @@ tk_iostream_t* tk_iostream_mem_create (void* buff_in, uint32_t size_in, void* bu | buff\_in | void* | 输入流缓冲区。 | | size\_in | uint32\_t | 输入流缓冲区大小。 | | buff\_out | void* | 输入流缓冲区。 | -| size\_out | uoutt32\_t | 输入流缓冲区大小。 | +| size\_out | uint32\_t | 输入流缓冲区大小。 | | own\_the\_buff | bool\_t | 是否让istream对象拥有buff。 | diff --git a/docs/manual/tk_iostream_serial_t.md b/docs/manual/tk_iostream_serial_t.md index fe9ca88fe..bd0c01e8e 100644 --- a/docs/manual/tk_iostream_serial_t.md +++ b/docs/manual/tk_iostream_serial_t.md @@ -3,6 +3,7 @@ ![image](images/tk_iostream_serial_t_0.png) 基于串口实现的输入输出流。 +备注:如果需要在 Windows 平台运行,请在应用程序初始化时,调用 tk_socket_init 函数初始化 socket。 ---------------------------------- ### 函数
@@ -11,12 +12,14 @@ | -------- | ------------ | | tk\_iostream\_serial\_config | 配置串口。 | | tk\_iostream\_serial\_create | 创建iostream对象。 | +| tk\_iostream\_serial\_wait\_for\_data | 等待串口数据。 | #### tk\_iostream\_serial\_config 函数 ----------------------- * 函数功能: >
配置串口。 +备注:如果需要在 Windows 平台运行,请在应用程序初始化时,调用 tk_socket_init 函数初始化 socket。 * 函数原型: @@ -55,3 +58,23 @@ tk_iostream_t* tk_iostream_serial_create (const char* port); | -------- | ----- | --------- | | 返回值 | tk\_iostream\_t* | 返回iostream对象。 | | port | const char* | port name。 | +#### tk\_iostream\_serial\_wait\_for\_data 函数 +----------------------- + +* 函数功能: + +>
等待串口数据。 + +* 函数原型: + +``` +ret_t tk_iostream_serial_wait_for_data (tk_iostream_t* iostream, uint32_t timeout); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| iostream | tk\_iostream\_t* | 串口对象。 | +| timeout | uint32\_t | 等待时间(ms)。 | diff --git a/docs/manual/tk_iostream_stats_t.md b/docs/manual/tk_iostream_stats_t.md new file mode 100644 index 000000000..30614587d --- /dev/null +++ b/docs/manual/tk_iostream_stats_t.md @@ -0,0 +1,31 @@ +## tk\_iostream\_stats\_t +### 概述 +![image](images/tk_iostream_stats_t_0.png) + +带统计功能的输入输出流。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_iostream\_stats\_create | 创建iostream对象。 | +#### tk\_iostream\_stats\_create 函数 +----------------------- + +* 函数功能: + +>
创建iostream对象。 + +* 函数原型: + +``` +tk_iostream_t* tk_iostream_stats_create (tk_iostream_t* impl); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_iostream\_t* | 返回iostream对象。 | +| impl | tk\_iostream\_t* | 被统计的流对象。 | diff --git a/docs/manual/tk_iostream_udp_t.md b/docs/manual/tk_iostream_udp_t.md index 8c142a877..8f802f455 100644 --- a/docs/manual/tk_iostream_udp_t.md +++ b/docs/manual/tk_iostream_udp_t.md @@ -11,6 +11,7 @@ | -------- | ------------ | | tk\_iostream\_udp\_create | 创建iostream对象(客户端)。 | | tk\_iostream\_udp\_create\_client | 创建iostream对象(客户端)。 | +| tk\_iostream\_udp\_create\_client\_ex | 创建iostream对象(客户端)。 | #### tk\_iostream\_udp\_create 函数 ----------------------- @@ -49,4 +50,26 @@ tk_iostream_t* tk_iostream_udp_create_client (const char* host, int port); | -------- | ----- | --------- | | 返回值 | tk\_iostream\_t* | 返回iostream对象。 | | host | const char* | 服务器地址。 | -| port | int | 端口。 | +| port | int | 服务器端口。 | +#### tk\_iostream\_udp\_create\_client\_ex 函数 +----------------------- + +* 函数功能: + +>
创建iostream对象(客户端)。 + +* 函数原型: + +``` +tk_iostream_t* tk_iostream_udp_create_client_ex (const char* host, int port, const char* local_ip, int local_port); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_iostream\_t* | 返回iostream对象。 | +| host | const char* | 服务器地址。 | +| port | int | 服务器端口。 | +| local\_ip | const char* | 本地IP地址(为NULL时自动绑定)。 | +| local\_port | int | 本地端口。 | diff --git a/docs/manual/tk_istream_stats_t.md b/docs/manual/tk_istream_stats_t.md new file mode 100644 index 000000000..32127da28 --- /dev/null +++ b/docs/manual/tk_istream_stats_t.md @@ -0,0 +1,31 @@ +## tk\_istream\_stats\_t +### 概述 +![image](images/tk_istream_stats_t_0.png) + +带统计功能的输入流。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_istream\_stats\_create | 创建istream对象。 | +#### tk\_istream\_stats\_create 函数 +----------------------- + +* 函数功能: + +>
创建istream对象。 + +* 函数原型: + +``` +tk_istream_t* tk_istream_stats_create (tk_istream_t* impl); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_istream\_t* | 返回istream对象。 | +| impl | tk\_istream\_t* | 被统计的输入流对象 | diff --git a/docs/manual/tk_istream_t.md b/docs/manual/tk_istream_t.md index 1e7fc20ea..693e5cc6d 100644 --- a/docs/manual/tk_istream_t.md +++ b/docs/manual/tk_istream_t.md @@ -127,6 +127,7 @@ int32_t tk_istream_read_line (tk_istream_t* stream, void* buff, uint32_t max_siz * 函数功能: >
读取一行数据。 +>istream必须支持随机读写(seek/tell)。 * 函数原型: diff --git a/docs/manual/tk_mem_t.md b/docs/manual/tk_mem_t.md index f3fa5a041..fd73920d1 100644 --- a/docs/manual/tk_mem_t.md +++ b/docs/manual/tk_mem_t.md @@ -28,6 +28,7 @@ TKMEM_FREE(str); | tk\_mem\_init\_ex | 初始化内存,支持多块不连续的内存。 | | tk\_mem\_init\_stage2 | 初始化互斥和oom。 | | tk\_mem\_is\_valid\_addr | 检查给定的地址是否是一个有效的heap地址。 | +| tk\_mem\_set\_on\_out\_of\_memory | 设置内存耗尽时的处理函数。 | | TKMEM\_ALLOC | 分配一块内存。 | | TKMEM\_CALLOC | 分配一块内存,并将内容清零。 | | TKMEM\_FREE | 释放内存。 | @@ -134,6 +135,26 @@ bool_t tk_mem_is_valid_addr (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | bool\_t | 返回FALSE一定是无效地址,返回TRUE在PC则不太确定。 | +#### tk\_mem\_set\_on\_out\_of\_memory 函数 +----------------------- + +* 函数功能: + +>
设置内存耗尽时的处理函数。 + +* 函数原型: + +``` +ret_t tk_mem_set_on_out_of_memory (tk_mem_on_out_of_memory_t on_out_of_memory, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| on\_out\_of\_memory | tk\_mem\_on\_out\_of\_memory\_t | 回调函数。 | +| ctx | void* | 回调函数的上下文。 | #### TKMEM\_ALLOC 宏 ----------------------- diff --git a/docs/manual/tk_object_t.md b/docs/manual/tk_object_t.md new file mode 100644 index 000000000..b5fcd3a8f --- /dev/null +++ b/docs/manual/tk_object_t.md @@ -0,0 +1,1604 @@ +## tk\_object\_t +### 概述 +![image](images/tk_object_t_0.png) + +对象接口。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_object\_can\_exec | 检查是否可以执行指定的命令。 | +| tk\_object\_can\_exec\_by\_path | 检查是否可以执行指定的命令。 | +| tk\_object\_clone | clone对象。 | +| tk\_object\_compare | 比较两个对象。 | +| tk\_object\_copy\_prop | 拷贝指定的属性。 | +| tk\_object\_copy\_props | 拷贝全部的属性。 | +| tk\_object\_create | 创建对象。 | +| tk\_object\_create\_ex | 创建对象。 | +| tk\_object\_eval | 计算一个表达式,表达式中引用的变量从prop中获取。 | +| tk\_object\_exec | 执行指定的命令。 | +| tk\_object\_exec\_by\_path | 执行指定的命令。 | +| tk\_object\_foreach\_prop | 遍历所有属性。 | +| tk\_object\_get\_child\_object | 获取下一级子对象。 | +| tk\_object\_get\_desc | 获取对象的描述信息。 | +| tk\_object\_get\_prop | 获取指定属性的值。 | +| tk\_object\_get\_prop\_bool | 获取指定属性的bool类型的值。 | +| tk\_object\_get\_prop\_bool\_by\_path | 获取指定属性的bool类型的值。 | +| tk\_object\_get\_prop\_by\_path | 获取指定path属性的值。 | +| tk\_object\_get\_prop\_double | 获取指定属性的浮点数类型的值。 | +| tk\_object\_get\_prop\_float | 获取指定属性的浮点数类型的值。 | +| tk\_object\_get\_prop\_float\_by\_path | 获取指定属性的浮点数类型的值。 | +| tk\_object\_get\_prop\_int | 获取指定属性的整数类型的值。 | +| tk\_object\_get\_prop\_int\_by\_path | 获取指定属性的整数类型的值。 | +| tk\_object\_get\_prop\_int16 | 获取指定属性的int16类型的值。 | +| tk\_object\_get\_prop\_int32 | 获取指定属性的int32类型的值。 | +| tk\_object\_get\_prop\_int64 | 获取指定属性的int64类型的值。 | +| tk\_object\_get\_prop\_int8 | 获取指定属性的int8类型的值。 | +| tk\_object\_get\_prop\_object | 获取指定属性的object类型的值。 | +| tk\_object\_get\_prop\_object\_by\_path | 获取指定属性的object类型的值。 | +| tk\_object\_get\_prop\_pointer | 获取指定属性的指针类型的值。 | +| tk\_object\_get\_prop\_pointer\_by\_path | 获取指定属性的指针类型的值。 | +| tk\_object\_get\_prop\_str | 获取指定属性的字符串类型的值。 | +| tk\_object\_get\_prop\_str\_by\_path | 获取指定属性的字符串类型的值。 | +| tk\_object\_get\_prop\_uint16 | 获取指定属性的uint16类型的值。 | +| tk\_object\_get\_prop\_uint32 | 获取指定属性的uint32类型的值。 | +| tk\_object\_get\_prop\_uint64 | 获取指定属性的uint64类型的值。 | +| tk\_object\_get\_prop\_uint8 | 获取指定属性的uint8类型的值。 | +| tk\_object\_get\_size | 获取对象占用内存的大小。 | +| tk\_object\_get\_type | 获取对象的类型名称。 | +| tk\_object\_has\_prop | 检查是否存在指定的属性。 | +| tk\_object\_has\_prop\_by\_path | 检查是否存在指定的属性。 | +| tk\_object\_is\_collection | 判断对象是否是集合。 | +| tk\_object\_notify\_changed | 触发EVT_PROPS_CHANGED事件。 | +| tk\_object\_ref | 引用计数加1。 | +| tk\_object\_remove\_prop | 删除指定属性。 | +| tk\_object\_set\_name | 设置对象的名称。 | +| tk\_object\_set\_prop | 设置指定属性的值。 | +| tk\_object\_set\_prop\_bool | 设置指定属性的bool类型的值。 | +| tk\_object\_set\_prop\_bool\_by\_path | 设置指定属性的bool类型的值。 | +| tk\_object\_set\_prop\_by\_path | 设置指定属性的值。 | +| tk\_object\_set\_prop\_double | 设置指定属性的浮点数类型的值。 | +| tk\_object\_set\_prop\_float | 设置指定属性的浮点数类型的值。 | +| tk\_object\_set\_prop\_float\_by\_path | 设置指定属性的浮点数类型的值。 | +| tk\_object\_set\_prop\_int | 设置指定属性的整数类型的值。 | +| tk\_object\_set\_prop\_int\_by\_path | 设置指定属性的整数类型的值。 | +| tk\_object\_set\_prop\_int16 | 设置指定属性的int16类型的值。 | +| tk\_object\_set\_prop\_int32 | 设置指定属性的int32类型的值。 | +| tk\_object\_set\_prop\_int64 | 设置指定属性的int64类型的值。 | +| tk\_object\_set\_prop\_int8 | 设置指定属性的int8类型的值。 | +| tk\_object\_set\_prop\_object | 设置指定属性的object类型的值。 | +| tk\_object\_set\_prop\_object\_by\_path | 设置指定属性的object类型的值。 | +| tk\_object\_set\_prop\_pointer | 设置指定属性的指针类型的值。 | +| tk\_object\_set\_prop\_pointer\_by\_path | 设置指定属性的指针类型的值。 | +| tk\_object\_set\_prop\_pointer\_ex | 设置指定属性的指针类型的值。 | +| tk\_object\_set\_prop\_str | 设置指定属性的字符串类型的值。 | +| tk\_object\_set\_prop\_str\_by\_path | 设置指定属性的字符串类型的值。 | +| tk\_object\_set\_prop\_uint16 | 设置指定属性的uint16类型的值。 | +| tk\_object\_set\_prop\_uint32 | 设置指定属性的uint32类型的值。 | +| tk\_object\_set\_prop\_uint64 | 设置指定属性的uint64类型的值。 | +| tk\_object\_set\_prop\_uint8 | 设置指定属性的uint8类型的值。 | +| tk\_object\_to\_json | 转换成JSON字符串。 | +| tk\_object\_unref | 引用计数减1。引用计数为0时,销毁对象。 | +### 属性 +
+ +| 属性名称 | 类型 | 说明 | +| -------- | ----- | ------------ | +| name | char* | 对象的名称。 | +| ref\_count | int32\_t | 引用计数。 | +#### tk\_object\_can\_exec 函数 +----------------------- + +* 函数功能: + +>
检查是否可以执行指定的命令。 + +* 函数原型: + +``` +bool_t tk_object_can_exec (tk_object_t* obj, const char* name, const char* args); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示可以执行,否则表示不可以执行。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 命令的名称。 | +| args | const char* | 命令的参数。 | +#### tk\_object\_can\_exec\_by\_path 函数 +----------------------- + +* 函数功能: + +>
检查是否可以执行指定的命令。 + +* 函数原型: + +``` +bool_t tk_object_can_exec_by_path (tk_object_t* obj, const char* path, const char* args); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示可以执行,否则表示不可以执行。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 命令的path。 | +| args | const char* | 命令的参数。 | +#### tk\_object\_clone 函数 +----------------------- + +* 函数功能: + +>
clone对象。 + +* 函数原型: + +``` +tk_object_t* tk_object_clone (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_compare 函数 +----------------------- + +* 函数功能: + +>
比较两个对象。 + +* 函数原型: + +``` +int tk_object_compare (tk_object_t* obj, tk_object_t* other); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int | 返回比较结果。 | +| obj | tk\_object\_t* | object对象。 | +| other | tk\_object\_t* | 比较的object对象。 | +#### tk\_object\_copy\_prop 函数 +----------------------- + +* 函数功能: + +>
拷贝指定的属性。 + +* 函数原型: + +``` +ret_t tk_object_copy_prop (tk_object_t* obj, tk_object_t* src, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | 目标对象。 | +| src | tk\_object\_t* | 源对象。 | +| name | const char* | 属性的名称。 | +#### tk\_object\_copy\_props 函数 +----------------------- + +* 函数功能: + +>
拷贝全部的属性。 + +* 函数原型: + +``` +ret_t tk_object_copy_props (tk_object_t* obj, tk_object_t* src, bool_t overwrite); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | 目标对象。 | +| src | tk\_object\_t* | 源对象。 | +| overwrite | bool\_t | 如果属性存在是否覆盖。 | +#### tk\_object\_create 函数 +----------------------- + +* 函数功能: + +>
创建对象。 + +> 仅供子类调用。 + +* 函数原型: + +``` +tk_object_t* tk_object_create (const object_vtable_t* vt); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| vt | const object\_vtable\_t* | 虚函数表。 | +#### tk\_object\_create\_ex 函数 +----------------------- + +* 函数功能: + +>
创建对象。 + +> 仅供子类调用。 + +* 函数原型: + +``` +tk_object_t* tk_object_create_ex (const object_vtable_t* vt, uint32_t extra_data_size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| vt | const object\_vtable\_t* | 虚函数表。 | +| extra\_data\_size | uint32\_t | 额外的内存大小。 | +#### tk\_object\_eval 函数 +----------------------- + +* 函数功能: + +>
计算一个表达式,表达式中引用的变量从prop中获取。 + +* 函数原型: + +``` +ret_t tk_object_eval (tk_object_t* obj, const char* expr, value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| expr | const char* | 表达式。 | +| v | value\_t* | 返回计算结果。 | +#### tk\_object\_exec 函数 +----------------------- + +* 函数功能: + +>
执行指定的命令。 + +* 函数原型: + +``` +ret_t tk_object_exec (tk_object_t* obj, const char* name, const char* args); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 命令的名称。 | +| args | const char* | 命令的参数。 | +#### tk\_object\_exec\_by\_path 函数 +----------------------- + +* 函数功能: + +>
执行指定的命令。 + +* 函数原型: + +``` +ret_t tk_object_exec_by_path (tk_object_t* obj, const char* path, const char* args); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 命令的path。 | +| args | const char* | 命令的参数。 | +#### tk\_object\_foreach\_prop 函数 +----------------------- + +* 函数功能: + +>
遍历所有属性。 + +* 函数原型: + +``` +ret_t tk_object_foreach_prop (tk_object_t* obj, tk_visit_t on_prop, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| on\_prop | tk\_visit\_t | 回调函数(data参数为named\_value\_t类型)。 | +| ctx | void* | 回调函数上下文。 | +#### tk\_object\_get\_child\_object 函数 +----------------------- + +* 函数功能: + +>
获取下一级子对象。 +> 属性路径之间使用符号"."分割,例如:name.sub_name。 + +* 函数原型: + +``` +tk_object_t* tk_object_get_child_object (tk_object_t* obj, const char* path, const char** next_path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回下一级子对象,如果找不到则返回 NULL。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性路径。 | +| next\_path | const char** | 返回下一级属性路径。 | +#### tk\_object\_get\_desc 函数 +----------------------- + +* 函数功能: + +>
获取对象的描述信息。 + +* 函数原型: + +``` +const char* tk_object_get_desc (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回对象的描述信息。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_get\_prop 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的值。 + +* 函数原型: + +``` +ret_t tk_object_get_prop (tk_object_t* obj, const char* name, value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| v | value\_t* | 返回属性的值。 | +#### tk\_object\_get\_prop\_bool 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的bool类型的值。 + +* 函数原型: + +``` +bool_t tk_object_get_prop_bool (tk_object_t* obj, const char* name, bool_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回指定属性的bool类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | bool\_t | 缺省值。 | +#### tk\_object\_get\_prop\_bool\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的bool类型的值。 + +* 函数原型: + +``` +bool_t tk_object_get_prop_bool_by_path (tk_object_t* obj, const char* path, bool_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回指定属性的bool类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| defval | bool\_t | 缺省值。 | +#### tk\_object\_get\_prop\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定path属性的值。 + +* 函数原型: + +``` +ret_t tk_object_get_prop_by_path (tk_object_t* obj, const char* path, value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path,各级之间用.分隔。 | +| v | value\_t* | 返回属性的值。 | +#### tk\_object\_get\_prop\_double 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的浮点数类型的值。 + +* 函数原型: + +``` +double tk_object_get_prop_double (tk_object_t* obj, const char* name, double defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | double | 返回指定属性的浮点数类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | double | 缺省值。 | +#### tk\_object\_get\_prop\_float 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的浮点数类型的值。 + +* 函数原型: + +``` +float_t tk_object_get_prop_float (tk_object_t* obj, const char* name, float_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | float\_t | 返回指定属性的浮点数类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | float\_t | 缺省值。 | +#### tk\_object\_get\_prop\_float\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的浮点数类型的值。 + +e + +* 函数原型: + +``` +float_t tk_object_get_prop_float_by_path (tk_object_t* obj, const char* path, float_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | float\_t | 返回指定属性的浮点数类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| defval | float\_t | 缺省值。 | +#### tk\_object\_get\_prop\_int 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的整数类型的值。 + +* 函数原型: + +``` +int32_t tk_object_get_prop_int (tk_object_t* obj, const char* name, int32_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 返回指定属性的整数类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | int32\_t | 缺省值。 | +#### tk\_object\_get\_prop\_int\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的整数类型的值。 + +* 函数原型: + +``` +int32_t tk_object_get_prop_int_by_path (tk_object_t* obj, const char* path, int32_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 返回指定属性的整数类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| defval | int32\_t | 缺省值。 | +#### tk\_object\_get\_prop\_int16 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的int16类型的值。 + +* 函数原型: + +``` +int16_t tk_object_get_prop_int16 (tk_object_t* obj, const char* name, int16_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int16\_t | 返回指定属性的int16类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | int16\_t | 缺省值。 | +#### tk\_object\_get\_prop\_int32 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的int32类型的值。 + +* 函数原型: + +``` +int32_t tk_object_get_prop_int32 (tk_object_t* obj, const char* name, int32_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 返回指定属性的int32类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | int32\_t | 缺省值。 | +#### tk\_object\_get\_prop\_int64 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的int64类型的值。 + +* 函数原型: + +``` +int64_t tk_object_get_prop_int64 (tk_object_t* obj, const char* name, int64_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int64\_t | 返回指定属性的int64类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | int64\_t | 缺省值。 | +#### tk\_object\_get\_prop\_int8 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的int8类型的值。 + +* 函数原型: + +``` +int8_t tk_object_get_prop_int8 (tk_object_t* obj, const char* name, int8_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int8\_t | 返回指定属性的int8类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | int8\_t | 缺省值。 | +#### tk\_object\_get\_prop\_object 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的object类型的值。 + +* 函数原型: + +``` +tk_object_t* tk_object_get_prop_object (tk_object_t* obj, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回指定属性的object类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +#### tk\_object\_get\_prop\_object\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的object类型的值。 + +* 函数原型: + +``` +tk_object_t* tk_object_get_prop_object_by_path (tk_object_t* obj, const char* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回指定属性的object类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +#### tk\_object\_get\_prop\_pointer 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的指针类型的值。 + +* 函数原型: + +``` +void* tk_object_get_prop_pointer (tk_object_t* obj, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | void* | 返回指定属性的指针类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +#### tk\_object\_get\_prop\_pointer\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的指针类型的值。 + +* 函数原型: + +``` +void* tk_object_get_prop_pointer_by_path (tk_object_t* obj, const char* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | void* | 返回指定属性的指针类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +#### tk\_object\_get\_prop\_str 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的字符串类型的值。 + +* 函数原型: + +``` +const char* tk_object_get_prop_str (tk_object_t* obj, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回指定属性的字符串类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +#### tk\_object\_get\_prop\_str\_by\_path 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的字符串类型的值。 + +* 函数原型: + +``` +const char* tk_object_get_prop_str_by_path (tk_object_t* obj, const char* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回指定属性的字符串类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +#### tk\_object\_get\_prop\_uint16 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的uint16类型的值。 + +* 函数原型: + +``` +uint16_t tk_object_get_prop_uint16 (tk_object_t* obj, const char* name, uint16_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint16\_t | 返回指定属性的uint16类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | uint16\_t | 缺省值。 | +#### tk\_object\_get\_prop\_uint32 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的uint32类型的值。 + +* 函数原型: + +``` +uint32_t tk_object_get_prop_uint32 (tk_object_t* obj, const char* name, uint32_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回指定属性的uint32类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | uint32\_t | 缺省值。 | +#### tk\_object\_get\_prop\_uint64 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的uint64类型的值。 + +* 函数原型: + +``` +uint64_t tk_object_get_prop_uint64 (tk_object_t* obj, const char* name, uint64_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint64\_t | 返回指定属性的uint64类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | uint64\_t | 缺省值。 | +#### tk\_object\_get\_prop\_uint8 函数 +----------------------- + +* 函数功能: + +>
获取指定属性的uint8类型的值。 + +* 函数原型: + +``` +uint8_t tk_object_get_prop_uint8 (tk_object_t* obj, const char* name, uint8_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint8\_t | 返回指定属性的uint8类型的值。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| defval | uint8\_t | 缺省值。 | +#### tk\_object\_get\_size 函数 +----------------------- + +* 函数功能: + +>
获取对象占用内存的大小。 + +* 函数原型: + +``` +uint32_t tk_object_get_size (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回对象占用内存的大小。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_get\_type 函数 +----------------------- + +* 函数功能: + +>
获取对象的类型名称。 + +* 函数原型: + +``` +const char* tk_object_get_type (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回对象的类型名称。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_has\_prop 函数 +----------------------- + +* 函数功能: + +>
检查是否存在指定的属性。 + +* 函数原型: + +``` +bool_t tk_object_has_prop (tk_object_t* obj, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示存在,否则表示不存在。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +#### tk\_object\_has\_prop\_by\_path 函数 +----------------------- + +* 函数功能: + +>
检查是否存在指定的属性。 + +* 函数原型: + +``` +bool_t tk_object_has_prop_by_path (tk_object_t* obj, const char* path); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示存在,否则表示不存在。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path,各级之间用.分隔。 | +#### tk\_object\_is\_collection 函数 +----------------------- + +* 函数功能: + +>
判断对象是否是集合。 + +* 函数原型: + +``` +bool_t tk_object_is_collection (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示是集合,否则不是。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_notify\_changed 函数 +----------------------- + +* 函数功能: + +>
触发EVT_PROPS_CHANGED事件。 + +* 函数原型: + +``` +ret_t tk_object_notify_changed (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_ref 函数 +----------------------- + +* 函数功能: + +>
引用计数加1。 + +* 函数原型: + +``` +tk_object_t* tk_object_ref (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_object\_t* | 返回object对象。 | +| obj | tk\_object\_t* | object对象。 | +#### tk\_object\_remove\_prop 函数 +----------------------- + +* 函数功能: + +>
删除指定属性。 + +* 函数原型: + +``` +ret_t tk_object_remove_prop (tk_object_t* obj, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +#### tk\_object\_set\_name 函数 +----------------------- + +* 函数功能: + +>
设置对象的名称。 + +* 函数原型: + +``` +ret_t tk_object_set_name (tk_object_t* obj, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 对象的名称。 | +#### tk\_object\_set\_prop 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop (tk_object_t* obj, const char* name, value_t* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | value\_t* | 属性的值。 | +#### tk\_object\_set\_prop\_bool 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的bool类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_bool (tk_object_t* obj, const char* name, bool_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | bool\_t | 属性的值。 | +#### tk\_object\_set\_prop\_bool\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的bool类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_bool_by_path (tk_object_t* obj, const char* path, bool_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | bool\_t | 属性的值。 | +#### tk\_object\_set\_prop\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_by_path (tk_object_t* obj, const char* path, value_t* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | value\_t* | 属性的值。 | +#### tk\_object\_set\_prop\_double 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的浮点数类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_double (tk_object_t* obj, const char* name, double value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | double | 属性的值。 | +#### tk\_object\_set\_prop\_float 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的浮点数类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_float (tk_object_t* obj, const char* name, float_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | float\_t | 属性的值。 | +#### tk\_object\_set\_prop\_float\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的浮点数类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_float_by_path (tk_object_t* obj, const char* path, float_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | float\_t | 属性的值。 | +#### tk\_object\_set\_prop\_int 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的整数类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_int (tk_object_t* obj, const char* name, int32_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | int32\_t | 属性的值。 | +#### tk\_object\_set\_prop\_int\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的整数类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_int_by_path (tk_object_t* obj, const char* path, int32_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | int32\_t | 属性的值。 | +#### tk\_object\_set\_prop\_int16 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的int16类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_int16 (tk_object_t* obj, const char* name, int16_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | int16\_t | 属性的值。 | +#### tk\_object\_set\_prop\_int32 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的int32类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_int32 (tk_object_t* obj, const char* name, int32_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | int32\_t | 属性的值。 | +#### tk\_object\_set\_prop\_int64 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的int64类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_int64 (tk_object_t* obj, const char* name, int64_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | int64\_t | 属性的值。 | +#### tk\_object\_set\_prop\_int8 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的int8类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_int8 (tk_object_t* obj, const char* name, int8_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | int8\_t | 属性的值。 | +#### tk\_object\_set\_prop\_object 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的object类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_object (tk_object_t* obj, const char* name, tk_object_t* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | tk\_object\_t* | 属性的值。 | +#### tk\_object\_set\_prop\_object\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的object类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_object_by_path (tk_object_t* obj, const char* path, tk_object_t* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | tk\_object\_t* | 属性的值。 | +#### tk\_object\_set\_prop\_pointer 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的指针类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_pointer (tk_object_t* obj, const char* name, void* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | void* | 属性的值。 | +#### tk\_object\_set\_prop\_pointer\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的指针类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_pointer_by_path (tk_object_t* obj, const char* path, void* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | void* | 属性的值。 | +#### tk\_object\_set\_prop\_pointer\_ex 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的指针类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_pointer_ex (tk_object_t* obj, const char* name, void* value, tk_destroy_t destroy); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | void* | 属性的值。 | +| destroy | tk\_destroy\_t | 销毁函数。 | +#### tk\_object\_set\_prop\_str 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的字符串类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_str (tk_object_t* obj, const char* name, const char* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | const char* | 属性的值。 | +#### tk\_object\_set\_prop\_str\_by\_path 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的字符串类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_str_by_path (tk_object_t* obj, const char* path, const char* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| path | const char* | 属性的path。 | +| value | const char* | 属性的值。 | +#### tk\_object\_set\_prop\_uint16 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的uint16类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_uint16 (tk_object_t* obj, const char* name, uint16_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | uint16\_t | 属性的值。 | +#### tk\_object\_set\_prop\_uint32 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的uint32类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_uint32 (tk_object_t* obj, const char* name, uint32_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | uint32\_t | 属性的值。 | +#### tk\_object\_set\_prop\_uint64 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的uint64类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_uint64 (tk_object_t* obj, const char* name, uint64_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | uint64\_t | 属性的值。 | +#### tk\_object\_set\_prop\_uint8 函数 +----------------------- + +* 函数功能: + +>
设置指定属性的uint8类型的值。 + +* 函数原型: + +``` +ret_t tk_object_set_prop_uint8 (tk_object_t* obj, const char* name, uint8_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| name | const char* | 属性的名称。 | +| value | uint8\_t | 属性的值。 | +#### tk\_object\_to\_json 函数 +----------------------- + +* 函数功能: + +>
转换成JSON字符串。 + +* 函数原型: + +``` +ret_t tk_object_to_json (tk_object_t* obj, str_t* json, uint32_t indent, uint32_t level, bool_t oneline); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +| json | str\_t* | 返回JSON字符串。 | +| indent | uint32\_t | 缩进空格数。 | +| level | uint32\_t | 初始缩进层级。 | +| oneline | bool\_t | 是否不换行。 | +#### tk\_object\_unref 函数 +----------------------- + +* 函数功能: + +>
引用计数减1。引用计数为0时,销毁对象。 + +* 函数原型: + +``` +ret_t tk_object_unref (tk_object_t* obj); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| obj | tk\_object\_t* | object对象。 | +#### name 属性 +----------------------- +>
对象的名称。 + +* 类型:char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | +#### ref\_count 属性 +----------------------- +>
引用计数。 + +* 类型:int32\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | diff --git a/docs/manual/tk_ostream_shdlc_t.md b/docs/manual/tk_ostream_shdlc_t.md index 21bc23b9a..e4cf4311f 100644 --- a/docs/manual/tk_ostream_shdlc_t.md +++ b/docs/manual/tk_ostream_shdlc_t.md @@ -9,10 +9,6 @@ reliable ostream base on simple HDLC | 函数名称 | 说明 | | -------- | ------------ | -| action\_queue\_create | 创建action_queue对象。 | -| action\_queue\_destroy | 销毁。 | -| action\_queue\_recv | 接收一个请求。 | -| action\_queue\_send | 发送一个请求。 | | tk\_ostream\_shdlc\_create | 创建ostream对象。 | ### 属性
@@ -22,84 +18,6 @@ reliable ostream base on simple HDLC | compress\_threshold | uint32\_t | 激活压缩的阈值。 | | retry\_times | uint32\_t | 失败重传次数。 | | timeout | uint32\_t | 读写超时时间(ms) | -#### action\_queue\_create 函数 ------------------------ - -* 函数功能: - ->
创建action_queue对象。 - -* 函数原型: - -``` -action_queue_t* action_queue_create (uint32_t capacity); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | action\_queue\_t* | action\_queue对象。 | -| capacity | uint32\_t | action的容量。 | -#### action\_queue\_destroy 函数 ------------------------ - -* 函数功能: - ->
销毁。 - -* 函数原型: - -``` -ret_t action_queue_destroy (action_queue_t* q); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| q | action\_queue\_t* | action\_queue对象。 | -#### action\_queue\_recv 函数 ------------------------ - -* 函数功能: - ->
接收一个请求。 - -* 函数原型: - -``` -ret_t action_queue_recv (action_queue_t* q, qaction_t** action); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| q | action\_queue\_t* | action\_queue对象。 | -| action | qaction\_t** | 用于返回action对象。 | -#### action\_queue\_send 函数 ------------------------ - -* 函数功能: - ->
发送一个请求。 - -* 函数原型: - -``` -ret_t action_queue_send (action_queue_t* q, qaction_t* action); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| q | action\_queue\_t* | action\_queue对象。 | -| action | qaction\_t* | action对象。 | #### tk\_ostream\_shdlc\_create 函数 ----------------------- diff --git a/docs/manual/tk_ostream_stats_t.md b/docs/manual/tk_ostream_stats_t.md new file mode 100644 index 000000000..4f60865bf --- /dev/null +++ b/docs/manual/tk_ostream_stats_t.md @@ -0,0 +1,31 @@ +## tk\_ostream\_stats\_t +### 概述 +![image](images/tk_ostream_stats_t_0.png) + +带统计功能的输出流。 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_ostream\_stats\_create | 创建ostream对象。 | +#### tk\_ostream\_stats\_create 函数 +----------------------- + +* 函数功能: + +>
创建ostream对象。 + +* 函数原型: + +``` +tk_ostream_t* tk_ostream_stats_create (tk_ostream_t* impl); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_ostream\_t* | 返回ostream对象。 | +| impl | tk\_ostream\_t* | 被统计的输出流对象 | diff --git a/docs/manual/tk_sha256_t.md b/docs/manual/tk_sha256_t.md new file mode 100644 index 000000000..651afd945 --- /dev/null +++ b/docs/manual/tk_sha256_t.md @@ -0,0 +1,94 @@ +## tk\_sha256\_t +### 概述 +sha256 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_sha256 | 计算数据的sha256哈希值。 | +| tk\_sha256\_done | 完成计算。 | +| tk\_sha256\_hash | 更新数据。 | +| tk\_sha256\_init | 初始化。 | +#### tk\_sha256 函数 +----------------------- + +* 函数功能: + +>
计算数据的sha256哈希值。 + +* 函数原型: + +``` +ret_t tk_sha256 (const void* data, uint32_t len, str_t* hash); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| data | const void* | 数据。 | +| len | uint32\_t | 数据长度。 | +| hash | str\_t* | 用于返回计算结果。 | +#### tk\_sha256\_done 函数 +----------------------- + +* 函数功能: + +>
完成计算。 + +* 函数原型: + +``` +ret_t tk_sha256_done (tk_sha256_t* sha256, uint8_t* hash); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| sha256 | tk\_sha256\_t* | sha256对象。 | +| hash | uint8\_t* | 用于返回计算结果。 | +#### tk\_sha256\_hash 函数 +----------------------- + +* 函数功能: + +>
更新数据。 + +* 函数原型: + +``` +ret_t tk_sha256_hash (tk_sha256_t* sha256, const uint8_t* data, uint32_t len); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| sha256 | tk\_sha256\_t* | sha256对象。 | +| data | const uint8\_t* | 数据。 | +| len | uint32\_t | 数据长度。 | +#### tk\_sha256\_init 函数 +----------------------- + +* 函数功能: + +>
初始化。 + +* 函数原型: + +``` +ret_t tk_sha256_init (tk_sha256_t* sha256); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| sha256 | tk\_sha256\_t* | sha256对象。 | diff --git a/docs/manual/tk_sm_event_t.md b/docs/manual/tk_sm_event_t.md new file mode 100644 index 000000000..058b2ded6 --- /dev/null +++ b/docs/manual/tk_sm_event_t.md @@ -0,0 +1,4 @@ +## tk\_sm\_event\_t +### 概述 +状态机事件 +---------------------------------- diff --git a/docs/manual/tk_sm_state_t.md b/docs/manual/tk_sm_state_t.md new file mode 100644 index 000000000..0df24c865 --- /dev/null +++ b/docs/manual/tk_sm_state_t.md @@ -0,0 +1,4 @@ +## tk\_sm\_state\_t +### 概述 +状态结构体 +---------------------------------- diff --git a/docs/manual/tk_sm_transition_t.md b/docs/manual/tk_sm_transition_t.md new file mode 100644 index 000000000..76a291ace --- /dev/null +++ b/docs/manual/tk_sm_transition_t.md @@ -0,0 +1,4 @@ +## tk\_sm\_transition\_t +### 概述 +状态转换条件 +---------------------------------- diff --git a/docs/manual/tk_state_machine_t.md b/docs/manual/tk_state_machine_t.md new file mode 100644 index 000000000..b2518427b --- /dev/null +++ b/docs/manual/tk_state_machine_t.md @@ -0,0 +1,112 @@ +## tk\_state\_machine\_t +### 概述 +状态机结构体 +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| tk\_state\_machine\_current\_get | 获取当前状态 | +| tk\_state\_machine\_deinit | 反初始化 | +| tk\_state\_machine\_handle | 事件处理 | +| tk\_state\_machine\_init | 初始化 | +| tk\_state\_machine\_previous\_get | 获取上一个状态 | +#### tk\_state\_machine\_current\_get 函数 +----------------------- + +* 函数功能: + +>
获取当前状态 + +* 函数原型: + +``` +tk_sm_state_t* tk_state_machine_current_get (tk_state_machine_t* fsm); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_sm\_state\_t* | 返回 tk\_sm\_state\_t 对象 | +| fsm | tk\_state\_machine\_t* | 状态机地址 | +#### tk\_state\_machine\_deinit 函数 +----------------------- + +* 函数功能: + +>
反初始化 + +* 函数原型: + +``` +ret_t tk_state_machine_deinit (tk_state_machine_t* fsm, tk_sm_event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t 值 | +| fsm | tk\_state\_machine\_t* | 状态机地址 | +| event | tk\_sm\_event\_t* | 事件 | +#### tk\_state\_machine\_handle 函数 +----------------------- + +* 函数功能: + +>
事件处理 + +* 函数原型: + +``` +ret_t tk_state_machine_handle (tk_state_machine_t* fsm, tk_sm_event_t* event); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t 值 | +| fsm | tk\_state\_machine\_t* | 状态机地址 | +| event | tk\_sm\_event\_t* | 事件 | +#### tk\_state\_machine\_init 函数 +----------------------- + +* 函数功能: + +>
初始化 + +* 函数原型: + +``` +ret_t tk_state_machine_init (tk_state_machine_t* fsm, const tk_sm_state_t* initial_state); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t 值 | +| fsm | tk\_state\_machine\_t* | 状态机地址 | +| initial\_state | const tk\_sm\_state\_t* | 初始状态 | +#### tk\_state\_machine\_previous\_get 函数 +----------------------- + +* 函数功能: + +>
获取上一个状态 + +* 函数原型: + +``` +tk_sm_state_t* tk_state_machine_previous_get (tk_state_machine_t* fsm); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | tk\_sm\_state\_t* | 返回 tk\_sm\_state\_t 对象 | +| fsm | tk\_state\_machine\_t* | 状态机地址 | diff --git a/docs/manual/tokenizer_t.md b/docs/manual/tokenizer_t.md index bd51e6ad5..5dfaeab0d 100644 --- a/docs/manual/tokenizer_t.md +++ b/docs/manual/tokenizer_t.md @@ -27,6 +27,7 @@ tokenizer_deinit(t); | tokenizer\_next\_expr\_until | 获取下一个expr,该expr直到遇到指定的char。 | | tokenizer\_next\_float | 获取下一个token,并转换成float。 | | tokenizer\_next\_int | 获取下一个token,并转换成int。 | +| tokenizer\_next\_str | 获取下一个字符串(允许使用英文单引号和双引号界定字符串)。 | | tokenizer\_next\_until | 获取下一个token,该token直到遇到指定的char。 | ### 属性
@@ -200,6 +201,25 @@ char* tokenizer_next_int (tokenizer_t* tokenizer, int defval); | 返回值 | char* | 成功返回token的int值,失败返回缺省值。 | | tokenizer | tokenizer\_t* | tokenizer对象。 | | defval | int | 缺省值。 | +#### tokenizer\_next\_str 函数 +----------------------- + +* 函数功能: + +>
获取下一个字符串(允许使用英文单引号和双引号界定字符串)。 + +* 函数原型: + +``` +char* tokenizer_next_str (tokenizer_t* tokenizer); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 成功返回字符串,失败返回NULL。 | +| tokenizer | tokenizer\_t* | tokenizer对象。 | #### tokenizer\_next\_until 函数 ----------------------- diff --git a/docs/manual/ubjson_writer_t.md b/docs/manual/ubjson_writer_t.md index 60c692e6b..c9d6b2b0b 100644 --- a/docs/manual/ubjson_writer_t.md +++ b/docs/manual/ubjson_writer_t.md @@ -448,7 +448,7 @@ ret_t ubjson_writer_write_kv_int64 (ubjson_writer_t* writer, const char* key, in * 函数原型: ``` -ret_t ubjson_writer_write_kv_object (ubjson_writer_t* writer, const char* key, object_t* value); +ret_t ubjson_writer_write_kv_object (ubjson_writer_t* writer, const char* key, tk_object_t* value); ``` * 参数说明: @@ -458,7 +458,7 @@ ret_t ubjson_writer_write_kv_object (ubjson_writer_t* writer, const char* key, o | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | writer | ubjson\_writer\_t* | writer对象。 | | key | const char* | 键名。 | -| value | object\_t* | 对象。 | +| value | tk\_object\_t* | 对象。 | #### ubjson\_writer\_write\_kv\_object\_begin 函数 ----------------------- @@ -599,7 +599,7 @@ ret_t ubjson_writer_write_null (ubjson_writer_t* writer); * 函数原型: ``` -ret_t ubjson_writer_write_object (ubjson_writer_t* writer, object_t* obj); +ret_t ubjson_writer_write_object (ubjson_writer_t* writer, tk_object_t* obj); ``` * 参数说明: @@ -608,7 +608,7 @@ ret_t ubjson_writer_write_object (ubjson_writer_t* writer, object_t* obj); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | writer | ubjson\_writer\_t* | writer对象。 | -| obj | object\_t* | 要写入的对象。 | +| obj | tk\_object\_t* | 要写入的对象。 | #### ubjson\_writer\_write\_object\_begin 函数 ----------------------- diff --git a/docs/manual/udp_t.md b/docs/manual/udp_t.md index 8298b2e76..99ccdb527 100644 --- a/docs/manual/udp_t.md +++ b/docs/manual/udp_t.md @@ -7,19 +7,19 @@ | 函数名称 | 说明 | | -------- | ------------ | -| udp\_connect | 连接到指定服务器。 | -| udp\_listen | 监听指定端口,成功返回sock句柄。 | -#### udp\_connect 函数 +| tk\_udp\_connect | 连接到指定服务器。 | +| tk\_udp\_listen | 监听指定端口,成功返回sock句柄。 | +#### tk\_udp\_connect 函数 ----------------------- * 函数功能: ->
连接到指定服务器。 +>
连接到指定服务器。 * 函数原型: ``` -int udp_connect (const char* host, int port); +int tk_udp_connect (const char* host, int port); ``` * 参数说明: @@ -29,17 +29,17 @@ int udp_connect (const char* host, int port); | 返回值 | int | 返回sock句柄。 | | host | const char* | 主机名或IP地址。 | | port | int | 端口号。 | -#### udp\_listen 函数 +#### tk\_udp\_listen 函数 ----------------------- * 函数功能: ->
监听指定端口,成功返回sock句柄。 +>
监听指定端口,成功返回sock句柄。 * 函数原型: ``` -int udp_listen (int port); +int tk_udp_listen (int port); ``` * 参数说明: diff --git a/docs/manual/ui_loader_t.md b/docs/manual/ui_loader_t.md index 5d22ced86..aae1885f1 100644 --- a/docs/manual/ui_loader_t.md +++ b/docs/manual/ui_loader_t.md @@ -20,6 +20,7 @@ UI加载器。 | -------- | ------------ | | ui\_loader\_load | 加载界面描述数据,然后分发给ui\_builder,由ui\_builder进一步处理。 | | ui\_loader\_load\_widget | 从指定的资源加载widget对象,通常用于加载非窗口的widget。 | +| ui\_loader\_load\_widget\_from\_xml | 从xml数据创建widget。 | | ui\_loader\_load\_widget\_with\_parent | 从指定的资源加载widget对象,并为widget对象指定父控件对象,通常用于加载非窗口的widget。 | #### ui\_loader\_load 函数 ----------------------- @@ -64,6 +65,29 @@ widget_t* ui_loader_load_widget (const char* name); | -------- | ----- | --------- | | 返回值 | widget\_t* | 返回widget对象。 | | name | const char* | 资源名。 | +#### ui\_loader\_load\_widget\_from\_xml 函数 +----------------------- + +* 函数功能: + +>
从xml数据创建widget。 + +>需要自己将widget加入窗口后,再调用widget\_layout。 + +* 函数原型: + +``` +widget_t* ui_loader_load_widget_from_xml (widget_t* parent, const char* xml, uint32_t size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | 返回widget对象。 | +| parent | widget\_t* | 父控件对象。 | +| xml | const char* | XML数据。 | +| size | uint32\_t | XML数据长度。 | #### ui\_loader\_load\_widget\_with\_parent 函数 ----------------------- diff --git a/docs/manual/url_t.md b/docs/manual/url_t.md index df4f0c2ff..5982a103f 100644 --- a/docs/manual/url_t.md +++ b/docs/manual/url_t.md @@ -17,13 +17,14 @@ URL | url\_set\_port | 设置端口。 | | url\_set\_schema | 设置schema。 | | url\_set\_user\_name | 设置用户名。 | +| url\_to\_string | 格式化成字符串。 | ### 属性
| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | host | char* | 主机名。 | -| params | object\_t* | 参数集合。 | +| params | tk\_object\_t* | 参数集合。 | | password | char* | 密码。 | | path | char* | 路径。 | | port | int32\_t | 端口。 | @@ -228,6 +229,27 @@ ret_t url_set_user_name (url_t* url, const char* user_name); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | url | url\_t* | url对象。 | | user\_name | const char* | 用户名。 | +#### url\_to\_string 函数 +----------------------- + +* 函数功能: + +>
格式化成字符串。 + +>返回的字符串在URL对象销毁或下一次调用本函数时失效。 + +* 函数原型: + +``` +const char* url_to_string (url_t* url); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 返回字符串格式的URL。 | +| url | url\_t* | url对象。 | #### host 属性 ----------------------- >
主机名。 @@ -242,7 +264,7 @@ ret_t url_set_user_name (url_t* url, const char* user_name); ----------------------- >
参数集合。 -* 类型:object\_t* +* 类型:tk\_object\_t* | 特性 | 是否支持 | | -------- | ----- | diff --git a/docs/manual/utf8_t.md b/docs/manual/utf8_t.md index 7bfc49995..95da51307 100644 --- a/docs/manual/utf8_t.md +++ b/docs/manual/utf8_t.md @@ -25,6 +25,7 @@ tk_utf8_from_utf16(wstr, res_str, ARRAY_SIZE(res_str)); | tk\_utf8\_get\_bytes\_of\_leading | 获取第一个字节为c的字符的字节数。 | | tk\_utf8\_to\_utf16 | 将char类型转换为wchar_t类型。 | | tk\_utf8\_to\_utf16\_ex | 将char类型转换为wchar_t类型。 | +| tk\_utf8\_trim\_invalid\_char | 如果字符串最后一个字符串是无效的,删掉该无效字符。 | #### tk\_utf8\_dup\_utf16 函数 ----------------------- @@ -151,3 +152,26 @@ wchar_t* tk_utf8_to_utf16_ex (const char* str, uint32_t size, const wchar_t* out | size | uint32\_t | 缓冲区大小。 | | out | const wchar\_t* | 返回结果缓冲区。 | | out\_size | uint32\_t | 缓冲区大小。 | +#### tk\_utf8\_trim\_invalid\_char 函数 +----------------------- + +* 函数功能: + +>
如果字符串最后一个字符串是无效的,删掉该无效字符。 + +> 对于用strncpy/snprintf等生成字符串时,如果目标字符串内存大小不够, +> 可能最后一个字符被从中间截断,导致该字符是无效的,这可能会触发assert, +> 本函数可以用来删除最后一个无效字符。 + +* 函数原型: + +``` +char* tk_utf8_trim_invalid_char (const char* str); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 返回UTF8字符串。 | +| str | const char* | 输入字符串。 | diff --git a/docs/manual/utils_t.md b/docs/manual/utils_t.md index 708c35d7a..51dd9da80 100644 --- a/docs/manual/utils_t.md +++ b/docs/manual/utils_t.md @@ -21,36 +21,46 @@ | tk\_atoi | 将字符串转换为整型数。 | | tk\_atol | 将字符串转换为整型。 | | tk\_atoul | 将字符串转换为整型。 | +| tk\_eval\_ratio\_or\_px | 如果expr以px/PX结束,直接返回expr前面的数值。 | | tk\_ftoa | 将浮点型转换为字符串。 | +| tk\_is\_ui\_thread | 判断当前线程是否是UI线程。 | | tk\_is\_valid\_name | 判断是否是有效的属性名。 | | tk\_itoa | 将整型转换为字符串。 | +| tk\_memcpy | 内存拷贝。 | | tk\_memcpy16 | 拷贝数据2字节。 | | tk\_memcpy32 | 拷贝数据4字节。 | +| tk\_memdup | 内存拷贝。 | | tk\_memset16 | 设置数据2字节。 | | tk\_memset24 | 设置数据3字节。 | | tk\_memset32 | 设置数据4字节。 | +| tk\_normalize\_key\_name | | | tk\_pixel\_copy | 已bpp字节为标准拷贝数据。 | | tk\_pointer\_from\_int | 将int转换成指针。 | | tk\_pointer\_to\_int | 将指针转换成int。 | | tk\_qsort | 快速排序。 | +| tk\_replace\_char | 替换字符。 | +| tk\_replace\_locale | | +| tk\_set\_ui\_thread | 设置UI线程的ID。 | | tk\_skip\_to\_num | 跳过字符串函数,如:字符串"hello123world",返回的结果是"123world"。 | | tk\_snprintf | 将可变参数(...)按照format格式化字符串,并将字符串复制到str中。 | | tk\_sscanf | 从字符串读取格式化输入。 | | tk\_str\_append | 字符串追加函数。 | -| tk\_str\_cmp | 字符串比较函数。 | | tk\_str\_copy | 字符串拷贝函数。 | | tk\_str\_end\_with | 检查字符串是否以指定的字符串appendix结尾。 | -| tk\_str\_icmp | 字符串比较函数(不区分大小写)。 | +| tk\_str\_is\_in\_array | 检查字符串是否在字符串数组中。 | | tk\_str\_start\_with | 检查字符串是否以指定的字符串prefix开头。 | | tk\_str\_tolower | 将大写字母转换为小写字母。 | | tk\_str\_totitle | 将单词首字母转换为大写字母。 | | tk\_str\_toupper | 将小写字母转换为大写字母。 | +| tk\_strcmp | 字符串比较函数。 | | tk\_strcpy | 将src所指向的字符串复制到dst。 | | tk\_strdup | 字符串拷贝函数。 | +| tk\_stricmp | 字符串比较函数(不区分大小写)。 | | tk\_strlen | 获取字符串的长度。str为空时返回0。 | | tk\_strncpy | 将src所指向的字符串复制到dst,最多复制len个字符串,并在[len]位置添加'\0'。 | | tk\_strncpy\_s | 将src所指向的字符串复制到dst,最多复制min(dst_len-1, src_len)个字符串,并在[len]位置添加'\0'。 | | tk\_strndup | 字符串拷贝函数,最多复制len个字符串。 | +| tk\_strnlen | 获取字符串的长度。str为空时返回0。 | | tk\_strrstr | 从后往前查找指定的字符串。 | | tk\_strtoi | 将字符串转换为整型。 | | tk\_strtol | 将字符串转换为长整型。 | @@ -61,9 +71,12 @@ | tk\_watof | 将宽字符串转换为浮点类型。 | | tk\_watoi | 将宽字符串转换为整型。 | | tk\_watoi\_n | 将宽字符串转换为整型。 | +| tk\_wild\_card\_match | 简单的通配符匹配。*匹配0到多个字符,?匹配1个字符。 | | tk\_wstr\_count\_c | 统计UCS字符串中某个字符出现的次数。 | | tk\_wstr\_dup\_utf8 | 将utf8字符串拷贝为UCS字符串。 | +| tk\_wstrcmp | 字符串比较函数。 | | tk\_wstrdup | 宽字符串拷贝函数。 | +| tk\_wstricmp | 字符串比较函数(不区分大小写)。 | | xml\_file\_expand\_read | expand include process instruction to file content: | #### compare\_always\_equal 函数 ----------------------- @@ -218,7 +231,7 @@ ret_t image_region_parse (uint32_t img_w, uint32_t img_h, const char* region, re * 函数原型: ``` -ret_t object_to_json (object_t* obj, str_t* str); +ret_t object_to_json (tk_object_t* obj, str_t* str); ``` * 参数说明: @@ -226,7 +239,7 @@ ret_t object_to_json (object_t* obj, str_t* str); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | -| obj | object\_t* | object对象。 | +| obj | tk\_object\_t* | object对象。 | | str | str\_t* | 用于返回结果。 | #### pointer\_compare 函数 ----------------------- @@ -343,6 +356,37 @@ uint64_t tk_atoul (const char* str); | -------- | ----- | --------- | | 返回值 | uint64\_t | 返回转换后的整型。 | | str | const char* | 要转换为整型的字符串。 | +#### tk\_eval\_ratio\_or\_px 函数 +----------------------- + +* 函数功能: + +>
如果expr以px/PX结束,直接返回expr前面的数值。 +如果expr以%结束,而且数值大于1,返回(数值 * value)/100。 +否则将数值当作比例,返回(数值 * value)。 + +> 为了兼容以前的处理,如果expr以%结束,但是数值在0到1之间,此时忽略%。 + +```c +tk_eval_ratio_or_px("0.5", 100) => 50 +tk_eval_ratio_or_px("20px", 100) => 20 +tk_eval_ratio_or_px("20%", 100) => 20 +tk_eval_ratio_or_px("0.5%", 100) => 50 +``` + +* 函数原型: + +``` +float_t tk_eval_ratio_or_px (const char* expr, int32_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | float\_t | 返回计算结果。 | +| expr | const char* | 表达式(如100px, 0.5等) | +| value | int32\_t | 值。 | #### tk\_ftoa 函数 ----------------------- @@ -364,6 +408,24 @@ const char* tk_ftoa (char* str, int len, double f); | str | char* | 保存字符串缓冲区。 | | len | int | 缓冲区大小。 | | f | double | 要转换的浮点型。 | +#### tk\_is\_ui\_thread 函数 +----------------------- + +* 函数功能: + +>
判断当前线程是否是UI线程。 + +* 函数原型: + +``` +bool_t tk_is_ui_thread (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示是,否则表示否。 | #### tk\_is\_valid\_name 函数 ----------------------- @@ -404,6 +466,28 @@ const char* tk_itoa (char* str, int len, int n); | str | char* | 保存字符串缓冲区。 | | len | int | 缓冲区大小。 | | n | int | 要转换的整型。 | +#### tk\_memcpy 函数 +----------------------- + +* 函数功能: + +>
内存拷贝。 +在地址对齐的情况下并且少于 64 个字节,效率会比 memcpy 要快,否则会退化为 memcpy。 + +* 函数原型: + +``` +void* tk_memcpy (void* dst, const void* src, uint32_t len); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | void* | 返回成功返回 dst 地址,失败返回 NULL。 | +| dst | void* | 目标字符串。 | +| src | const void* | 源字符串。 | +| len | uint32\_t | 拷贝长度。 | #### tk\_memcpy16 函数 ----------------------- @@ -446,6 +530,26 @@ uint32_t* tk_memcpy32 (uint32_t* dst, uint32_t* src, uint32_t size); | dst | uint32\_t* | 目标 | | src | uint32\_t* | 源。 | | size | uint32\_t | 个数。 | +#### tk\_memdup 函数 +----------------------- + +* 函数功能: + +>
内存拷贝。 + +* 函数原型: + +``` +void* tk_memdup (const void* data, uint32_t len); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | void* | 返回指向的向新的内存指针,如果失败则返回NULL。 | +| data | const void* | 原内存。 | +| len | uint32\_t | 长度。 | #### tk\_memset16 函数 ----------------------- @@ -594,6 +698,64 @@ ret_t tk_qsort (void** array, size_t nr, tk_compare_t cmp); | array | void** | 数据。 | | nr | size\_t | 元素个数。 | | cmp | tk\_compare\_t | 比较函数。 | +#### tk\_replace\_char 函数 +----------------------- + +* 函数功能: + +>
替换字符。 + +* 函数原型: + +``` +char* tk_replace_char (char* str, char from, char to); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | char* | 返回str。 | +| str | char* | 原字符串。 | +| from | char | 被替换的字符。 | +| to | char | 替换成的字符。 | +#### tk\_replace\_locale 函数 +----------------------- + +* 函数功能: + +>
+ +* 函数原型: + +``` +ret_t tk_replace_locale (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +#### tk\_set\_ui\_thread 函数 +----------------------- + +* 函数功能: + +>
设置UI线程的ID。 + +* 函数原型: + +``` +ret_t tk_set_ui_thread (uint64_t ui_thread_id); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| ui\_thread\_id | uint64\_t | UI线程的ID。 | #### tk\_skip\_to\_num 函数 ----------------------- @@ -675,26 +837,6 @@ ret_t tk_str_append (char* str, uint32_t max_len, const char* s); | str | char* | 被追加字符串。 | | max\_len | uint32\_t | 字符串的最大长度。 | | s | const char* | 要追加的字符串。 | -#### tk\_str\_cmp 函数 ------------------------ - -* 函数功能: - ->
字符串比较函数。 - -* 函数原型: - -``` -int32_t tk_str_cmp (const char* a, const char* b); -``` - -* 参数说明: - -| 参数 | 类型 | 说明 | -| -------- | ----- | --------- | -| 返回值 | int32\_t | 如果返回值=-1,则表示a为NULL;如果返回值=1,则表示b为NULL;如果返回值<0,则表示a小于b;如果返回值>0,则表示a大于b;如果返回值=0,则表示a等于b。 | -| a | const char* | 要进行比较的第一个字符串。 | -| b | const char* | 要进行比较的第二个字符串。 | #### tk\_str\_copy 函数 ----------------------- @@ -736,26 +878,27 @@ bool_t tk_str_end_with (const char* str, const char* appendix); | 返回值 | bool\_t | 返回TRUE表示是;否则表示不是。 | | str | const char* | 要检查字符串。 | | appendix | const char* | 被检查的字符串。 | -#### tk\_str\_icmp 函数 +#### tk\_str\_is\_in\_array 函数 ----------------------- * 函数功能: ->
字符串比较函数(不区分大小写)。 +>
检查字符串是否在字符串数组中。 * 函数原型: ``` -int32_t tk_str_icmp (const char* a, const char* b); +bool_t tk_str_is_in_array (const char* str, const char** str_array, uint32_t array_size); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | int32\_t | 如果返回值=-1,则表示a为NULL;如果返回值=1,则表示b为NULL;如果返回值<0,则表示a小于b;如果返回值>0,则表示a大于b;如果返回值=0,则表示a等于b。 | -| a | const char* | 要进行比较的第一个字符串。 | -| b | const char* | 要进行比较的第二个字符串。 | +| 返回值 | bool\_t | 返回TRUE表示在,否则表示不在。 | +| str | const char* | 字符串。 | +| str\_array | const char** | 字符串数组。 | +| array\_size | uint32\_t | 字符串数组中字符串的个数。 | #### tk\_str\_start\_with 函数 ----------------------- @@ -836,6 +979,26 @@ char* tk_str_toupper (char* str); | -------- | ----- | --------- | | 返回值 | char* | 返回转换后的大写字母字符串。 | | str | char* | 要被转换成大写字母的字符串。 | +#### tk\_strcmp 函数 +----------------------- + +* 函数功能: + +>
字符串比较函数。 + +* 函数原型: + +``` +int32_t tk_strcmp (const char* a, const char* b); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 如果返回值=-1,则表示a为NULL;如果返回值=1,则表示b为NULL;如果返回值<0,则表示a小于b;如果返回值>0,则表示a大于b;如果返回值=0,则表示a等于b。 | +| a | const char* | 要进行比较的第一个字符串。 | +| b | const char* | 要进行比较的第二个字符串。 | #### tk\_strcpy 函数 ----------------------- @@ -875,6 +1038,26 @@ char* tk_strdup (const char* str); | -------- | ----- | --------- | | 返回值 | char* | 返回指向的复制字符串指针,如果失败则返回NULL。 | | str | const char* | 原字符串。 | +#### tk\_stricmp 函数 +----------------------- + +* 函数功能: + +>
字符串比较函数(不区分大小写)。 + +* 函数原型: + +``` +int32_t tk_stricmp (const char* a, const char* b); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 如果返回值=-1,则表示a为NULL;如果返回值=1,则表示b为NULL;如果返回值<0,则表示a小于b;如果返回值>0,则表示a大于b;如果返回值=0,则表示a等于b。 | +| a | const char* | 要进行比较的第一个字符串。 | +| b | const char* | 要进行比较的第二个字符串。 | #### tk\_strlen 函数 ----------------------- @@ -923,6 +1106,7 @@ char* tk_strncpy (char* dst, const char* src, size_t len); * 函数功能: >
将src所指向的字符串复制到dst,最多复制min(dst_len-1, src_len)个字符串,并在[len]位置添加'\0'。 +如果 dst 和 src 的地址对齐的话,效率会比 strncpy 高,如果小于 64 个字节的话,效率是最高的。 * 函数原型: @@ -959,6 +1143,26 @@ char* tk_strndup (const char* str, uint32_t len); | 返回值 | char* | 返回指向的复制字符串指针,如果失败则返回NULL。 | | str | const char* | 原字符串。 | | len | uint32\_t | 要复制的字符串个数。 | +#### tk\_strnlen 函数 +----------------------- + +* 函数功能: + +>
获取字符串的长度。str为空时返回0。 + +* 函数原型: + +``` +uint32_t tk_strnlen (const char* str, uint32_t ); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | uint32\_t | 返回字符串的长度。 | +| str | const char* | 字符串。 | +| | uint32\_t | 。 | #### tk\_strrstr 函数 ----------------------- @@ -1162,6 +1366,32 @@ int tk_watoi_n (const wchar_t* str, uint32_t len); | 返回值 | int | 返回转换后的整型。 | | str | const wchar\_t* | 要转换为整型的宽字符串。 | | len | uint32\_t | 字符串长度。 | +#### tk\_wild\_card\_match 函数 +----------------------- + +* 函数功能: + +>
简单的通配符匹配。*匹配0到多个字符,?匹配1个字符。 +示例: + +```c +tk_wild_card_match("*c", "abc"); +tk_wild_card_match("a?c", "abc"); +``` + +* 函数原型: + +``` +bool_t tk_wild_card_match (const char* pattern, const char* str); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回TRUE表示匹配,否则表示不匹配。 | +| pattern | const char* | 字符串。 | +| str | const char* | 字符串。 | #### tk\_wstr\_count\_c 函数 ----------------------- @@ -1201,6 +1431,26 @@ wchar_t* tk_wstr_dup_utf8 (char* str); | -------- | ----- | --------- | | 返回值 | wchar\_t* | 返回UCS字符串(需要调用TKMEM\_FREE释放)。 | | str | char* | utf8编码的字符串。 | +#### tk\_wstrcmp 函数 +----------------------- + +* 函数功能: + +>
字符串比较函数。 + +* 函数原型: + +``` +int32_t tk_wstrcmp (const wchar_t* a, const wchar_t* b); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 如果返回值=-1,则表示a为NULL;如果返回值=1,则表示b为NULL;如果返回值<0,则表示a小于b;如果返回值>0,则表示a大于b;如果返回值=0,则表示a等于b。 | +| a | const wchar\_t* | 要进行比较的第一个字符串。 | +| b | const wchar\_t* | 要进行比较的第二个字符串。 | #### tk\_wstrdup 函数 ----------------------- @@ -1220,6 +1470,26 @@ wchar_t* tk_wstrdup (const wchar_t* str); | -------- | ----- | --------- | | 返回值 | wchar\_t* | 返回指向的复制宽字符串指针,如果失败则返回NULL。 | | str | const wchar\_t* | 原宽字符串。 | +#### tk\_wstricmp 函数 +----------------------- + +* 函数功能: + +>
字符串比较函数(不区分大小写)。 + +* 函数原型: + +``` +int32_t tk_wstricmp (const wchar_t* a, const wchar_t* b); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | int32\_t | 如果返回值=-1,则表示a为NULL;如果返回值=1,则表示b为NULL;如果返回值<0,则表示a小于b;如果返回值>0,则表示a大于b;如果返回值=0,则表示a等于b。 | +| a | const wchar\_t* | 要进行比较的第一个字符串。 | +| b | const wchar\_t* | 要进行比较的第二个字符串。 | #### xml\_file\_expand\_read 函数 ----------------------- diff --git a/docs/manual/value_t.md b/docs/manual/value_t.md index aef0c30cf..436744e99 100644 --- a/docs/manual/value_t.md +++ b/docs/manual/value_t.md @@ -16,36 +16,62 @@ value_set_int(&v, 100); | 函数名称 | 说明 | | -------- | ------------ | +| value\_abs | 将v取绝对值,并放入result对象。 | +| value\_add | 将v和other求和,并放入result对象。 | | value\_binary\_data | 获取为binary_data的值。 | +| value\_bit\_and | 将v和other按位取与,并放入result对象。 | +| value\_bit\_not | 将v按位取反,并放入result对象。 | +| value\_bit\_or | 将v和other按位取或,并放入result对象。 | +| value\_bit\_xor | 将v和other按位取异或,并放入result对象。 | +| value\_bitmap | 获取类型为位图对象。 | | value\_bool | 获取类型为bool的值。 | | value\_cast | 转换为value对象。 | | value\_copy | 拷贝value的值。 | | value\_create | 创建value对象。 | | value\_deep\_copy | 深拷贝value的值。 | | value\_destroy | 销毁value对象。 | +| value\_div | 将v和other求商,并放入result对象。 | | value\_double | 获取类型为double的值。 | | value\_dup\_binary\_data | 设置类型为binary_data的值(复制数据)。 | | value\_dup\_str | 设置类型为字符串的值(并拷贝字符串)。 | | value\_dup\_str\_with\_len | 设置类型为字符串的值(并拷贝字符串)。 | | value\_equal | 判断两个value是否相同。 | +| value\_expt | 计算v的other次幂,并放入result对象。 | | value\_float | 获取类型为float\_t的值。 | | value\_float32 | 获取类型为float的值。 | +| value\_func | 获取类型为func的值。 | +| value\_func\_def | 获取类型为func_def的值。 | +| value\_get\_bit | 将v指定的位数取出,并放入result对象。 | | value\_gradient | 获取为gradient的值。 | +| value\_id | 获取类型为ID的值。 | | value\_int | 转换为int的值。 | | value\_int16 | 获取类型为int16的值。 | | value\_int32 | 获取类型为int32的值。 | | value\_int64 | 获取类型为int64的值。 | | value\_int8 | 获取类型为int8的值。 | | value\_is\_null | 判断value是否为空值。 | +| value\_lshift | 将v左移指定的位数,并将结果放入result对象。 | +| value\_lshift\_r | 将v循环左移指定的位数,并将结果放入result对象。 | +| value\_max | 从数组中选择最大值,并放入result对象。 | +| value\_min | 从数组中选择最小值,并放入result对象。 | +| value\_mod | 将v和other求模,并放入result对象。 | +| value\_mul | 将v和other求积,并放入result对象。 | | value\_object | 转换为object的值。 | | value\_pointer | 获取类型为pointer的值。 | | value\_reset | 重置value对象。 | +| value\_rshift | 将v右移指定的位数,并将结果放入result对象。 | +| value\_rshift\_r | 将v循环右移指定的位数,并将结果放入result对象。 | | value\_set\_binary\_data | 设置类型为binary_data的值。 | +| value\_set\_bit | 将v指定的位数设置为bit,并放入result对象。 | +| value\_set\_bitmap | 设置类型为位图对象。 | | value\_set\_bool | 设置类型为bool的值。 | | value\_set\_double | 设置类型为double的值。 | | value\_set\_float | 设置类型为float\_t的值。 | | value\_set\_float32 | 设置类型为float的值。 | +| value\_set\_func | 设置类型为func的值。 | +| value\_set\_func\_def | 设置类型为func_def的值。 | | value\_set\_gradient | 设置类型为gradient的值。 | +| value\_set\_id | 设置类型为ID的值。 | | value\_set\_int | 设置类型为int的值。 | | value\_set\_int16 | 设置类型为int16的值。 | | value\_set\_int32 | 设置类型为int32的值。 | @@ -53,6 +79,7 @@ value_set_int(&v, 100); | value\_set\_int8 | 设置类型为int8的值。 | | value\_set\_object | 设置类型为object的值。 | | value\_set\_pointer | 设置类型为pointer的值。 | +| value\_set\_pointer\_ex | 设置类型为pointer的值。 | | value\_set\_sized\_str | 设置类型为带长度的字符串的值。 | | value\_set\_str | 设置类型为字符串的值。 | | value\_set\_token | 设置类型为token的值。 | @@ -65,6 +92,8 @@ value_set_int(&v, 100); | value\_sized\_str | 获取为sized_str的值。 | | value\_str | 获取类型为字符串的值。 | | value\_str\_ex | 获取类型为字符串的值。 | +| value\_sub | 将v和other求差,并放入result对象。 | +| value\_toggle\_bit | 将v指定的位数取反,并将结果放入result对象。 | | value\_token | 获取token的值。 | | value\_type\_size | 获取指定类型数据大小。 | | value\_ubjson | 获取为ubjson的值。 | @@ -73,6 +102,47 @@ value_set_int(&v, 100); | value\_uint64 | 获取类型为uint64的值。 | | value\_uint8 | 获取类型为uint8的值。 | | value\_wstr | 获取类型为宽字符串的值。 | +#### value\_abs 函数 +----------------------- + +* 函数功能: + +>
将v取绝对值,并放入result对象。 + +* 函数原型: + +``` +ret_t value_abs (value_t* v, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是数值类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_add 函数 +----------------------- + +* 函数功能: + +>
将v和other求和,并放入result对象。 + +* 函数原型: + +``` +ret_t value_add (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是数值类型)。 | +| other | value\_t* | value对象(必须是数值类型)。 | +| result | value\_t* | 返回结果的value对象。 | #### value\_binary\_data 函数 ----------------------- @@ -92,6 +162,108 @@ binary_data_t* value_binary_data (value_t* v); | -------- | ----- | --------- | | 返回值 | binary\_data\_t* | 值。 | | v | value\_t* | value对象。 | +#### value\_bit\_and 函数 +----------------------- + +* 函数功能: + +>
将v和other按位取与,并放入result对象。 + +* 函数原型: + +``` +ret_t value_bit_and (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| other | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_bit\_not 函数 +----------------------- + +* 函数功能: + +>
将v按位取反,并放入result对象。 + +* 函数原型: + +``` +ret_t value_bit_not (value_t* v, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_bit\_or 函数 +----------------------- + +* 函数功能: + +>
将v和other按位取或,并放入result对象。 + +* 函数原型: + +``` +ret_t value_bit_or (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| other | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_bit\_xor 函数 +----------------------- + +* 函数功能: + +>
将v和other按位取异或,并放入result对象。 + +* 函数原型: + +``` +ret_t value_bit_xor (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| other | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_bitmap 函数 +----------------------- + +* 函数功能: + +>
获取类型为位图对象。 + +* 函数原型: + +``` +bitmap_t* value_bitmap (value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bitmap\_t* | 位图对象。 | +| v | value\_t* | value对象。 | #### value\_bool 函数 ----------------------- @@ -209,6 +381,27 @@ ret_t value_destroy (value_t* v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | v | value\_t* | value对象。 | +#### value\_div 函数 +----------------------- + +* 函数功能: + +>
将v和other求商,并放入result对象。 + +* 函数原型: + +``` +ret_t value_div (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是数值类型)。 | +| other | value\_t* | value对象(必须是数值类型)。 | +| result | value\_t* | 返回结果的value对象。 | #### value\_double 函数 ----------------------- @@ -310,6 +503,27 @@ bool_t value_equal (value_t* value, value_t* other); | 返回值 | bool\_t | 为空值返回TRUE,否则返回FALSE。 | | value | value\_t* | value对象。 | | other | value\_t* | value对象。 | +#### value\_expt 函数 +----------------------- + +* 函数功能: + +>
计算v的other次幂,并放入result对象。 + +* 函数原型: + +``` +ret_t value_expt (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是数值类型)。 | +| other | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | #### value\_float 函数 ----------------------- @@ -348,6 +562,65 @@ float value_float32 (value_t* v); | -------- | ----- | --------- | | 返回值 | float | 值。 | | v | value\_t* | value对象。 | +#### value\_func 函数 +----------------------- + +* 函数功能: + +>
获取类型为func的值。 + +* 函数原型: + +``` +void* value_func (value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | void* | 值。 | +| v | value\_t* | value对象。 | +#### value\_func\_def 函数 +----------------------- + +* 函数功能: + +>
获取类型为func_def的值。 + +* 函数原型: + +``` +void* value_func_def (value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | void* | 值。 | +| v | value\_t* | value对象。 | +#### value\_get\_bit 函数 +----------------------- + +* 函数功能: + +>
将v指定的位数取出,并放入result对象。 + +* 函数原型: + +``` +ret_t value_get_bit (value_t* v, value_t* result, uint32_t n); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | #### value\_gradient 函数 ----------------------- @@ -367,6 +640,25 @@ binary_data_t* value_gradient (value_t* v); | -------- | ----- | --------- | | 返回值 | binary\_data\_t* | 值。 | | v | value\_t* | value对象。 | +#### value\_id 函数 +----------------------- + +* 函数功能: + +>
获取类型为ID的值。 + +* 函数原型: + +``` +const char* value_id (value_t* v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 值。 | +| v | value\_t* | value对象。 | #### value\_int 函数 ----------------------- @@ -481,6 +773,132 @@ bool_t value_is_null (value_t* value); | -------- | ----- | --------- | | 返回值 | bool\_t | 为空值返回TRUE,否则返回FALSE。 | | value | value\_t* | value对象。 | +#### value\_lshift 函数 +----------------------- + +* 函数功能: + +>
将v左移指定的位数,并将结果放入result对象。 + +* 函数原型: + +``` +ret_t value_lshift (value_t* v, value_t* result, uint32_t n); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | +#### value\_lshift\_r 函数 +----------------------- + +* 函数功能: + +>
将v循环左移指定的位数,并将结果放入result对象。 + +* 函数原型: + +``` +ret_t value_lshift_r (value_t* v, value_t* result, uint32_t n); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | +#### value\_max 函数 +----------------------- + +* 函数功能: + +>
从数组中选择最大值,并放入result对象。 + +* 函数原型: + +``` +ret_t value_max (value_t* arr, uint32_t size, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| arr | value\_t* | 数组。 | +| size | uint32\_t | 数组元素个数 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_min 函数 +----------------------- + +* 函数功能: + +>
从数组中选择最小值,并放入result对象。 + +* 函数原型: + +``` +ret_t value_min (value_t* arr, uint32_t size, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| arr | value\_t* | 数组。 | +| size | uint32\_t | 数组元素个数 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_mod 函数 +----------------------- + +* 函数功能: + +>
将v和other求模,并放入result对象。 + +* 函数原型: + +``` +ret_t value_mod (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| other | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_mul 函数 +----------------------- + +* 函数功能: + +>
将v和other求积,并放入result对象。 + +* 函数原型: + +``` +ret_t value_mul (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是数值类型)。 | +| other | value\_t* | value对象(必须是数值类型)。 | +| result | value\_t* | 返回结果的value对象。 | #### value\_object 函数 ----------------------- @@ -491,14 +909,14 @@ bool_t value_is_null (value_t* value); * 函数原型: ``` -object_t* value_object (value_t* v); +tk_object_t* value_object (value_t* v); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | object\_t* | 值。 | +| 返回值 | tk\_object\_t* | 值。 | | v | value\_t* | value对象。 | #### value\_pointer 函数 ----------------------- @@ -538,6 +956,48 @@ ret_t value_reset (value_t* v); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | v | value\_t* | value对象。 | +#### value\_rshift 函数 +----------------------- + +* 函数功能: + +>
将v右移指定的位数,并将结果放入result对象。 + +* 函数原型: + +``` +ret_t value_rshift (value_t* v, value_t* result, uint32_t n); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | +#### value\_rshift\_r 函数 +----------------------- + +* 函数功能: + +>
将v循环右移指定的位数,并将结果放入result对象。 + +* 函数原型: + +``` +ret_t value_rshift_r (value_t* v, value_t* result, uint32_t n); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | #### value\_set\_binary\_data 函数 ----------------------- @@ -559,6 +1019,48 @@ value_t* value_set_binary_data (value_t* v, void* value, uint32_t size); | v | value\_t* | value对象。 | | value | void* | 待设置的值。 | | size | uint32\_t | 长度。 | +#### value\_set\_bit 函数 +----------------------- + +* 函数功能: + +>
将v指定的位数设置为bit,并放入result对象。 + +* 函数原型: + +``` +ret_t value_set_bit (value_t* v, value_t* result, uint32_t n, bool_t bit); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | +| bit | bool\_t | 值。 | +#### value\_set\_bitmap 函数 +----------------------- + +* 函数功能: + +>
设置类型为位图对象。 + +* 函数原型: + +``` +value_t* value_set_bitmap (value_t* v, bitmap_t* bitmap); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | value\_t* | value对象本身。 | +| v | value\_t* | value对象。 | +| bitmap | bitmap\_t* | 待设置的值。 | #### value\_set\_bool 函数 ----------------------- @@ -639,6 +1141,46 @@ value_t* value_set_float32 (value_t* v, float value); | 返回值 | value\_t* | value对象本身。 | | v | value\_t* | value对象。 | | value | float | 待设置的值。 | +#### value\_set\_func 函数 +----------------------- + +* 函数功能: + +>
设置类型为func的值。 + +* 函数原型: + +``` +value_t* value_set_func (value_t* v, void* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | value\_t* | value对象本身。 | +| v | value\_t* | value对象。 | +| value | void* | 待设置的值。 | +#### value\_set\_func\_def 函数 +----------------------- + +* 函数功能: + +>
设置类型为func_def的值。 + +* 函数原型: + +``` +value_t* value_set_func_def (value_t* v, void* value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | value\_t* | value对象本身。 | +| v | value\_t* | value对象。 | +| value | void* | 待设置的值。 | #### value\_set\_gradient 函数 ----------------------- @@ -660,6 +1202,27 @@ value_t* value_set_gradient (value_t* v, void* value, uint32_t size); | v | value\_t* | value对象。 | | value | void* | 待设置的值。 | | size | uint32\_t | 长度。 | +#### value\_set\_id 函数 +----------------------- + +* 函数功能: + +>
设置类型为ID的值。 + +* 函数原型: + +``` +value_t* value_set_id (value_t* v, const char* value, uint32_t len); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | value\_t* | value对象本身。 | +| v | value\_t* | value对象。 | +| value | const char* | 待设置的值。 | +| len | uint32\_t | 长度。 | #### value\_set\_int 函数 ----------------------- @@ -770,7 +1333,7 @@ value_t* value_set_int8 (value_t* v, int8_t value); * 函数原型: ``` -value_t* value_set_object (value_t* v, object_t* value); +value_t* value_set_object (value_t* v, tk_object_t* value); ``` * 参数说明: @@ -779,7 +1342,7 @@ value_t* value_set_object (value_t* v, object_t* value); | -------- | ----- | --------- | | 返回值 | value\_t* | value对象本身。 | | v | value\_t* | value对象。 | -| value | object\_t* | 待设置的值。 | +| value | tk\_object\_t* | 待设置的值。 | #### value\_set\_pointer 函数 ----------------------- @@ -800,6 +1363,27 @@ value_t* value_set_pointer (value_t* v, void* value); | 返回值 | value\_t* | value对象本身。 | | v | value\_t* | value对象。 | | value | void* | 待设置的值。 | +#### value\_set\_pointer\_ex 函数 +----------------------- + +* 函数功能: + +>
设置类型为pointer的值。 + +* 函数原型: + +``` +value_t* value_set_pointer_ex (value_t* v, void* value, tk_destroy_t destroy); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | value\_t* | value对象本身。 | +| v | value\_t* | value对象。 | +| value | void* | 待设置的值。 | +| destroy | tk\_destroy\_t | 销毁函数。 | #### value\_set\_sized\_str 函数 ----------------------- @@ -1039,8 +1623,50 @@ const char* value_str_ex (value_t* v, char* buff, uint32_t size); | -------- | ----- | --------- | | 返回值 | const char* | 值。 | | v | value\_t* | value对象。 | -| buff | char* | 用于格式转换的缓冲区。 | +| buff | char* | 用于格式转换的缓冲区(如果 v 对象为 string 类型的话,不会把字符串数据拷贝到 buff 中)。 | | size | uint32\_t | 缓冲区大小。 | +#### value\_sub 函数 +----------------------- + +* 函数功能: + +>
将v和other求差,并放入result对象。 + +* 函数原型: + +``` +ret_t value_sub (value_t* v, value_t* other, value_t* result); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是数值类型)。 | +| other | value\_t* | value对象(必须是数值类型)。 | +| result | value\_t* | 返回结果的value对象。 | +#### value\_toggle\_bit 函数 +----------------------- + +* 函数功能: + +>
将v指定的位数取反,并将结果放入result对象。 + +* 函数原型: + +``` +ret_t value_toggle_bit (value_t* v, value_t* result, uint32_t n); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| v | value\_t* | value对象(必须是整数类型)。 | +| result | value\_t* | 返回结果的value对象。 | +| n | uint32\_t | 位数。 | #### value\_token 函数 ----------------------- diff --git a/docs/manual/value_type_t.md b/docs/manual/value_type_t.md index 676850ebf..8d943ddb8 100644 --- a/docs/manual/value_type_t.md +++ b/docs/manual/value_type_t.md @@ -22,9 +22,14 @@ | VALUE\_TYPE\_DOUBLE | double类型。 | | VALUE\_TYPE\_STRING | char*类型。 | | VALUE\_TYPE\_WSTRING | wchar\_t*类型。 | -| VALUE\_TYPE\_OBJECT | object\_t*类型。 | +| VALUE\_TYPE\_OBJECT | tk\_object\_t*类型。 | | VALUE\_TYPE\_SIZED\_STRING | 带长度的字符串。 | | VALUE\_TYPE\_BINARY | 二进制数据。 | | VALUE\_TYPE\_UBJSON | 二进制数据(UBJSON)。 | | VALUE\_TYPE\_TOKEN | 特殊用途。 | | VALUE\_TYPE\_GRADIENT | 渐变颜色。 | +| VALUE\_TYPE\_ID | id。 | +| VALUE\_TYPE\_FUNC | func。 | +| VALUE\_TYPE\_FUNC\_DEF | func definition。 | +| VALUE\_TYPE\_POINTER\_REF | void*类型。 | +| VALUE\_TYPE\_BITMAP | 位图类型。 | diff --git a/docs/manual/vg_gradient_t.md b/docs/manual/vg_gradient_t.md index f2efff409..dfe5dc5e6 100644 --- a/docs/manual/vg_gradient_t.md +++ b/docs/manual/vg_gradient_t.md @@ -175,14 +175,14 @@ vg_gradient_t* vg_gradient_init_with_gradient (vg_gradient_t* gradient, const re * 函数原型: ``` -vgcanvas_asset_manager* vgcanvas_asset_manager (); +vgcanvas_asset_manager_t* vgcanvas_asset_manager (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | vgcanvas\_asset\_manager* | 返回矢量画布资源管理器对象。 | +| 返回值 | vgcanvas\_asset\_manager\_t* | 返回矢量画布资源管理器对象。 | #### vgcanvas\_asset\_manager\_add\_font 函数 ----------------------- diff --git a/docs/manual/vgcanvas_t.md b/docs/manual/vgcanvas_t.md index e15cc865f..c8556eae5 100644 --- a/docs/manual/vgcanvas_t.md +++ b/docs/manual/vgcanvas_t.md @@ -56,17 +56,21 @@ vgcanvas_restore(vg); | vgcanvas\_destroy\_fbo | 销毁 fbo 对象。 | | vgcanvas\_draw\_icon | 绘制图标。 | | vgcanvas\_draw\_image | 绘制图片。 | +| vgcanvas\_draw\_image\_repeat | 绘制图片。 | | vgcanvas\_ellipse | 生成一个椭圆路径。 | | vgcanvas\_end\_frame | 结束绘制。系统内部调用。 | | vgcanvas\_fbo\_to\_bitmap | 把 fbo 对象的数据拷贝到 bitmap 中。 | | vgcanvas\_fill | 填充多边形。 | | vgcanvas\_fill\_text | 绘制文本。 | | vgcanvas\_flush | flush | +| vgcanvas\_get\_canvas | 获取 canvas 对象。 | +| vgcanvas\_get\_clip\_rect | 获取矩形裁剪。 | | vgcanvas\_get\_height | 获取高度。 | | vgcanvas\_get\_text\_metrics | 获取当前字体的度量信息。 | | vgcanvas\_get\_width | 获取宽度。 | | vgcanvas\_intersect\_clip\_rect | 设置一个与前一个裁剪区做交集的矩形裁剪区。 | | vgcanvas\_is\_point\_in\_path | 检查点是否在当前路径中。 | +| vgcanvas\_is\_rectf\_in\_clip\_rect | 矩形区域是否在矩形裁剪中。 | | vgcanvas\_line\_to | 生成一条线段(从当前点到目标点)。 | | vgcanvas\_measure\_text | 测量文本的宽度。 | | vgcanvas\_move\_to | 移动当前点到指定点。 | @@ -238,7 +242,7 @@ ret_t vgcanvas_bezier_to (vgcanvas_t* vg, float_t cp1x, float_t cp1y, float_t cp | cp1x | float\_t | 控制点1x坐标。 | | cp1y | float\_t | 控制点1y坐标。 | | cp2x | float\_t | 控制点2x坐标。 | -| cp2y | float\_t | 控制点3y坐标。 | +| cp2y | float\_t | 控制点2y坐标。 | | x | float\_t | x坐标。 | | y | float\_t | y坐标。 | #### vgcanvas\_bind\_fbo 函数 @@ -530,6 +534,40 @@ ret_t vgcanvas_draw_image (vgcanvas_t* vg, bitmap_t* img, float_t sx, float_t sy | dy | float\_t | dy | | dw | float\_t | dw | | dh | float\_t | dh | +#### vgcanvas\_draw\_image\_repeat 函数 +----------------------- + +* 函数功能: + +>
绘制图片。 + +备注: +当绘制区域大于原图区域时,多余的绘制区域会重复绘制原图区域的东西。(绘制图区按照绘制图片的宽高来绘制的) +当绘制图片的宽高和原图的不同,在重复绘制的同时加入缩放。 + +* 函数原型: + +``` +ret_t vgcanvas_draw_image_repeat (vgcanvas_t* vg, bitmap_t* img, float_t sx, float_t sy, float_t sw, float_t sh, float_t dx, float_t dy, float_t dw, float_t dh, float_t dst_w, float_t dst_h); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| vg | vgcanvas\_t* | vgcanvas对象。 | +| img | bitmap\_t* | 图片。 | +| sx | float\_t | 原图区域的 x | +| sy | float\_t | 原图区域的 y | +| sw | float\_t | 原图区域的 w | +| sh | float\_t | 原图区域的 h | +| dx | float\_t | 绘制区域的 x | +| dy | float\_t | 绘制区域的 y | +| dw | float\_t | 绘制区域的 w | +| dh | float\_t | 绘制区域的 h | +| dst\_w | float\_t | 绘制图片的宽 | +| dst\_h | float\_t | 绘制图片的高 | #### vgcanvas\_ellipse 函数 ----------------------- @@ -655,6 +693,44 @@ ret_t vgcanvas_flush (vgcanvas_t* vg); | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | vg | vgcanvas\_t* | vgcanvas对象。 | +#### vgcanvas\_get\_canvas 函数 +----------------------- + +* 函数功能: + +>
获取 canvas 对象。 + +* 函数原型: + +``` +canvas_t* vgcanvas_get_canvas (vgcanvas_t* vg); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | canvas\_t* | 成功返回 canvas 对象,失败返回 NULL。 | +| vg | vgcanvas\_t* | vgcanvas对象。 | +#### vgcanvas\_get\_clip\_rect 函数 +----------------------- + +* 函数功能: + +>
获取矩形裁剪。 + +* 函数原型: + +``` +const rectf_t* vgcanvas_get_clip_rect (vgcanvas_t* vg); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const rectf\_t* | 返回裁剪区。 | +| vg | vgcanvas\_t* | vgcanvas对象。 | #### vgcanvas\_get\_height 函数 ----------------------- @@ -772,6 +848,29 @@ bool_t vgcanvas_is_point_in_path (vgcanvas_t* vg, float_t x, float_t y); | vg | vgcanvas\_t* | vgcanvas对象。 | | x | float\_t | x坐标。 | | y | float\_t | y坐标。 | +#### vgcanvas\_is\_rectf\_in\_clip\_rect 函数 +----------------------- + +* 函数功能: + +>
矩形区域是否在矩形裁剪中。 + +* 函数原型: + +``` +bool_t vgcanvas_is_rectf_in_clip_rect (vgcanvas_t* vg, float_t left, float_t top, float_t right, float_t bottom); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | bool\_t | 返回 TURE 则在区域中,返回 FALSE 则不在区域中。 | +| vg | vgcanvas\_t* | vgcanvas对象。 | +| left | float\_t | 矩形区域左边。 | +| top | float\_t | 矩形区域上边。 | +| right | float\_t | 矩形区域右边。 | +| bottom | float\_t | 矩形区域下边。 | #### vgcanvas\_line\_to 函数 ----------------------- diff --git a/docs/manual/vpage_t.md b/docs/manual/vpage_t.md index 24a8c7d38..2a0c91fa2 100644 --- a/docs/manual/vpage_t.md +++ b/docs/manual/vpage_t.md @@ -38,6 +38,7 @@ vpage\_t也可以当作普通view嵌入到pages中,让tab控件在切换时具 | -------- | ------------ | | vpage\_cast | 转换为vpage对象(供脚本语言使用)。 | | vpage\_create | 创建vpage对象 | +| vpage\_get\_widget\_vtable | 获取 vpage 虚表。 | | vpage\_set\_anim\_hint | 设置动画类型(vtranslate: 垂直平移,htranslate: 水平平移)。 | | vpage\_set\_ui\_asset | 设置 UI资源名称。 | ### 属性 @@ -97,6 +98,24 @@ widget_t* vpage_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### vpage\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 vpage 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* vpage_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 vpage 虚表。 | #### vpage\_set\_anim\_hint 函数 ----------------------- diff --git a/docs/manual/waitable_action_darray_t.md b/docs/manual/waitable_action_darray_t.md new file mode 100644 index 000000000..fc10c8573 --- /dev/null +++ b/docs/manual/waitable_action_darray_t.md @@ -0,0 +1,222 @@ +## waitable\_action\_darray\_t +### 概述 +waitable actionqueue +---------------------------------- +### 函数 +
+ +| 函数名称 | 说明 | +| -------- | ------------ | +| waitable\_action\_darray\_create | 创建waitable_action_darray对象。 | +| waitable\_action\_darray\_destroy | 销毁。 | +| waitable\_action\_darray\_find | 查找 qaction | +| waitable\_action\_darray\_find\_ex | 查找 qaction | +| waitable\_action\_darray\_recv | 接收一个请求。 | +| waitable\_action\_darray\_remove | 从 darray 中移除并销毁 qaction 对象 | +| waitable\_action\_darray\_remove\_ex | 从 darray 中移除并销毁 qaction 对象 | +| waitable\_action\_darray\_replace | 替换 qaction,旧的 qaction 会被销毁 | +| waitable\_action\_darray\_replace\_ex | 替换 qaction | +| waitable\_action\_darray\_send | 发送一个请求。 | +#### waitable\_action\_darray\_create 函数 +----------------------- + +* 函数功能: + +>
创建waitable_action_darray对象。 + +* 函数原型: + +``` +waitable_action_darray_t* waitable_action_darray_create (uint32_t capacity); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| capacity | uint32\_t | action的容量。 | +#### waitable\_action\_darray\_destroy 函数 +----------------------- + +* 函数功能: + +>
销毁。 + +* 函数原型: + +``` +ret_t waitable_action_darray_destroy (waitable_action_darray_t* q); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +#### waitable\_action\_darray\_find 函数 +----------------------- + +* 函数功能: + +>
查找 qaction + +* 函数原型: + +``` +qaction_t* waitable_action_darray_find (waitable_action_darray_t* q, qaction_exec_t exec); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | qaction\_t* | 返回 qaction\_t对象 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| exec | qaction\_exec\_t | action 中的函数回调 | +#### waitable\_action\_darray\_find\_ex 函数 +----------------------- + +* 函数功能: + +>
查找 qaction + +* 函数原型: + +``` +qaction_t* waitable_action_darray_find_ex (waitable_action_darray_t* q, tk_compare_t cmp, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | qaction\_t* | 返回 qaction\_t对象 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| cmp | tk\_compare\_t | 比较函数 | +| ctx | void* | 比较函数参数 | +#### waitable\_action\_darray\_recv 函数 +----------------------- + +* 函数功能: + +>
接收一个请求。 + +* 函数原型: + +``` +ret_t waitable_action_darray_recv (waitable_action_darray_t* q, qaction_t** action, uint32_t timeout_ms); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| action | qaction\_t** | 用于返回action对象。 | +| timeout\_ms | uint32\_t | 超时时间(ms) | +#### waitable\_action\_darray\_remove 函数 +----------------------- + +* 函数功能: + +>
从 darray 中移除并销毁 qaction 对象 + +* 函数原型: + +``` +ret_t waitable_action_darray_remove (waitable_action_darray_t* q, qaction_exec_t exec); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t值 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| exec | qaction\_exec\_t | action 中的函数回调 | +#### waitable\_action\_darray\_remove\_ex 函数 +----------------------- + +* 函数功能: + +>
从 darray 中移除并销毁 qaction 对象 + +* 函数原型: + +``` +ret_t waitable_action_darray_remove_ex (waitable_action_darray_t* q, tk_compare_t cmp, void* ctx); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t值 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| cmp | tk\_compare\_t | 比较函数 | +| ctx | void* | 比较函数参数 | +#### waitable\_action\_darray\_replace 函数 +----------------------- + +* 函数功能: + +>
替换 qaction,旧的 qaction 会被销毁 + +* 函数原型: + +``` +ret_t waitable_action_darray_replace (waitable_action_darray_t* q, qaction_t* new_action); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t值 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| new\_action | qaction\_t* | 新的 action 对象 | +#### waitable\_action\_darray\_replace\_ex 函数 +----------------------- + +* 函数功能: + +>
替换 qaction + +* 函数原型: + +``` +ret_t waitable_action_darray_replace_ex (waitable_action_darray_t* q, qaction_exec_t exec, qaction_t* new_action); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回 ret\_t值 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| exec | qaction\_exec\_t | 旧 action 中的函数回调 | +| new\_action | qaction\_t* | 新的 action 对象 | +#### waitable\_action\_darray\_send 函数 +----------------------- + +* 函数功能: + +>
发送一个请求。 + +* 函数原型: + +``` +ret_t waitable_action_darray_send (waitable_action_darray_t* q, qaction_t* action, uint32_t timeout_ms); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| q | waitable\_action\_darray\_t* | waitable\_action\_darray对象。 | +| action | qaction\_t* | action对象。 | +| timeout\_ms | uint32\_t | 超时时间(ms) | diff --git a/docs/manual/widget_prop_t.md b/docs/manual/widget_prop_t.md index c02379540..f4ff963fb 100644 --- a/docs/manual/widget_prop_t.md +++ b/docs/manual/widget_prop_t.md @@ -22,6 +22,7 @@ | WIDGET\_PROP\_ALWAYS\_ON\_TOP | always on top。 | | WIDGET\_PROP\_CARET\_X | caret x。 | | WIDGET\_PROP\_CARET\_Y | caret y。 | +| WIDGET\_PROP\_LINE\_HEIGHT | 行高。 | | WIDGET\_PROP\_DIRTY\_RECT\_TOLERANCE | 脏矩形超出控件本身大小的最大范围。 | | WIDGET\_PROP\_BIDI | bidi type(rtl,ltr,auto,wrtl,wltr,lro,rlo)。 | | WIDGET\_PROP\_CANVAS | Canvas。 | @@ -42,11 +43,13 @@ | WIDGET\_PROP\_LAYOUT\_H | layout高度。 | | WIDGET\_PROP\_VIRTUAL\_W | 虚拟宽度。 | | WIDGET\_PROP\_VIRTUAL\_H | 虚拟高度。 | +| WIDGET\_PROP\_LOADING | 控件正在加载。 | | WIDGET\_PROP\_NAME | 名称。 | | WIDGET\_PROP\_TYPE | 类型。 | | WIDGET\_PROP\_CLOSABLE | 是否可以关闭。 | | WIDGET\_PROP\_POINTER\_CURSOR | 鼠标指针。 | | WIDGET\_PROP\_VALUE | 值。 | +| WIDGET\_PROP\_EASY\_TOUCH\_MODE | 容易点击模式(目前用于spinbox)。 | | WIDGET\_PROP\_RADIO | CheckButton是否单选。 | | WIDGET\_PROP\_REVERSE | 进度条反向显示。 | | WIDGET\_PROP\_LENGTH | 长度。 | @@ -67,6 +70,7 @@ | WIDGET\_PROP\_STEP | 步长。 | | WIDGET\_PROP\_VISIBLE | 是否可见。 | | WIDGET\_PROP\_SENSITIVE | 是否接受用户事件。 | +| WIDGET\_PROP\_APPLET\_NAME | 窗口所属的小应用程序(applet)名称。 | | WIDGET\_PROP\_ANIMATION | 控件动画。 | | WIDGET\_PROP\_ANIM\_HINT | 窗口动画。 | | WIDGET\_PROP\_FULLSCREEN | 窗口设置为全部大小。 | @@ -88,12 +92,13 @@ | WIDGET\_PROP\_PAGE\_MAX\_NUMBER | 页面最大个数。 | | WIDGET\_PROP\_VERTICAL | 是否为垂直模式。 | | WIDGET\_PROP\_SHOW\_TEXT | 是否显示文本。 | -| WIDGET\_PROP\_XOFFSET | X方向的偏移。 | -| WIDGET\_PROP\_YOFFSET | Y方向的偏移。 | +| WIDGET\_PROP\_XOFFSET | X方向的偏移。(如果控件有继承 get\_offset 函数指针的话,一定要和 get\_offset 返回值保持一致,否则容易出现问题) | +| WIDGET\_PROP\_YOFFSET | Y方向的偏移。(如果控件有继承 get\_offset 函数指针的话,一定要和 get\_offset 返回值保持一致,否则容易出现问题) | | WIDGET\_PROP\_ALIGN\_V | 垂直对齐模式。 | | WIDGET\_PROP\_ALIGN\_H | 水平对齐模式。 | | WIDGET\_PROP\_AUTO\_PLAY | 是否自动播放或指定播放的时间。 | | WIDGET\_PROP\_LOOP | 是否循环播放或循环播放的次数。 | +| WIDGET\_PROP\_RUNNING | 是否正在运行(播放)。 | | WIDGET\_PROP\_AUTO\_FIX | 是否启用自动更正功能。 | | WIDGET\_PROP\_SELECT\_NONE\_WHEN\_FOCUSED | 编辑器在获得焦点时是否不选中文本。 | | WIDGET\_PROP\_OPEN\_IM\_WHEN\_FOCUSED | 编辑器在获得焦点时是否打开输入法。 | @@ -122,6 +127,7 @@ | WIDGET\_PROP\_REPEAT | 重复次数。 | | WIDGET\_PROP\_LONG\_PRESS\_TIME | 触发长按事件的时间(ms)。 | | WIDGET\_PROP\_ENABLE\_LONG\_PRESS | 是否启用长按。 | +| WIDGET\_PROP\_ENABLE\_PREVIEW | 是否启用预览。 | | WIDGET\_PROP\_CLICK\_THROUGH | 是否启用点击穿透。 | | WIDGET\_PROP\_ANIMATABLE | 是否启用动画。 | | WIDGET\_PROP\_AUTO\_HIDE | 是否自动隐藏。 | @@ -145,6 +151,7 @@ | WIDGET\_PROP\_ACTIVE\_ICON | active状态下的图标。 | | WIDGET\_PROP\_LOAD\_UI | 动态加载UI名字。 | | WIDGET\_PROP\_OPEN\_WINDOW | 要打开窗口的名称。 | +| WIDGET\_PROP\_THEME\_OF\_POPUP | ComboBox打开弹出窗口的主题。 | | WIDGET\_PROP\_SELECTED\_INDEX | 被选中项的索引。 | | WIDGET\_PROP\_CLOSE\_WHEN\_CLICK | 点击窗口时关闭窗口。 | | WIDGET\_PROP\_CLOSE\_WHEN\_CLICK\_OUTSIDE | 点击窗口外部时关闭窗口。 | @@ -164,3 +171,10 @@ | WIDGET\_PROP\_MOVE\_FOCUS\_DOWN\_KEY | 将焦点向下移动的键值。 | | WIDGET\_PROP\_MOVE\_FOCUS\_LEFT\_KEY | 将焦点向左移动的键值。 | | WIDGET\_PROP\_MOVE\_FOCUS\_RIGHT\_KEY | 将焦点向右移动的键值。 | +| WIDGET\_PROP\_ROWS | 行数。 | +| WIDGET\_PROP\_SHOW\_GRID | 是否显示网格线。 | +| WIDGET\_PROP\_COLUMNS\_DEFINITION | 各列的定义。 | +| WIDGET\_PROP\_DRAG\_THRESHOLD | 拖拽临界值。 | +| WIDGET\_PROP\_ANIMATING\_TIME | 动画时间。 | +| WIDGET\_PROP\_ANIMATE\_PREFIX | 改变控件属性时附带动画的前缀。 | +| WIDGET\_PROP\_ANIMATE\_ANIMATING\_TIME | 改变控件属性时附带动画的播放时间。 | diff --git a/docs/manual/widget_state_t.md b/docs/manual/widget_state_t.md index a14b0ab34..c5899cad5 100644 --- a/docs/manual/widget_state_t.md +++ b/docs/manual/widget_state_t.md @@ -10,6 +10,7 @@ | -------- | ------- | | WIDGET\_STATE\_NONE | 无效状态。 | | WIDGET\_STATE\_NORMAL | 正常状态。 | +| WIDGET\_STATE\_ACTIVATED | 3/5keys模式时,进入激活状态(此时方向键用于修改值)。 | | WIDGET\_STATE\_CHANGED | 内容被修改的状态。 | | WIDGET\_STATE\_PRESSED | 指针按下状态。 | | WIDGET\_STATE\_OVER | 指针悬浮状态。 | @@ -19,6 +20,7 @@ | WIDGET\_STATE\_UNCHECKED | 没勾选状态。 | | WIDGET\_STATE\_EMPTY | 编辑器无内容状态。 | | WIDGET\_STATE\_EMPTY\_FOCUS | 编辑器无内容同时聚焦的状态。 | +| WIDGET\_STATE\_EMPTY\_OVER | 编辑器无内容同时指针悬浮的状态。 | | WIDGET\_STATE\_ERROR | 输入错误状态。 | | WIDGET\_STATE\_SELECTED | 选中状态。 | | WIDGET\_STATE\_NORMAL\_OF\_CHECKED | 正常状态(选中项)。 | diff --git a/docs/manual/widget_t.md b/docs/manual/widget_t.md index cd3b6ced1..29d445ff2 100644 --- a/docs/manual/widget_t.md +++ b/docs/manual/widget_t.md @@ -50,9 +50,11 @@ widget_on(button, EVT_CLICK, on_click, NULL); | 函数名称 | 说明 | | -------- | ------------ | | widget\_add\_child | 加入一个子控件。 | +| widget\_add\_child\_default | 加入一个子控件默认实现(供子类调用)。 | | widget\_add\_idle | 创建idle。 | | widget\_add\_timer | 创建定时器。 | | widget\_add\_value | 增加控件的值。 | +| widget\_add\_value\_int | 增加控件的值。 | | widget\_animate\_value\_to | 设置控件的值(以动画形式变化到指定的值)。 | | widget\_auto\_scale\_children | 根据缩放子控件的位置和大小。 | | widget\_back | 请求返回到前一个窗口。 | @@ -75,6 +77,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_dispatch | 分发一个事件。 | | widget\_dispatch\_async | 异步分发一个事件。 | | widget\_dispatch\_event\_to\_target\_recursive | 递归分发事件到targe控件。 | +| widget\_dispatch\_model\_event | 分发model事件(分发到各个窗口)。 | | widget\_dispatch\_recursive | 分发一个事件控件本身及所有子控件。 | | widget\_dispatch\_simple\_event | 分发一个简单事件。 | | widget\_dispatch\_to\_key\_target | 递归的分发一个事件到所有key_target子控件。 | @@ -87,6 +90,8 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_fill\_bg\_rect | 根据控件的style绘制背景矩形。 | | widget\_fill\_fg\_rect | 根据控件的style绘制前景矩形。 | | widget\_find\_animator | 查找指定名称的动画。 | +| widget\_find\_parent\_by\_name | 通过名称查找父控件。 | +| widget\_find\_parent\_by\_type | 通过类型查找父控件。 | | widget\_find\_target | 查找x/y坐标对应的子控件。 | | widget\_focus\_first | 置焦点于第一个控件。 | | widget\_focus\_next | 把焦点移动下一个控件。 | @@ -96,6 +101,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_get\_auto\_adjust\_size | 获取控件auto_adjust_size属性值。 | | widget\_get\_canvas | 获取canvas对象。 | | widget\_get\_child | 获取指定索引的子控件。 | +| widget\_get\_child\_text\_utf8 | 获取子控件的文本。 | | widget\_get\_content\_area | 获取widget去掉margin之外的区域。 | | widget\_get\_enable | 获取控件enable属性值。 | | widget\_get\_feedback | 获取控件feedback属性值。 | @@ -109,6 +115,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_get\_prop | 获取控件指定属性的值。 | | widget\_get\_prop\_bool | 获取布尔格式的属性。 | | widget\_get\_prop\_default\_value | 获取控件指定属性的缺省值(在持久化控件时,无需保存缺省值)。 | +| widget\_get\_prop\_float | 获取浮点数格式的属性。 | | widget\_get\_prop\_int | 获取整数格式的属性。 | | widget\_get\_prop\_pointer | 获取指针格式的属性。 | | widget\_get\_prop\_str | 获取字符串格式的属性。 | @@ -117,9 +124,12 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_get\_style\_type | 获取 widget 对应风格类型 | | widget\_get\_text | 获取控件的文本。 | | widget\_get\_text\_utf8 | 获取控件的文本。 | +| widget\_get\_theme\_name | 获取 theme 的名称 | | widget\_get\_type | 获取当前控件的类型名称。 | | widget\_get\_value | 获取控件的值。只是对widget\_get\_prop的包装,值的意义由子类控件决定。 | +| widget\_get\_value\_int | 获取控件的值。只是对widget\_get\_prop的包装,值的意义由子类控件决定。 | | widget\_get\_visible | 获取控件visible属性值。 | +| widget\_get\_widget\_vtable | 获取 widget 虚表。 | | widget\_get\_window | 获取当前控件所在的窗口。 | | widget\_get\_window\_manager | 获取当前的窗口管理器。 | | widget\_get\_window\_theme | 获取控件的窗体样式。 | @@ -128,7 +138,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_index\_of | 获取控件在父控件中的索引编号。 | | widget\_init | 初始化控件。仅在子类控件构造函数中使用。 | | widget\_insert\_child | 插入子控件到指定的位置。 | -| widget\_invalidate | 请求重绘指定的区域,如果widget->dirty已经为TRUE,直接返回。 | +| widget\_invalidate | 请求重绘指定的区域 | | widget\_invalidate\_force | 请求强制重绘控件。 | | widget\_is\_change\_focus\_key | 是否是切换焦点的键。 | | widget\_is\_designing\_window | 判断当前控件是否是设计窗口。 | @@ -159,6 +169,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_measure\_text | 计算文本的宽度。 | | widget\_move | 移动控件。 | | widget\_move\_resize | 移动控件并调整控件的大小。 | +| widget\_move\_to\_center | 移动控件到父控件中间。 | | widget\_off | 注销指定事件的处理函数。 | | widget\_off\_by\_ctx | 注销指定ctx的事件处理函数。 | | widget\_off\_by\_func | 注销指定函数的事件处理函数。 | @@ -178,6 +189,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_paint\_helper | 帮助子控件实现自己的绘制函数。 | | widget\_pause\_animator | 暂停动画。 | | widget\_prepare\_text\_style | 从widget的style中取出字体名称、大小和颜色数据,设置到canvas中。 | +| widget\_prepare\_text\_style\_ex | 从widget的style中取出字体名称、大小和颜色数据,设置到canvas中。 | | widget\_re\_translate\_text | 语言改变后,重新翻译控件上的文本(包括子控件)。 | | widget\_ref | 增加控件的引用计数。 | | widget\_remove\_child | 移出指定的子控件(并不销毁)。 | @@ -204,13 +216,17 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_set\_need\_relayout | 设置控件需要relayout标识。 | | widget\_set\_need\_relayout\_children | 设置控件需要relayout标识。 | | widget\_set\_need\_update\_style | 设置需要更新Style。 | +| widget\_set\_need\_update\_style\_recursive | 让控件及子控件设置需要更新Style。 | | widget\_set\_opacity | 设置控件的不透明度。 | | widget\_set\_pointer\_cursor | 设置鼠标指针的图片名。 | | widget\_set\_prop | 设置控件指定属性的值。 | | widget\_set\_prop\_bool | 设置布尔格式的属性。 | +| widget\_set\_prop\_float | 设置浮点数格式的属性。 | | widget\_set\_prop\_int | 设置整数格式的属性。 | | widget\_set\_prop\_pointer | 设置指针格式的属性。 | +| widget\_set\_prop\_pointer\_ex | 设置指针格式的属性。 | | widget\_set\_prop\_str | 设置字符串格式的属性。 | +| widget\_set\_props | 设置多个参数。 | | widget\_set\_self\_layout | 设置控件自己的布局参数。 | | widget\_set\_self\_layout\_params | 设置控件自己的布局(缺省布局器)参数(过时,请用widget\_set\_self\_layout)。 | | widget\_set\_sensitive | 设置控件是否接受用户事件。 | @@ -219,11 +235,14 @@ widget_on(button, EVT_CLICK, on_click, NULL); | widget\_set\_style\_color | 设置颜色类型的style。 | | widget\_set\_style\_int | 设置整数类型的style。 | | widget\_set\_style\_str | 设置字符串类型的style。 | -| widget\_set\_text | 设置控件的文本。 | -| widget\_set\_text\_utf8 | 设置控件的文本。 | +| widget\_set\_text | 设置控件的文本。(如果字符串相同,则不会重复设置以及触发事件) | +| widget\_set\_text\_ex | 设置控件的文本。 | +| widget\_set\_text\_utf8 | 设置控件的文本。(如果字符串相同,则不会重复设置以及触发事件) | +| widget\_set\_text\_utf8\_ex | 设置控件的文本。 | | widget\_set\_theme | 设置theme的名称,用于动态切换主题。名称与当前主题名称相同,则重新加载全部资源。 | | widget\_set\_tr\_text | 获取翻译之后的文本,然后调用widget_set_text。 | | widget\_set\_value | 设置控件的值。 | +| widget\_set\_value\_int | 设置控件的值。 | | widget\_set\_visible | 设置控件的可见性。 | | widget\_set\_visible\_only | 设置控件的可见性(不触发repaint和relayout)。 | | widget\_start\_animator | 播放动画。 | @@ -255,7 +274,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | auto\_created | bool\_t | 是否由父控件自动创建。 | | children | darray\_t* | 全部子控件。 | | children\_layout | children\_layouter\_t* | 子控件布局器。请参考[控件布局参数](https://github.com/zlgopen/awtk/blob/master/docs/layout.md) | -| custom\_props | object\_t* | 自定义属性。 | +| custom\_props | tk\_object\_t* | 自定义属性。 | | destroying | bool\_t | 标识控件正在被销毁。 | | dirty | bool\_t | 标识控件是否需要重绘。 | | dirty\_rect\_tolerance | uint16\_t | 脏矩形超出控件本身大小的最大范围(一般不用指定)。 | @@ -302,6 +321,9 @@ widget_on(button, EVT_CLICK, on_click, NULL); | EVT\_BLUR | event\_t | 控件失去焦点时触发。 | | EVT\_WIDGET\_ADD\_CHILD | event\_t | 控件加载新的子控件。 | | EVT\_WIDGET\_REMOVE\_CHILD | event\_t | 控件移除子控件。 | +| EVT\_WIDGET\_WILL\_RESTACK\_CHILD | event\_t | 控件即将调整子控件位置序数。 +在该的回调函数中返回RET\_STOP停止调整动作。 | +| EVT\_WIDGET\_RESTACK\_CHILD | event\_t | 控件调整子控件位置序数。 | | EVT\_PROP\_WILL\_CHANGE | prop\_change\_event\_t | 控件属性改变前触发(通过set\_prop设置属性,才会触发)。 | | EVT\_PROP\_CHANGED | prop\_change\_event\_t | 控件属性改变后触发(通过set\_prop设置属性,才会触发)。 | | EVT\_PAINT | paint\_event\_t | 控件绘制时触发。 | @@ -314,6 +336,7 @@ widget_on(button, EVT_CLICK, on_click, NULL); | EVT\_POINTER\_ENTER | pointer\_event\_t | 鼠标指针进入控件时触发。 | | EVT\_KEY\_DOWN\_BEFORE\_CHILDREN | key\_event\_t | 键按下事件,在子控件处理之前触发。 | | EVT\_KEY\_DOWN | key\_event\_t | 键按下事件。 | +| EVT\_KEY\_LONG\_PRESS | key\_event\_t | 键长按事件。 | | EVT\_KEY\_UP\_BEFORE\_CHILDREN | key\_event\_t | 键释放事件,在子控件处理之前触发。 | | EVT\_KEY\_UP | key\_event\_t | 键释放事件。 | | EVT\_POINTER\_DOWN\_BEFORE\_CHILDREN | pointer\_event\_t | 指针设备按下事件,在子控件处理之前触发。 | @@ -339,6 +362,26 @@ ret_t widget_add_child (widget_t* widget, widget_t* child); * 参数说明: +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| child | widget\_t* | 子控件对象。 | +#### widget\_add\_child\_default 函数 +----------------------- + +* 函数功能: + +>
加入一个子控件默认实现(供子类调用)。 + +* 函数原型: + +``` +ret_t widget_add_child_default (widget_t* widget, widget_t* child); +``` + +* 参数说明: + | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | @@ -413,7 +456,28 @@ uint32_t widget_add_timer (widget_t* widget, timer_func_t on_timer, uint32_t dur * 函数原型: ``` -ret_t widget_add_value (widget_t* widget, int32_t delta); +ret_t widget_add_value (widget_t* widget, float_t delta); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| delta | float\_t | 增量。 | +#### widget\_add\_value\_int 函数 +----------------------- + +* 函数功能: + +>
增加控件的值。 +只是对widget\_set\_prop的包装,值的意义由子类控件决定。 + +* 函数原型: + +``` +ret_t widget_add_value_int (widget_t* widget, int32_t delta); ``` * 参数说明: @@ -434,7 +498,7 @@ ret_t widget_add_value (widget_t* widget, int32_t delta); * 函数原型: ``` -ret_t widget_animate_value_to (widget_t* widget, int32_t value, uint32_t duration); +ret_t widget_animate_value_to (widget_t* widget, float_t value, uint32_t duration); ``` * 参数说明: @@ -443,7 +507,7 @@ ret_t widget_animate_value_to (widget_t* widget, int32_t value, uint32_t duratio | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | -| value | int32\_t | 值。 | +| value | float\_t | 值。 | | duration | uint32\_t | 动画持续时间(毫秒)。 | #### widget\_auto\_scale\_children 函数 ----------------------- @@ -880,6 +944,28 @@ ret_t widget_dispatch_event_to_target_recursive (widget_t* widget, event_t* e); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | e | event\_t* | 事件对象。 | +#### widget\_dispatch\_model\_event 函数 +----------------------- + +* 函数功能: + +>
分发model事件(分发到各个窗口)。 + +* 函数原型: + +``` +ret_t widget_dispatch_model_event (widget_t* widget, const char* name, const char* change_type, tk_object_t* model); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| name | const char* | 名称。 | +| change\_type | const char* | 变化类型。 | +| model | tk\_object\_t* | 模型。 | #### widget\_dispatch\_recursive 函数 ----------------------- @@ -1126,6 +1212,46 @@ widget_animator_t* widget_find_animator (widget_t* widget, const char* name); | 返回值 | widget\_animator\_t* | 成功返回动画对象,失败返回NULL。 | | widget | widget\_t* | 控件对象。 | | name | const char* | 动画名称。 | +#### widget\_find\_parent\_by\_name 函数 +----------------------- + +* 函数功能: + +>
通过名称查找父控件。 + +* 函数原型: + +``` +widget_t* widget_find_parent_by_name (widget_t* widget, const char* name); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | 父控件。 | +| widget | widget\_t* | 控件对象。 | +| name | const char* | 名称。 | +#### widget\_find\_parent\_by\_type 函数 +----------------------- + +* 函数功能: + +>
通过类型查找父控件。 + +* 函数原型: + +``` +widget_t* widget_find_parent_by_type (widget_t* widget, const char* type); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | 父控件。 | +| widget | widget\_t* | 控件对象。 | +| type | const char* | 类型。 | #### widget\_find\_target 函数 ----------------------- @@ -1136,14 +1262,14 @@ widget_animator_t* widget_find_animator (widget_t* widget, const char* name); * 函数原型: ``` -widget* widget_find_target (widget_t* widget, xy_t x, xy_t y); +widget_t* widget_find_target (widget_t* widget, xy_t x, xy_t y); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | -| 返回值 | widget* | 子控件或NULL。 | +| 返回值 | widget\_t* | 子控件或NULL。 | | widget | widget\_t* | 控件对象。 | | x | xy\_t | x坐标。 | | y | xy\_t | y坐标。 | @@ -1277,7 +1403,7 @@ bool_t widget_get_auto_adjust_size (widget_t* widget); * 函数原型: ``` -canvas_t* widget_get_canvas (); +canvas_t* widget_get_canvas (widget_t* widget); ``` * 参数说明: @@ -1285,6 +1411,7 @@ canvas_t* widget_get_canvas (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | canvas\_t* | 返回canvas对象。 | +| widget | widget\_t* | 控件对象。 | #### widget\_get\_child 函数 ----------------------- @@ -1305,6 +1432,29 @@ widget_t* widget_get_child (widget_t* widget, int32_t index); | 返回值 | widget\_t* | 子控件。 | | widget | widget\_t* | 控件对象。 | | index | int32\_t | 索引。 | +#### widget\_get\_child\_text\_utf8 函数 +----------------------- + +* 函数功能: + +>
获取子控件的文本。 +只是对widget\_get\_prop的包装,文本的意义由子类控件决定。 + +* 函数原型: + +``` +ret_t widget_get_child_text_utf8 (widget_t* widget, const char* name, char* text, uint32_t size); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| name | const char* | 子控件的名称。 | +| text | char* | 用于返回文本。 | +| size | uint32\_t | text内存长度。 | #### widget\_get\_content\_area 函数 ----------------------- @@ -1558,6 +1708,27 @@ ret_t widget_get_prop_default_value (widget_t* widget, const char* name, value_t | widget | widget\_t* | 控件对象。 | | name | const char* | 属性的名称。 | | v | value\_t* | 返回属性的缺省值。 | +#### widget\_get\_prop\_float 函数 +----------------------- + +* 函数功能: + +>
获取浮点数格式的属性。 + +* 函数原型: + +``` +float_t widget_get_prop_float (widget_t* widget, const char* name, float_t defval); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | float\_t | 返回属性的值。 | +| widget | widget\_t* | 控件对象。 | +| name | const char* | 属性的名称。 | +| defval | float\_t | 缺省值。 | #### widget\_get\_prop\_int 函数 ----------------------- @@ -1731,6 +1902,25 @@ ret_t widget_get_text_utf8 (widget_t* widget, char* text, uint32_t size); | widget | widget\_t* | 控件对象。 | | text | char* | 用于返回文本。 | | size | uint32\_t | text内存长度。 | +#### widget\_get\_theme\_name 函数 +----------------------- + +* 函数功能: + +>
获取 theme 的名称 + +* 函数原型: + +``` +const char* widget_get_theme_name (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const char* | 成功返回主题名称,失败否则 NULL。 | +| widget | widget\_t* | 控件对象。 | #### widget\_get\_type 函数 ----------------------- @@ -1760,7 +1950,26 @@ const char* widget_get_type (widget_t* widget); * 函数原型: ``` -int32_t widget_get_value (widget_t* widget); +float_t widget_get_value (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | float\_t | 返回值。 | +| widget | widget\_t* | 控件对象。 | +#### widget\_get\_value\_int 函数 +----------------------- + +* 函数功能: + +>
获取控件的值。只是对widget\_get\_prop的包装,值的意义由子类控件决定。 + +* 函数原型: + +``` +int32_t widget_get_value_int (widget_t* widget); ``` * 参数说明: @@ -1788,6 +1997,24 @@ bool_t widget_get_visible (widget_t* widget); | -------- | ----- | --------- | | 返回值 | bool\_t | 返回visible。 | | widget | widget\_t* | 控件对象。 | +#### widget\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 widget 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* widget_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 widget 虚表。 | #### widget\_get\_window 函数 ----------------------- @@ -1961,7 +2188,12 @@ ret_t widget_insert_child (widget_t* widget, uint32_t index, widget_t* child); * 函数功能: ->
请求重绘指定的区域,如果widget->dirty已经为TRUE,直接返回。 +>
请求重绘指定的区域 + +备注: +1,函数执行成功后,会把 widget->dirty 修改为 TRUE,如果 widget->dirty 已经为 TRUE,则直接返回 RET_OK,不再增加重绘区。 +2,当控件执行 widget_paint 后会把 widget->dirty 修改为 FALSE。 +3,如果同一个控件在同一帧内多次请求重绘不同区域的话,请使用 widget_invalidate_force。 * 函数原型: @@ -2609,6 +2841,25 @@ ret_t widget_move_resize (widget_t* widget, xy_t x, xy_t y, wh_t w, wh_t h); | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | +#### widget\_move\_to\_center 函数 +----------------------- + +* 函数功能: + +>
移动控件到父控件中间。 + +* 函数原型: + +``` +ret_t widget_move_to_center (widget_t* widget); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | #### widget\_off 函数 ----------------------- @@ -3012,6 +3263,32 @@ ret_t widget_prepare_text_style (widget_t* widget, canvas_t* c); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | c | canvas\_t* | 画布对象。 | +#### widget\_prepare\_text\_style\_ex 函数 +----------------------- + +* 函数功能: + +>
从widget的style中取出字体名称、大小和颜色数据,设置到canvas中。 +备注:如果在风格中找不到才会使用默认的设置。 + +* 函数原型: + +``` +ret_t widget_prepare_text_style_ex (widget_t* widget, canvas_t* c, color_t default_trans, const char* default_font, uint16_t default_font_size, align_h_t default_align_h, align_v_t default_align_v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| c | canvas\_t* | 画布对象。 | +| default\_trans | color\_t | 默认文字颜色。 | +| default\_font | const char* | 默认字库名字。 | +| default\_font\_size | uint16\_t | 默认字体大小。 | +| default\_align\_h | align\_h\_t | 默认文字水平方向对齐。 | +| default\_align\_v | align\_v\_t | 默认文字垂直方向对齐。 | #### widget\_re\_translate\_text 函数 ----------------------- @@ -3538,6 +3815,25 @@ ret_t widget_set_need_update_style (widget_t* widget); * 参数说明: +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +#### widget\_set\_need\_update\_style\_recursive 函数 +----------------------- + +* 函数功能: + +>
让控件及子控件设置需要更新Style。 + +* 函数原型: + +``` +ret_t widget_set_need_update_style_recursive (widget_t* widget); +``` + +* 参数说明: + | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | @@ -3626,6 +3922,27 @@ ret_t widget_set_prop_bool (widget_t* widget, const char* name, bool_t v); | widget | widget\_t* | 控件对象。 | | name | const char* | 属性的名称。 | | v | bool\_t | 属性的值。 | +#### widget\_set\_prop\_float 函数 +----------------------- + +* 函数功能: + +>
设置浮点数格式的属性。 + +* 函数原型: + +``` +ret_t widget_set_prop_float (widget_t* widget, const char* name, float_t v); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| name | const char* | 属性的名称。 | +| v | float\_t | 属性的值。 | #### widget\_set\_prop\_int 函数 ----------------------- @@ -3668,6 +3985,28 @@ ret_t widget_set_prop_pointer (widget_t* widget, const char* name, void* v); | widget | widget\_t* | 控件对象。 | | name | const char* | 属性的名称。 | | v | void* | 属性的值。 | +#### widget\_set\_prop\_pointer\_ex 函数 +----------------------- + +* 函数功能: + +>
设置指针格式的属性。 + +* 函数原型: + +``` +ret_t widget_set_prop_pointer_ex (widget_t* widget, const char* name, void* v, tk_destroy_t destroy); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| name | const char* | 属性的名称。 | +| v | void* | 属性的值。 | +| destroy | tk\_destroy\_t | 销毁函数。 | #### widget\_set\_prop\_str 函数 ----------------------- @@ -3689,6 +4028,27 @@ ret_t widget_set_prop_str (widget_t* widget, const char* name, const char* v); | widget | widget\_t* | 控件对象。 | | name | const char* | 属性的名称。 | | v | const char* | 属性的值。 | +#### widget\_set\_props 函数 +----------------------- + +* 函数功能: + +>
设置多个参数。 +>参数之间用&分隔,名称和值之间用=分隔。如: name=awtk&min=10&max=100 + +* 函数原型: + +``` +ret_t widget_set_props (widget_t* widget, const char* params); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| params | const char* | 参数列表。 | #### widget\_set\_self\_layout 函数 ----------------------- @@ -3877,8 +4237,7 @@ ret_t widget_set_style_str (widget_t* widget, const char* state_and_name, const * 函数功能: ->
设置控件的文本。 -只是对widget\_set\_prop的包装,文本的意义由子类控件决定。 +>
设置控件的文本。(如果字符串相同,则不会重复设置以及触发事件) * 函数原型: @@ -3893,13 +4252,33 @@ ret_t widget_set_text (widget_t* widget, const wchar_t* text); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | text | const wchar\_t* | 文本。 | +#### widget\_set\_text\_ex 函数 +----------------------- + +* 函数功能: + +>
设置控件的文本。 + +* 函数原型: + +``` +ret_t widget_set_text_ex (widget_t* widget, const wchar_t* text, bool_t check_diff); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| text | const wchar\_t* | 文本。 | +| check\_diff | bool\_t | 是否检查设置的文本是否和控件中的文本一样。 | #### widget\_set\_text\_utf8 函数 ----------------------- * 函数功能: ->
设置控件的文本。 -只是对widget\_set\_prop的包装,文本的意义由子类控件决定。 +>
设置控件的文本。(如果字符串相同,则不会重复设置以及触发事件) * 函数原型: @@ -3914,6 +4293,27 @@ ret_t widget_set_text_utf8 (widget_t* widget, const char* text); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | text | const char* | 文本。 | +#### widget\_set\_text\_utf8\_ex 函数 +----------------------- + +* 函数功能: + +>
设置控件的文本。 + +* 函数原型: + +``` +ret_t widget_set_text_utf8_ex (widget_t* widget, const char* text, bool_t check_diff); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| text | const char* | 文本。 | +| check\_diff | bool\_t | 是否检查设置的文本是否和控件中的文本一样。 | #### widget\_set\_theme 函数 ----------------------- @@ -3921,8 +4321,6 @@ ret_t widget_set_text_utf8 (widget_t* widget, const char* text); >
设置theme的名称,用于动态切换主题。名称与当前主题名称相同,则重新加载全部资源。 -> 目前只支持带有文件系统的平台。 - * 函数原型: ``` @@ -3967,7 +4365,28 @@ ret_t widget_set_tr_text (widget_t* widget, const char* text); * 函数原型: ``` -ret_t widget_set_value (widget_t* widget, int32_t value); +ret_t widget_set_value (widget_t* widget, float_t value); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| value | float\_t | 值。 | +#### widget\_set\_value\_int 函数 +----------------------- + +* 函数功能: + +>
设置控件的值。 +只是对widget\_set\_prop的包装,值的意义由子类控件决定。 + +* 函数原型: + +``` +ret_t widget_set_value_int (widget_t* widget, int32_t value); ``` * 参数说明: @@ -4441,7 +4860,7 @@ ret_t widget_use_style (widget_t* widget, const char* style); ----------------------- >
是否根据子控件和文本自动调整控件自身大小。 -> 为true时,最好不要使用child_layout,否则可能有冲突。 +> 为true时,最好不要使用 layout 的相关东西,否则可能有冲突。 > 注意:只是调整控件的本身的宽高,不会修改控件本身的位置。 * 类型:bool\_t @@ -4493,7 +4912,7 @@ ret_t widget_use_style (widget_t* widget, const char* style); ----------------------- >
自定义属性。 -* 类型:object\_t* +* 类型:tk\_object\_t* | 特性 | 是否支持 | | -------- | ----- | @@ -4689,6 +5108,12 @@ ret_t widget_use_style (widget_t* widget, const char* style); | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | #### parent 属性 ----------------------- >
父控件 diff --git a/docs/manual/widget_type_t.md b/docs/manual/widget_type_t.md index f591b20f9..7379c8368 100644 --- a/docs/manual/widget_type_t.md +++ b/docs/manual/widget_type_t.md @@ -21,6 +21,7 @@ | WIDGET\_TYPE\_LABEL | 文本控件。 | | WIDGET\_TYPE\_BUTTON | 按钮控件。 | | WIDGET\_TYPE\_IMAGE | 图片控件。 | +| WIDGET\_TYPE\_ICON | 图标控件。 | | WIDGET\_TYPE\_EDIT | 文本编辑控件。 | | WIDGET\_TYPE\_PROGRESS\_BAR | 进度条控件。 | | WIDGET\_TYPE\_GROUP\_BOX | 分组控件。 | @@ -30,6 +31,7 @@ | WIDGET\_TYPE\_DIALOG\_CLIENT | 对话框客户区域。 | | WIDGET\_TYPE\_SLIDER | 滑块控件。 | | WIDGET\_TYPE\_VIEW | 视图控件。 | +| WIDGET\_TYPE\_PAGE | page控件。 | | WIDGET\_TYPE\_COMBO\_BOX | 下拉选择框控件。 | | WIDGET\_TYPE\_COMBO\_BOX\_ITEM | 下拉选择框的列表项控件。 | | WIDGET\_TYPE\_SLIDE\_VIEW | 滑动视图控件。 | diff --git a/docs/manual/window_animator_factory_t.md b/docs/manual/window_animator_factory_t.md index ac1cee69f..4b66ce663 100644 --- a/docs/manual/window_animator_factory_t.md +++ b/docs/manual/window_animator_factory_t.md @@ -108,7 +108,7 @@ window_animator_factory_t* window_animator_factory_create (); * 函数原型: ``` -window_animator_t* window_animator_factory_create_animator (window_animator_factory_t* factory, bool_t open, object_t* args); +window_animator_t* window_animator_factory_create_animator (window_animator_factory_t* factory, bool_t open, tk_object_t* args); ``` * 参数说明: @@ -118,7 +118,7 @@ window_animator_t* window_animator_factory_create_animator (window_animator_fact | 返回值 | window\_animator\_t* | 返回窗口动画对象。 | | factory | window\_animator\_factory\_t* | 窗口动画工厂对象。 | | open | bool\_t | TRUE表示打开窗口时的动画,FALSE表示关闭窗口时的动画。 | -| args | object\_t* | 参数。 | +| args | tk\_object\_t* | 参数。 | #### window\_animator\_factory\_destroy 函数 ----------------------- diff --git a/docs/manual/window_base_t.md b/docs/manual/window_base_t.md index ee33a555b..6ef78a60b 100644 --- a/docs/manual/window_base_t.md +++ b/docs/manual/window_base_t.md @@ -20,7 +20,9 @@ | window\_base\_cast | 转换为window_base对象(供脚本语言使用)。 | | window\_base\_create | 创建window base对象。 | | window\_base\_get\_prop | 窗口get_prop函数的缺省实现。 | +| window\_base\_get\_widget\_vtable | 获取 window_base 虚表。 | | window\_base\_invalidate | 窗口on_invalidate函数的缺省实现。 | +| window\_base\_on\_copy | 默认拷贝函数。 | | window\_base\_on\_destroy | 窗口on_destroy函数的缺省实现。 | | window\_base\_on\_event | 窗口on_event函数的缺省实现。 | | window\_base\_on\_paint\_begin | 窗口on_paint_begin函数的缺省实现。 | @@ -33,6 +35,7 @@ | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | +| applet\_name | char* | 小应用程序(applet)的名称。 | | assets\_manager | assets\_manager\_t* | 获取资源管理器对象。 | | auto\_scale\_children\_h | bool\_t | 窗口大小与设计时大小不同时,是否自动调整子控件的高度。 | | auto\_scale\_children\_w | bool\_t | 窗口大小与设计时大小不同时,是否自动调整子控件的宽度。 | @@ -45,6 +48,7 @@ | disable\_anim | bool\_t | 禁用窗口动画。 | | font\_manager | font\_manager\_t* | 获取字体管理器对象。 | | image\_manager | image\_manager\_t* | 获取图片管理器对象。 | +| locale\_info | locale\_info\_t* | 获取多国语言字符串管理器对象。 | | move\_focus\_down\_key | char* | 向下移动焦点的键值。 | | move\_focus\_left\_key | char* | 向左移动焦点的键值。 | | move\_focus\_next\_key | char* | 向后移动焦点的键值。 | @@ -153,6 +157,24 @@ ret_t window_base_get_prop (widget_t* widget, const char* name, value_t* v); | widget | widget\_t* | window\_base对象。g | | name | const char* | 属性名。 | | v | value\_t* | value对象 | +#### window\_base\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 window_base 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* window_base_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 window\_base 虚表。 | #### window\_base\_invalidate 函数 ----------------------- @@ -173,6 +195,26 @@ ret_t window_base_invalidate (widget_t* widget, const rect_t* rect); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | window\_base对象。 | | rect | const rect\_t* | rect对象。 | +#### window\_base\_on\_copy 函数 +----------------------- + +* 函数功能: + +>
默认拷贝函数。 + +* 函数原型: + +``` +ret_t window_base_on_copy (widget_t* widget, widget_t* other); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。。 | +| widget | widget\_t* | window\_base对象。 | +| other | widget\_t* | other window\_base对象。 | #### window\_base\_on\_destroy 函数 ----------------------- @@ -313,6 +355,24 @@ ret_t window_base_set_prop (widget_t* widget, const char* name, const value_t* v | widget | widget\_t* | window\_base对象。 | | name | const char* | 属性名。 | | v | const value\_t* | value对象 | +#### applet\_name 属性 +----------------------- +>
小应用程序(applet)的名称。 + +> 如果该窗口属于某个独立的小程序应用(applet),需要指定它的名称,以便到对应的资源目录查找资源。 + +* 类型:char* + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | #### assets\_manager 属性 ----------------------- >
获取资源管理器对象。 @@ -503,6 +563,20 @@ ret_t window_base_set_prop (widget_t* widget, const char* name, const value_t* v * 类型:image\_manager\_t* +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 否 | +| 可直接修改 | 否 | +| 可通过widget\_get\_prop读取 | 是 | +#### locale\_info 属性 +----------------------- +>
获取多国语言字符串管理器对象。 + +> +把多国语言字符串管理器对象与窗口关联起来,是为了解决UI设计器与被设计的窗口需要从不同的位置加载资源资源的问题。 + +* 类型:locale\_info\_t* + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 否 | diff --git a/docs/manual/window_event_t.md b/docs/manual/window_event_t.md index 13263ffdf..d2c069d49 100644 --- a/docs/manual/window_event_t.md +++ b/docs/manual/window_event_t.md @@ -9,7 +9,7 @@ | 函数名称 | 说明 | | -------- | ------------ | -| pointer\_event\_rotate | 根据屏幕旋转方向修正pointer_event中的坐标。 | +| pointer\_event\_rotate | 根据屏幕旋转方向修正pointer_event中的坐标。(旋转方向为逆时针) | | window\_event\_cast | 把event对象转window_event_t对象。主要给脚本语言使用。 | | window\_event\_init | 初始化事件。 | ### 属性 @@ -23,7 +23,7 @@ * 函数功能: ->
根据屏幕旋转方向修正pointer_event中的坐标。 +>
根据屏幕旋转方向修正pointer_event中的坐标。(旋转方向为逆时针) * 函数原型: diff --git a/docs/manual/window_manager_t.md b/docs/manual/window_manager_t.md index 4da8f5db9..2fdd91991 100644 --- a/docs/manual/window_manager_t.md +++ b/docs/manual/window_manager_t.md @@ -17,6 +17,7 @@ | window\_manager\_cast | 转换为window_manager对象(供脚本语言使用)。 | | window\_manager\_close\_all | 关闭全部窗口。 | | window\_manager\_close\_window\_force | 强制立即关闭窗口。 | +| window\_manager\_destroy | | | window\_manager\_dispatch\_input\_event | 分发输入事件。 | | window\_manager\_dispatch\_native\_window\_event | 处理native window事件。 | | window\_manager\_end\_wait\_pointer\_cursor | 结束等待鼠标指针。 | @@ -26,6 +27,7 @@ | window\_manager\_get\_prev\_window | 获取前一个的窗口。 | | window\_manager\_get\_top\_main\_window | 获取最上面的主窗口。 | | window\_manager\_get\_top\_window | 获取最上面的窗口。 | +| window\_manager\_init | | | window\_manager\_is\_animating | 获取当前窗口动画是否正在播放。 | | window\_manager\_open\_window | 打开窗口。 | | window\_manager\_paint | 绘制。 | @@ -49,8 +51,9 @@ | 事件名称 | 类型 | 说明 | | -------- | ----- | ------- | | EVT\_TOP\_WINDOW\_CHANGED | window\_event\_t | 顶层窗口改变的事件。 | -| EVT\_SCREEN\_SAVER | window\_event\_t | 在指定的时间内(WITH\_SCREEN\_SAVER\_TIME),没有用户输入事件,由窗口管理器触发。 | +| EVT\_SCREEN\_SAVER | window\_event\_t | 在指定的时间内,没有用户输入事件,由窗口管理器触发。 | | EVT\_ORIENTATION\_CHANGED | event\_t | 屏幕旋转事件。 | +| EVT\_SYSTEM | system\_event\_t | SDL系统事件。 | #### window\_manager 函数 ----------------------- @@ -598,6 +601,10 @@ ret_t window_manager_set_show_fps (widget_t* widget, bool_t show_fps); >
切换到指定窗口。 +```c +window_manager_switch_to(wm, win, widget_child(wm, "home"), FALSE); +``` + * 函数原型: ``` @@ -611,7 +618,7 @@ ret_t window_manager_switch_to (widget_t* widget, widget_t* curr_win, widget_t* | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 窗口管理器对象。 | | curr\_win | widget\_t* | 当前窗口。 | -| target\_win | widget\_t* | 目标窗口。 | +| target\_win | widget\_t* | 目标窗口(必须存在,可以用widget\_child函数到窗口管理器中查找)。 | | close | bool\_t | 是否关闭当前窗口。 | #### global\_emitter 属性 ----------------------- diff --git a/docs/manual/window_t.md b/docs/manual/window_t.md index 0da17b3a9..f3fc3a478 100644 --- a/docs/manual/window_t.md +++ b/docs/manual/window_t.md @@ -51,11 +51,14 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | image\_copy | 把图片指定的区域拷贝到framebuffer中。 | | image\_fill | 用颜色绘制指定的区域。 | | image\_rotate | 把图片指定的区域进行旋转并拷贝到framebuffer相应的区域,本函数主要用于辅助实现横屏和竖屏的切换,一般支持90度旋转即可。 | +| image\_rotate\_blend | 把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放以及旋转。 | +| image\_rotate\_ex | 把图片指定的区域进行旋转。 | | window\_cast | 转换为window对象(供脚本语言使用)。 | | window\_close | 关闭窗口。 | | window\_close\_force | 立即无条件关闭窗口(无动画)。 | | window\_create | 创建window对象 | | window\_create\_default | 以缺省的方式创建window对象。 | +| window\_get\_widget\_vtable | 获取 window 虚表。 | | window\_open | 从资源文件中加载并创建window_base对象。本函数在ui_loader/ui_builder_default里实现。 | | window\_open\_and\_close | 从资源文件中加载并创建window对象。本函数在ui_loader/ui_builder_default里实现。 | | window\_set\_auto\_scale\_children | 当设计分辨率和实际分辨率不一致时,自动调整子控件的位置和大小。 | @@ -160,6 +163,7 @@ ret_t image_fill (bitmap_t* dst, const rect_t* dst_r, color_t c); * 函数功能: >
把图片指定的区域进行旋转并拷贝到framebuffer相应的区域,本函数主要用于辅助实现横屏和竖屏的切换,一般支持90度旋转即可。 +备注:旋转方向为逆时针。 * 函数原型: @@ -176,6 +180,54 @@ ret_t image_rotate (bitmap_t* dst, bitmap_t* src, const rect_t* src_r, lcd_orien | src | bitmap\_t* | 源图片对象。 | | src\_r | const rect\_t* | 要旋转并拷贝的区域。 | | o | lcd\_orientation\_t | 旋转角度(一般支持90度即可)。 | +#### image\_rotate\_blend 函数 +----------------------- + +* 函数功能: + +>
把图片指定的区域渲染到framebuffer指定的区域,src的大小和dst的大小不一致则进行缩放以及旋转。 + +* 函数原型: + +``` +ret_t image_rotate_blend (bitmap_t* dst, bitmap_t* src, const rectf_t* dst_r, const rectf_t* src_r, uint8_t global_alpha, lcd_orientation_t o); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败,返回失败则上层用软件实现。 | +| dst | bitmap\_t* | 目标图片对象。 | +| src | bitmap\_t* | 源图片对象。 | +| dst\_r | const rectf\_t* | 目的区域。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) | +| src\_r | const rectf\_t* | 源区域。 | +| global\_alpha | uint8\_t | 全局alpha。 | +| o | lcd\_orientation\_t | 旋转角度(一般支持90度即可,旋转方向为逆时针)。 | +#### image\_rotate\_ex 函数 +----------------------- + +* 函数功能: + +>
把图片指定的区域进行旋转。 + +* 函数原型: + +``` +ret_t image_rotate_ex (bitmap_t* dst, bitmap_t* src, const rect_t* src_r, xy_t dx, xy_t dy, lcd_orientation_t o); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败,返回失败则上层用软件实现。 | +| dst | bitmap\_t* | 目标图片对象。 | +| src | bitmap\_t* | 源图片对象。 | +| src\_r | const rect\_t* | 要旋转并拷贝的区域。 | +| dx | xy\_t | 目标位置的x坐标。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) | +| dy | xy\_t | 目标位置的y坐标。(坐标原点为旋转后的坐标系原点,并非是 dst 的左上角) | +| o | lcd\_orientation\_t | 旋转角度(一般支持90度即可,旋转方向为逆时针)。 | #### window\_cast 函数 ----------------------- @@ -274,6 +326,24 @@ widget_t* window_create_default (); | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | widget\_t* | 对象。 | +#### window\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>
获取 window 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* window_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 window 虚表。 | #### window\_open 函数 ----------------------- diff --git a/tools/doc_gen/index.js b/tools/doc_gen/index.js index d2cc6d1ac..d9bbf09b0 100644 --- a/tools/doc_gen/index.js +++ b/tools/doc_gen/index.js @@ -284,7 +284,7 @@ class ApiGenerator { if (cls.methods) { cls.methods.forEach(iter => { - if (!isPrivate(iter)) { + if (!isPrivate(iter) && iter.return) { result += this.genOneFunc(cls, iter); } });