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 函数 +----------------------- + +* 函数功能: + +>

获取 button_group 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* button_group_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 button\_group 虚表。 | diff --git a/docs/manual/button_t.md b/docs/manual/button_t.md index ad23a91e5..da47783ae 100644 --- a/docs/manual/button_t.md +++ b/docs/manual/button_t.md @@ -54,7 +54,9 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | -------- | ------------ | | button\_cast | 转换为button对象(供脚本语言使用)。 | | button\_create | 创建button对象 | +| button\_get\_widget\_vtable | 获取 button 虚表。 | | button\_set\_enable\_long\_press | 设置是否启用长按事件。 | +| button\_set\_enable\_preview | 设置是否启用预览。 | | button\_set\_long\_press\_time | 设置触发长按事件的时间。 | | button\_set\_repeat | 设置触发EVT\_CLICK事件的时间间隔。为0则不重复触发EVT\_CLICK事件。 | ### 属性 @@ -63,7 +65,9 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | enable\_long\_press | bool\_t | 是否启用长按事件,为true时才触发长按事件。 | +| enable\_preview | bool\_t | 是否启用预览(主要用于软键盘)。 | | long\_press\_time | uint32\_t | 触发长按事件的时间(ms) | +| pressed | bool\_t | 当前是否按下。 | | repeat | int32\_t | 重复触发EVT\_CLICK事件的时间间隔。 | ### 事件

@@ -114,6 +118,24 @@ widget_t* button_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\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>

获取 button 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* button_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 button 虚表。 | #### button\_set\_enable\_long\_press 函数 ----------------------- @@ -134,6 +156,26 @@ ret_t button_set_enable_long_press (widget_t* widget, bool_t enable_long_press); | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | 控件对象。 | | enable\_long\_press | bool\_t | 是否启用长按事件。 | +#### button\_set\_enable\_preview 函数 +----------------------- + +* 函数功能: + +>

设置是否启用预览。 + +* 函数原型: + +``` +ret_t button_set_enable_preview (widget_t* widget, bool_t enable_preview); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | +| widget | widget\_t* | 控件对象。 | +| enable\_preview | bool\_t | 是否启用预览。 | #### button\_set\_long\_press\_time 函数 ----------------------- @@ -183,6 +225,22 @@ ret_t button_set_repeat (widget_t* widget, int32_t repeat); * 类型:bool\_t +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可持久化 | 是 | +| 可脚本化 | 是 | +| 可在IDE中设置 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | +#### enable\_preview 属性 +----------------------- +>

是否启用预览(主要用于软键盘)。 + +* 类型:bool\_t + | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | @@ -209,6 +267,20 @@ ret_t button_set_repeat (widget_t* widget, int32_t repeat); | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | +#### pressed 属性 +----------------------- +>

当前是否按下。 + +* 类型:bool\_t + +| 特性 | 是否支持 | +| -------- | ----- | +| 可直接读取 | 是 | +| 可直接修改 | 否 | +| 可脚本化 | 是 | +| 可在XML中设置 | 是 | +| 可通过widget\_get\_prop读取 | 是 | +| 可通过widget\_set\_prop修改 | 是 | #### repeat 属性 ----------------------- >

重复触发EVT\_CLICK事件的时间间隔。 diff --git a/docs/manual/calibration_win_t.md b/docs/manual/calibration_win_t.md index 518881f8e..f2ac8f96d 100644 --- a/docs/manual/calibration_win_t.md +++ b/docs/manual/calibration_win_t.md @@ -32,6 +32,7 @@ widget_t* win = calibration_win_create(NULL, 0, 0, 320, 480); | -------- | ------------ | | calibration\_win\_cast | 转换为calibration_win对象(供脚本语言使用)。 | | calibration\_win\_create | 创建calibration_win对象 | +| calibration\_win\_get\_widget\_vtable | 获取 calibration_win 虚表。 | | calibration\_win\_set\_on\_click | 设置校准点击事件的处理函数。 | | calibration\_win\_set\_on\_done | 设置校准完成的处理函数。 | #### calibration\_win\_cast 函数 @@ -76,6 +77,24 @@ widget_t* calibration_win_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 | 高度 | +#### calibration\_win\_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 | 设置控件的值。 | ### 属性

@@ -124,6 +126,31 @@ widget_t* check_button_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 | 高度 | +#### check\_button\_create\_ex 函数 +----------------------- + +* 函数功能: + +>

创建check button对象 + +* 函数原型: + +``` +widget_t* check_button_create_ex (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h, const char* type, bool_t radio); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | widget\_t* | widget对象。 | +| parent | widget\_t* | 父控件 | +| x | xy\_t | x坐标 | +| y | xy\_t | y坐标 | +| w | wh\_t | 宽度 | +| h | wh\_t | 高度 | +| type | const char* | 类型。 | +| radio | bool\_t | 是否单选。 | #### check\_button\_create\_radio 函数 ----------------------- @@ -166,6 +193,24 @@ widget_t* check_button_get_checked_button (widget_t* widget); | -------- | ----- | --------- | | 返回值 | widget\_t* | 同组中勾选的radio button对象。 | | widget | widget\_t* | radio\_button对象。 | +#### check\_button\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>

获取 check_button 虚表。 + +* 函数原型: + +``` +const widget_vtable_t* check_button_get_widget_vtable (); +``` + +* 参数说明: + +| 参数 | 类型 | 说明 | +| -------- | ----- | --------- | +| 返回值 | const widget\_vtable\_t* | 成功返回 check\_button 虚表。 | #### check\_button\_set\_value 函数 ----------------------- diff --git a/docs/manual/clip_board_t.md b/docs/manual/clip_board_t.md index 09631325e..cd310e0cf 100644 --- a/docs/manual/clip_board_t.md +++ b/docs/manual/clip_board_t.md @@ -81,7 +81,7 @@ ret_t clip_board_destroy (clip_board_t* cl); * 函数原型: ``` -ret_t clip_board_get_data (clip_board_t* cl, clip_board_data_type_t* type, void** data data, uint32_t* size); +ret_t clip_board_get_data (clip_board_t* cl, clip_board_data_type_t* type, void** data, uint32_t* size); ``` * 参数说明: @@ -91,7 +91,7 @@ ret_t clip_board_get_data (clip_board_t* cl, clip_board_data_type_t* type, void* | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | cl | clip\_board\_t* | 剪切板对象。 | | type | clip\_board\_data\_type\_t* | 返回数据类型(可为NULL)。 | -| data | void** data | 返回数据(可为NULL)。 | +| data | void** | 返回数据(可为NULL)。 | | size | uint32\_t* | 返回数据长度(可为NULL)。 | #### clip\_board\_get\_text 函数 ----------------------- @@ -140,7 +140,7 @@ ret_t clip_board_set (clip_board_t* cl); * 函数原型: ``` -ret_t clip_board_set_data (clip_board_t* cl, clip_board_data_type_t type, const void* data data, uint32_t size); +ret_t clip_board_set_data (clip_board_t* cl, clip_board_data_type_t type, const void* data, uint32_t size); ``` * 参数说明: @@ -150,7 +150,7 @@ ret_t clip_board_set_data (clip_board_t* cl, clip_board_data_type_t type, const | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | cl | clip\_board\_t* | 剪切板对象。 | | type | clip\_board\_data\_type\_t | 数据类型。 | -| data | const void* data | 数据。 | +| data | const void* | 数据。 | | size | uint32\_t | 数据长度 | #### clip\_board\_set\_text 函数 ----------------------- diff --git a/docs/manual/color_component_t.md b/docs/manual/color_component_t.md index 1bcac2e8e..286a0427c 100644 --- a/docs/manual/color_component_t.md +++ b/docs/manual/color_component_t.md @@ -17,6 +17,7 @@ COLOR_PICKER_CHILD_H: 水平为同色,垂直为Hue(递减)。 | color\_component\_get\_h | 获取h分量。 | | color\_component\_get\_s | 获取s分量。 | | color\_component\_get\_v | 获取v分量。 | +| color\_component\_get\_widget\_vtable | 获取 color_component 虚表。 | | color\_component\_set\_color | 设置颜色。 | | color\_component\_set\_hsv | 设置颜色。 | ### 事件 @@ -124,6 +125,24 @@ float color_component_get_v (widget_t* widget); | -------- | ----- | --------- | | 返回值 | float | 返回v分量。 | | widget | widget\_t* | color\_component对象。 | +#### color\_component\_get\_widget\_vtable 函数 +----------------------- + +* 函数功能: + +>

获取 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 + + + +``` > 更多用法请参考:[theme default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/default.xml#L422) @@ -123,8 +139,11 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | combo\_box\_count\_options | 获取选项个数。 | | combo\_box\_create | 创建combo_box对象 | | combo\_box\_get\_option | 获取第index个选项。 | -| combo\_box\_get\_text | 获取combo_box的文本。 | +| combo\_box\_get\_text | 获取combo_box的文本(可能是翻译后的文本)。 | +| combo\_box\_get\_text\_of\_selected | 获取combo_box当前选中项目的文本(原生非翻译的文本)。 | | combo\_box\_get\_value | 获取combo_box的值。 | +| combo\_box\_get\_widget\_vtable | 获取 combo_box 虚表。 | +| combo\_box\_has\_option\_text | 检查选项中是否存在指定的文本。 | | combo\_box\_remove\_option | 删除选项。 | | combo\_box\_reset\_options | 重置所有选项。 | | combo\_box\_set\_custom\_open\_popup | 设置自定义的打开弹出窗口的函数。 | @@ -133,6 +152,8 @@ default](https://github.com/zlgopen/awtk/blob/master/design/default/styles/defau | combo\_box\_set\_open\_window | 点击按钮时可以打开popup窗口,本函数可设置窗口的名称。 | | combo\_box\_set\_options | 设置选项。 | | combo\_box\_set\_selected\_index | 设置第index个选项为当前选中的选项。 | +| combo\_box\_set\_selected\_index\_by\_text | 根据文本设置当前选中的选项。 | +| combo\_box\_set\_theme\_of\_popup | 设置弹出窗口的主题。 | | combo\_box\_set\_value | 设置值。 | ### 属性

@@ -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 - -