diff --git a/src/awtk_ext_widgets.h b/src/awtk_ext_widgets.h index 9bafa4e99..19e55eb48 100644 --- a/src/awtk_ext_widgets.h +++ b/src/awtk_ext_widgets.h @@ -37,6 +37,7 @@ #include "scroll_view/list_item.h" #include "scroll_view/list_view.h" #include "slide_view/slide_view.h" +#include "slide_view/slide_indicator.h" #include "scroll_view/scroll_bar.h" #include "scroll_view/scroll_view.h" #include "scroll_view/list_view_h.h" diff --git a/src/tkc/emitter.h b/src/tkc/emitter.h index 3d6369aa2..570b7c688 100644 --- a/src/tkc/emitter.h +++ b/src/tkc/emitter.h @@ -43,6 +43,7 @@ struct _emitter_item_t { /** * @class emitter_t + * @order -10 * @annotation ["scriptable"] * * 事件分发器, 用于实现观察者模式。 diff --git a/src/tkc/event.h b/src/tkc/event.h index 8dc2e48d5..ce3547158 100644 --- a/src/tkc/event.h +++ b/src/tkc/event.h @@ -77,6 +77,7 @@ typedef enum _event_base_type_t { /** * @class event_t + * @order -100 * @annotation ["scriptable"] * 事件基类。 */ diff --git a/src/tkc/object.h b/src/tkc/object.h index 9ca12a52c..4014b13ca 100644 --- a/src/tkc/object.h +++ b/src/tkc/object.h @@ -57,6 +57,7 @@ struct _object_vtable_t { /** * @class object_t + * @order -9 * @parent emitter_t * @annotation ["scriptable"] * diff --git a/src/tkc/value.h b/src/tkc/value.h index 11ca002fa..031ac130b 100644 --- a/src/tkc/value.h +++ b/src/tkc/value.h @@ -151,7 +151,7 @@ typedef struct _sized_str_t { /** * @class value_t - * @order -10 + * @order -9 * @annotation ["scriptable"] * 一个通用数据类型,用来存放整数、浮点数、字符串和其它对象。 * diff --git a/tools/idl_gen/idl.json b/tools/idl_gen/idl.json index f6b6358c5..44ce2e379 100644 --- a/tools/idl_gen/idl.json +++ b/tools/idl_gen/idl.json @@ -1,4 +1,1175 @@ [ + { + "type": "class", + "methods": [ + { + "params": [ + { + "type": "event_t*", + "name": "event", + "desc": "event对象。" + } + ], + "annotation": { + "cast": true, + "scriptable": true + }, + "desc": "转换为event对象。 > 供脚本语言使用", + "name": "event_cast", + "return": { + "type": "event_t*", + "desc": "event对象。" + } + }, + { + "params": [ + { + "type": "uint32_t", + "name": "type", + "desc": "事件类型。" + } + ], + "annotation": { + "constructor": true, + "scriptable": true, + "gc": true + }, + "desc": "创建event对象。 主要给脚本语言使用。", + "name": "event_create", + "return": { + "type": "event_t*", + "desc": "返回事件对象。" + } + }, + { + "params": [ + { + "type": "event_t*", + "name": "event", + "desc": "event对象。" + } + ], + "annotation": { + "deconstructor": true, + "scriptable": true, + "gc": true + }, + "desc": "销毁事件对象。 主要给脚本语言使用。", + "name": "event_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "uint32_t", + "name": "type", + "desc": "事件类型。" + }, + { + "type": "void*", + "name": "target", + "desc": "目标对象。" + } + ], + "annotation": { + "constructor": true + }, + "desc": "初始化事件。", + "name": "event_init", + "return": { + "type": "event_t", + "desc": "事件对象。" + } + } + ], + "events": [], + "properties": [ + { + "name": "type", + "desc": "类型。", + "type": "int32_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "time", + "desc": "事件发生的时间。", + "type": "int32_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "target", + "desc": "事件发生的目标对象。", + "type": "void*", + "annotation": { + "readable": true, + "scriptable": true + } + } + ], + "header": "tkc/event.h", + "desc": "事件基类。", + "name": "event_t", + "order": -100, + "annotation": { + "scriptable": true + }, + "level": 1 + }, + { + "type": "class", + "methods": [ + { + "params": [ + { + "type": "xy_t", + "name": "x", + "desc": "x坐标。" + }, + { + "type": "xy_t", + "name": "y", + "desc": "y坐标。" + }, + { + "type": "wh_t", + "name": "w", + "desc": "宽度。" + }, + { + "type": "wh_t", + "name": "h", + "desc": "高度。" + } + ], + "annotation": { + "constructor": true, + "scriptable": true, + "gc": true + }, + "desc": "创建rect对象。 > 主要供脚本语言使用。", + "name": "rect_create", + "return": { + "type": "rect_t*", + "desc": "rect对象。" + } + }, + { + "params": [ + { + "type": "rect_t*", + "name": "rect", + "desc": "rect对象。" + }, + { + "type": "xy_t", + "name": "x", + "desc": "x坐标。" + }, + { + "type": "xy_t", + "name": "y", + "desc": "y坐标。" + }, + { + "type": "wh_t", + "name": "w", + "desc": "宽度。" + }, + { + "type": "wh_t", + "name": "h", + "desc": "高度。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置rect对象的xywh。 > 主要供脚本语言使用。", + "name": "rect_set", + "return": { + "type": "rect_t*", + "desc": "rect对象。" + } + }, + { + "params": [ + { + "type": "rect_t*", + "name": "rect", + "desc": "rect对象。" + } + ], + "annotation": { + "cast": true, + "scriptable": true + }, + "desc": "转换为rect对象。 > 供脚本语言使用。", + "name": "rect_cast", + "return": { + "type": "rect_t*", + "desc": "rect对象。" + } + }, + { + "params": [ + { + "type": "rect_t*", + "name": "r", + "desc": "rect对象。" + } + ], + "annotation": { + "deconstructor": true, + "scriptable": true, + "gc": true + }, + "desc": "销毁rect对象。 > 主要供脚本语言使用。", + "name": "rect_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + } + ], + "events": [], + "properties": [ + { + "name": "x", + "desc": "x坐标。", + "type": "xy_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "y", + "desc": "y坐标。", + "type": "xy_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "w", + "desc": "宽度。", + "type": "wh_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "h", + "desc": "高度。", + "type": "wh_t", + "annotation": { + "readable": true, + "scriptable": true + } + } + ], + "header": "tkc/rect.h", + "desc": "矩形。包括一个x坐标、y坐标、宽度和高度。", + "name": "rect_t", + "order": -10, + "annotation": { + "scriptable": true + }, + "level": 1 + }, + { + "type": "class", + "methods": [], + "events": [], + "properties": [ + { + "name": "x", + "desc": "x坐标。", + "type": "float_t", + "annotation": { + "readable": true + } + }, + { + "name": "y", + "desc": "y坐标。", + "type": "float_t", + "annotation": { + "readable": true + } + } + ], + "header": "tkc/rect.h", + "desc": "点(浮点数)。包括一个x坐标和一个y坐标。", + "name": "pointf_t", + "order": -10, + "annotation": { + "scriptable": true + }, + "level": 1 + }, + { + "type": "class", + "methods": [], + "events": [], + "properties": [ + { + "name": "x", + "desc": "x坐标。", + "type": "xy_t", + "annotation": { + "readable": true + } + }, + { + "name": "y", + "desc": "y坐标。", + "type": "xy_t", + "annotation": { + "readable": true + } + } + ], + "header": "tkc/rect.h", + "desc": "点。包括一个x坐标和一个y坐标。", + "name": "point_t", + "annotation": { + "scriptable": true + }, + "order": -10, + "level": 1 + }, + { + "type": "class", + "methods": [ + { + "params": [], + "annotation": { + "constructor": true, + "scriptable": true, + "gc": true + }, + "desc": "创建emitter对象。", + "name": "emitter_create", + "return": { + "type": "emitter_t*", + "desc": "对象。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "constructor": true + }, + "desc": "初始化emitter对象。", + "name": "emitter_init", + "return": { + "type": "emitter_t*", + "desc": "对象。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "event_t*", + "name": "e", + "desc": "事件对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "分发事件。如果当前分发的回调函数返回RET_REMOVE,该回调函数将被移出。 禁用状态下,本函数不做任何事情。 如果当前分发的回调函数返回RET_STOP,dispatch中断分发,并返回RET_STOP,否则返回RET_OK。", + "name": "emitter_dispatch", + "return": { + "type": "ret_t", + "desc": "" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "event_type_t", + "name": "type", + "desc": "事件类型。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "分发事件。 > 对emitter_dispatch的包装,分发一个简单的事件。 如果当前分发的回调函数返回RET_STOP,dispatch中断分发,并返回RET_STOP,否则返回RET_OK。", + "name": "emitter_dispatch_simple_event", + "return": { + "type": "ret_t", + "desc": "" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "event_type_t", + "name": "type", + "desc": "事件类型。" + }, + { + "type": "event_func_t", + "name": "on_event", + "desc": "事件处理函数。" + }, + { + "type": "void*", + "name": "ctx", + "desc": "事件处理函数上下文。" + } + ], + "annotation": { + "scriptable": "custom" + }, + "desc": "注册指定事件的处理函数。", + "name": "emitter_on", + "return": { + "type": "uint32_t", + "desc": "返回id,用于emitter_off。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "event_type_t", + "name": "type", + "desc": "事件类型。" + }, + { + "type": "event_func_t", + "name": "on_event", + "desc": "事件处理函数。" + }, + { + "type": "void*", + "name": "ctx", + "desc": "事件处理函数上下文。" + }, + { + "type": "uint32_t", + "name": "tag", + "desc": "tag。" + } + ], + "annotation": {}, + "desc": "注册指定事件的处理函数。", + "name": "emitter_on_with_tag", + "return": { + "type": "uint32_t", + "desc": "返回id,用于emitter_off。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "uint32_t", + "name": "id", + "desc": "emitter_on返回的ID。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "注销指定事件的处理函数。", + "name": "emitter_off", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "event_type_t", + "name": "type", + "desc": "事件类型。" + }, + { + "type": "event_func_t", + "name": "on_event", + "desc": "事件处理函数。" + }, + { + "type": "void*", + "name": "ctx", + "desc": "事件处理函数上下文。" + } + ], + "annotation": {}, + "desc": "注销指定事件的处理函数。", + "name": "emitter_off_by_func", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "void*", + "name": "ctx", + "desc": "事件处理函数上下文。" + } + ], + "annotation": {}, + "desc": "注销指定事件的处理函数。", + "name": "emitter_off_by_ctx", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "uint32_t", + "name": "tag", + "desc": "tag。" + } + ], + "annotation": {}, + "desc": "注销指定事件的处理函数。", + "name": "emitter_off_by_tag", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "uint32_t", + "name": "id", + "desc": "emitter_on返回的ID。" + }, + { + "type": "tk_destroy_t", + "name": "on_destroy", + "desc": "回调函数。" + }, + { + "type": "void*", + "name": "on_destroy_ctx", + "desc": "回调函数上下文。" + } + ], + "annotation": {}, + "desc": "设置一个回调函数,在emitter被销毁时调用(方便脚本语言去释放回调函数)。", + "name": "emitter_set_on_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + }, + { + "type": "uint32_t", + "name": "id", + "desc": "emitter_on返回的ID。" + } + ], + "annotation": {}, + "desc": "通过ID查找emitter_item_t,主要用于辅助测试。", + "name": "emitter_find", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "启用。", + "name": "emitter_enable", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "禁用。 禁用后emitter_dispatch无效,但可以注册和注销。", + "name": "emitter_disable", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取注册的回调函数个数,主要用于辅助测试。", + "name": "emitter_size", + "return": { + "type": "uint32_t", + "desc": "回调函数个数。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "deconstructor": true + }, + "desc": "析构。", + "name": "emitter_deinit", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "deconstructor": true, + "scriptable": true, + "gc": true + }, + "desc": "销毁。", + "name": "emitter_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "emitter_t*", + "name": "emitter", + "desc": "emitter对象。" + } + ], + "annotation": { + "cast": true, + "scriptable": true + }, + "desc": "转换为emitter对象(供脚本语言使用)。 主要给脚本语言使用。", + "name": "emitter_cast", + "return": { + "type": "emitter_t*", + "desc": "对象。" + } + } + ], + "events": [], + "properties": [ + { + "name": "items", + "desc": "注册的回调函数集合。", + "type": "emitter_item_t*", + "annotation": { + "private": true + } + }, + { + "name": "next_id", + "desc": "下一次emitter_on返回的ID,emitter_on成功后会自动增加next_id。", + "type": "uint32_t", + "annotation": { + "private": true + } + }, + { + "name": "enable", + "desc": "禁用标志。禁用时dispatch无效。", + "type": "bool_t", + "annotation": { + "readable": true + } + }, + { + "name": "remove_curr_iter", + "desc": "如果在回调函数中,emitter_off当前正在dispatch的回调函数, 我们只是设置remove_curr_iter为TRUE,在分发完成后才执行。 XXX: 如果要注销当前正在dispatch的回调函数,直接返回RET_REMOVE是最好的选择。", + "type": "bool_t", + "annotation": { + "private": true + } + }, + { + "name": "curr_iter", + "desc": "当前正在dispatch的项。", + "type": "emitter_item_t*", + "annotation": { + "private": true + } + } + ], + "header": "tkc/emitter.h", + "desc": "事件分发器, 用于实现观察者模式。", + "name": "emitter_t", + "order": -10, + "annotation": { + "scriptable": true + }, + "level": 1 + }, + { + "type": "class", + "methods": [ + { + "params": [], + "annotation": { + "constructor": true, + "scriptable": true, + "gc": true + }, + "desc": "创建图片对象(一般供脚本语言中使用)。", + "name": "bitmap_create", + "return": { + "type": "bitmap_t*", + "desc": "返回bitmap对象。" + } + }, + { + "params": [ + { + "type": "uint32_t", + "name": "w", + "desc": "宽度。" + }, + { + "type": "uint32_t", + "name": "h", + "desc": "高度。" + }, + { + "type": "uint32_t", + "name": "line_length", + "desc": "line_length。" + }, + { + "type": "bitmap_format_t", + "name": "format", + "desc": "格式。" + } + ], + "annotation": { + "constructor": true, + "scriptable": true, + "gc": true + }, + "desc": "创建图片对象。", + "name": "bitmap_create_ex", + "return": { + "type": "bitmap_t*", + "desc": "返回bitmap对象。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取图片一个像素占用的字节数。", + "name": "bitmap_get_bpp", + "return": { + "type": "uint32_t", + "desc": "返回一个像素占用的字节数。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + } + ], + "annotation": {}, + "desc": "为读取数据而锁定bitmap的图片缓冲区。", + "name": "bitmap_lock_buffer_for_read", + "return": { + "type": "uint8_t*", + "desc": "返回缓存区的首地址。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + } + ], + "annotation": {}, + "desc": "为修改数据而锁定bitmap的图片缓冲区。", + "name": "bitmap_lock_buffer_for_write", + "return": { + "type": "uint8_t*", + "desc": "返回缓存区的首地址。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + } + ], + "annotation": {}, + "desc": "解锁图像缓冲区。", + "name": "bitmap_unlock_buffer", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + }, + { + "type": "uint32_t", + "name": "x", + "desc": "x坐标。" + }, + { + "type": "uint32_t", + "name": "y", + "desc": "y坐标。" + }, + { + "type": "rgba_t*", + "name": "rgba", + "desc": "返回颜色值。" + } + ], + "annotation": {}, + "desc": "获取图片指定像素的rgba颜色值(主要用于测试程序)。", + "name": "bitmap_get_pixel", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + }, + { + "type": "uint32_t", + "name": "line_length", + "desc": "line_length。" + } + ], + "annotation": {}, + "desc": "设置line_length。", + "name": "bitmap_set_line_length", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + } + ], + "annotation": {}, + "desc": "获取每一行占用内存的字节数。", + "name": "bitmap_get_line_length", + "return": { + "type": "ret_t", + "desc": "返回每一行占用内存的字节数。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + }, + { + "type": "uint32_t", + "name": "w", + "desc": "宽度。" + }, + { + "type": "uint32_t", + "name": "h", + "desc": "高度。" + }, + { + "type": "bitmap_format_t", + "name": "format", + "desc": "格式。" + }, + { + "type": "const uint8_t*", + "name": "", + "desc": "a" + }, + { + "type": "uint32_t", + "name": "comp", + "desc": "颜色通道数(目前支持3(rgb)和4(rgba))。" + } + ], + "annotation": {}, + "desc": "初始化图片。 数据。3通道时为RGB888格式,4通道时为RGBA888格式(内部拷贝该数据,不会引用,调用者自行释放)。", + "name": "bitmap_init_from_rgba", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + }, + { + "type": "uint32_t", + "name": "w", + "desc": "宽度。" + }, + { + "type": "uint32_t", + "name": "h", + "desc": "高度。" + }, + { + "type": "bitmap_format_t", + "name": "format", + "desc": "格式。" + }, + { + "type": "const uint8_t*", + "name": "data", + "desc": "数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。" + } + ], + "annotation": {}, + "desc": "初始化图片。", + "name": "bitmap_init", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "bitmap_t*", + "name": "bitmap", + "desc": "bitmap对象。" + } + ], + "annotation": { + "deconstructor": true, + "scriptable": true, + "gc": true + }, + "desc": "销毁图片。", + "name": "bitmap_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + } + ], + "events": [], + "properties": [ + { + "name": "w", + "desc": "宽度。", + "type": "wh_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "h", + "desc": "高度。", + "type": "wh_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "line_length", + "desc": "每一行实际占用的内存(也称为stride或pitch),一般情况下为w*bpp。", + "type": "uint32_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "flags", + "desc": "标志。请参考{bitmap_flag_t}。", + "type": "uint16_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "format", + "desc": "格式。请参考{bitmap_format_t}。", + "type": "uint16_t", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "name", + "desc": "名称。", + "type": "const char*", + "annotation": { + "readable": true, + "scriptable": true + } + }, + { + "name": "buffer", + "desc": "图片数据。", + "type": "graphic_buffer_t*", + "annotation": { + "readable": true + } + } + ], + "header": "base/bitmap.h", + "desc": "位图。", + "name": "bitmap_t", + "order": -9, + "annotation": { + "scriptable": true + }, + "level": 1 + }, { "type": "class", "methods": [ @@ -1033,7 +2204,7 @@ "header": "tkc/value.h", "desc": "一个通用数据类型,用来存放整数、浮点数、字符串和其它对象。 在C/C++中,一般不需动态创建对象,直接声明并初始化即可。如: ```c value_t v; value_set_int(&v, 100); ```> 在脚本语言中,需要动态创建对象。", "name": "value_t", - "order": -10, + "order": -9, "annotation": { "scriptable": true }, @@ -1045,101 +2216,9 @@ { "params": [ { - "type": "xy_t", - "name": "x", - "desc": "x坐标。" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标。" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度。" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度。" - } - ], - "annotation": { - "constructor": true, - "scriptable": true, - "gc": true - }, - "desc": "创建rect对象。 > 主要供脚本语言使用。", - "name": "rect_create", - "return": { - "type": "rect_t*", - "desc": "rect对象。" - } - }, - { - "params": [ - { - "type": "rect_t*", - "name": "rect", - "desc": "rect对象。" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标。" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标。" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度。" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置rect对象的xywh。 > 主要供脚本语言使用。", - "name": "rect_set", - "return": { - "type": "rect_t*", - "desc": "rect对象。" - } - }, - { - "params": [ - { - "type": "rect_t*", - "name": "rect", - "desc": "rect对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换为rect对象。 > 供脚本语言使用。", - "name": "rect_cast", - "return": { - "type": "rect_t*", - "desc": "rect对象。" - } - }, - { - "params": [ - { - "type": "rect_t*", - "name": "r", - "desc": "rect对象。" + "type": "object_t*", + "name": "obj", + "desc": "object对象。" } ], "annotation": { @@ -1147,162 +2226,19 @@ "scriptable": true, "gc": true }, - "desc": "销毁rect对象。 > 主要供脚本语言使用。", - "name": "rect_destroy", + "desc": "引用计数减1。引用计数为0时,销毁对象。", + "name": "object_unref", "return": { "type": "ret_t", "desc": "返回RET_OK表示成功,否则表示失败。" } - } - ], - "events": [], - "properties": [ - { - "name": "x", - "desc": "x坐标。", - "type": "xy_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "y", - "desc": "y坐标。", - "type": "xy_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "w", - "desc": "宽度。", - "type": "wh_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "h", - "desc": "高度。", - "type": "wh_t", - "annotation": { - "readable": true, - "scriptable": true - } - } - ], - "header": "tkc/rect.h", - "desc": "矩形。包括一个x坐标、y坐标、宽度和高度。", - "name": "rect_t", - "order": -10, - "annotation": { - "scriptable": true - }, - "level": 1 - }, - { - "type": "class", - "methods": [], - "events": [], - "properties": [ - { - "name": "x", - "desc": "x坐标。", - "type": "float_t", - "annotation": { - "readable": true - } - }, - { - "name": "y", - "desc": "y坐标。", - "type": "float_t", - "annotation": { - "readable": true - } - } - ], - "header": "tkc/rect.h", - "desc": "点(浮点数)。包括一个x坐标和一个y坐标。", - "name": "pointf_t", - "order": -10, - "annotation": { - "scriptable": true - }, - "level": 1 - }, - { - "type": "class", - "methods": [], - "events": [], - "properties": [ - { - "name": "x", - "desc": "x坐标。", - "type": "xy_t", - "annotation": { - "readable": true - } - }, - { - "name": "y", - "desc": "y坐标。", - "type": "xy_t", - "annotation": { - "readable": true - } - } - ], - "header": "tkc/rect.h", - "desc": "点。包括一个x坐标和一个y坐标。", - "name": "point_t", - "annotation": { - "scriptable": true - }, - "order": -10, - "level": 1 - }, - { - "type": "class", - "methods": [ - { - "params": [], - "annotation": { - "constructor": true, - "scriptable": true, - "gc": true - }, - "desc": "创建图片对象(一般供脚本语言中使用)。", - "name": "bitmap_create", - "return": { - "type": "bitmap_t*", - "desc": "返回bitmap对象。" - } }, { "params": [ { - "type": "uint32_t", - "name": "w", - "desc": "宽度。" - }, - { - "type": "uint32_t", - "name": "h", - "desc": "高度。" - }, - { - "type": "uint32_t", - "name": "line_length", - "desc": "line_length。" - }, - { - "type": "bitmap_format_t", - "name": "format", - "desc": "格式。" + "type": "object_t*", + "name": "obj", + "desc": "object对象。" } ], "annotation": { @@ -1310,287 +2246,910 @@ "scriptable": true, "gc": true }, - "desc": "创建图片对象。", - "name": "bitmap_create_ex", + "desc": "引用计数加1。", + "name": "object_ref", "return": { - "type": "bitmap_t*", - "desc": "返回bitmap对象。" + "type": "object_t*", + "desc": "返回object对象。" } }, { "params": [ { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" + "type": "const object_vtable_t*", + "name": "vt", + "desc": "虚函数表。" + } + ], + "annotation": {}, + "desc": "创建对象。 > 仅供子类调用。", + "name": "object_create", + "return": { + "type": "ret_t", + "desc": "返回object对象。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" } ], "annotation": { "scriptable": true }, - "desc": "获取图片一个像素占用的字节数。", - "name": "bitmap_get_bpp", + "desc": "获取对象的类型名称。", + "name": "object_get_type", + "return": { + "type": "const char*", + "desc": "返回对象的类型名称。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取对象的描述信息。", + "name": "object_get_desc", + "return": { + "type": "const char*", + "desc": "返回对象的描述信息。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取对象占用内存的大小。", + "name": "object_get_size", "return": { "type": "uint32_t", - "desc": "返回一个像素占用的字节数。" + "desc": "返回对象占用内存的大小。" } }, { "params": [ { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - } - ], - "annotation": {}, - "desc": "为读取数据而锁定bitmap的图片缓冲区。", - "name": "bitmap_lock_buffer_for_read", - "return": { - "type": "uint8_t*", - "desc": "返回缓存区的首地址。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - } - ], - "annotation": {}, - "desc": "为修改数据而锁定bitmap的图片缓冲区。", - "name": "bitmap_lock_buffer_for_write", - "return": { - "type": "uint8_t*", - "desc": "返回缓存区的首地址。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - } - ], - "annotation": {}, - "desc": "解锁图像缓冲区。", - "name": "bitmap_unlock_buffer", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - }, - { - "type": "uint32_t", - "name": "x", - "desc": "x坐标。" - }, - { - "type": "uint32_t", - "name": "y", - "desc": "y坐标。" - }, - { - "type": "rgba_t*", - "name": "rgba", - "desc": "返回颜色值。" - } - ], - "annotation": {}, - "desc": "获取图片指定像素的rgba颜色值(主要用于测试程序)。", - "name": "bitmap_get_pixel", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - }, - { - "type": "uint32_t", - "name": "line_length", - "desc": "line_length。" - } - ], - "annotation": {}, - "desc": "设置line_length。", - "name": "bitmap_set_line_length", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - } - ], - "annotation": {}, - "desc": "获取每一行占用内存的字节数。", - "name": "bitmap_get_line_length", - "return": { - "type": "ret_t", - "desc": "返回每一行占用内存的字节数。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - }, - { - "type": "uint32_t", - "name": "w", - "desc": "宽度。" - }, - { - "type": "uint32_t", - "name": "h", - "desc": "高度。" - }, - { - "type": "bitmap_format_t", - "name": "format", - "desc": "格式。" - }, - { - "type": "const uint8_t*", - "name": "", - "desc": "a" - }, - { - "type": "uint32_t", - "name": "comp", - "desc": "颜色通道数(目前支持3(rgb)和4(rgba))。" - } - ], - "annotation": {}, - "desc": "初始化图片。 数据。3通道时为RGB888格式,4通道时为RGBA888格式(内部拷贝该数据,不会引用,调用者自行释放)。", - "name": "bitmap_init_from_rgba", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" - }, - { - "type": "uint32_t", - "name": "w", - "desc": "宽度。" - }, - { - "type": "uint32_t", - "name": "h", - "desc": "高度。" - }, - { - "type": "bitmap_format_t", - "name": "format", - "desc": "格式。" - }, - { - "type": "const uint8_t*", - "name": "data", - "desc": "数据,直接引用,但不负责释放。如果为空,由内部自动分配和释放。" - } - ], - "annotation": {}, - "desc": "初始化图片。", - "name": "bitmap_init", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "bitmap_t*", - "name": "bitmap", - "desc": "bitmap对象。" + "type": "object_t*", + "name": "obj", + "desc": "object对象。" } ], "annotation": { - "deconstructor": true, - "scriptable": true, - "gc": true + "scriptable": true }, - "desc": "销毁图片。", - "name": "bitmap_destroy", + "desc": "判断对象是否是集合。", + "name": "object_is_collection", + "return": { + "type": "bool_t", + "desc": "返回TRUE表示是集合,否则不是。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "对象的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置对象的名称。", + "name": "object_set_name", "return": { "type": "ret_t", "desc": "返回RET_OK表示成功,否则表示失败。" } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "object_t*", + "name": "other", + "desc": "比较的object对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "比较两个对象。", + "name": "object_compare", + "return": { + "type": "int", + "desc": "返回比较结果。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "value_t*", + "name": "v", + "desc": "返回属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的值。", + "name": "object_get_prop", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的字符串类型的值。", + "name": "object_get_prop_str", + "return": { + "type": "const char*", + "desc": "返回指定属性的字符串类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的指针类型的值。", + "name": "object_get_prop_pointer", + "return": { + "type": "void*", + "desc": "返回指定属性的指针类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的object类型的值。", + "name": "object_get_prop_object", + "return": { + "type": "object_t*", + "desc": "返回指定属性的object类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "int32_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的整数类型的值。", + "name": "object_get_prop_int", + "return": { + "type": "int32_t", + "desc": "返回指定属性的整数类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "bool_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的bool类型的值。", + "name": "object_get_prop_bool", + "return": { + "type": "bool_t", + "desc": "返回指定属性的bool类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "float_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的浮点数类型的值。", + "name": "object_get_prop_float", + "return": { + "type": "float_t", + "desc": "返回指定属性的浮点数类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "删除指定属性。", + "name": "object_remove_prop", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "value_t*", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置指定属性的值。", + "name": "object_set_prop", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "const char*", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置指定属性的字符串类型的值。", + "name": "object_set_prop_str", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "void*", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": {}, + "desc": "设置指定属性的指针类型的值。", + "name": "object_set_prop_pointer", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "object_t*", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置指定属性的object类型的值。", + "name": "object_set_prop_object", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "int32_t", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置指定属性的整数类型的值。", + "name": "object_set_prop_int", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "bool_t", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置指定属性的bool类型的值。", + "name": "object_set_prop_bool", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + }, + { + "type": "float_t", + "name": "value", + "desc": "属性的值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置指定属性的浮点数类型的值。", + "name": "object_set_prop_float", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "目标对象。" + }, + { + "type": "object_t*", + "name": "src", + "desc": "源对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "拷贝指定的属性。", + "name": "object_copy_prop", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "tk_visit_t", + "name": "on_prop", + "desc": "回调函数。" + }, + { + "type": "void*", + "name": "ctx", + "desc": "回调函数上下文。" + } + ], + "annotation": {}, + "desc": "遍历所有属性。", + "name": "object_foreach_prop", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "属性的名称。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "检查是否存在指定的属性。", + "name": "object_has_prop", + "return": { + "type": "bool_t", + "desc": "返回TRUE表示存在,否则表示不存在。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "expr", + "desc": "表达式。" + }, + { + "type": "value_t*", + "name": "v", + "desc": "返回计算结果。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "计算一个表达式,表达式中引用的变量从prop中获取。", + "name": "object_eval", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "命令的名称。" + }, + { + "type": "const char*", + "name": "args", + "desc": "命令的参数。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "检查是否可以执行指定的命令。", + "name": "object_can_exec", + "return": { + "type": "bool_t", + "desc": "返回TRUE表示可以执行,否则表示不可以执行。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "命令的名称。" + }, + { + "type": "const char*", + "name": "args", + "desc": "命令的参数。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "执行指定的命令。", + "name": "object_exec", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "触发EVT_PROPS_CHANGED事件。", + "name": "object_notify_changed", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path,各级之间用.分隔。" + }, + { + "type": "value_t*", + "name": "v", + "desc": "返回属性的值。" + } + ], + "annotation": {}, + "desc": "获取指定path属性的值。", + "name": "object_get_prop_by_path", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的字符串类型的值。", + "name": "object_get_prop_str_by_path", + "return": { + "type": "const char*", + "desc": "返回指定属性的字符串类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的指针类型的值。", + "name": "object_get_prop_pointer_by_path", + "return": { + "type": "void*", + "desc": "返回指定属性的指针类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的object类型的值。", + "name": "object_get_prop_object_by_path", + "return": { + "type": "object_t*", + "desc": "返回指定属性的object类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path。" + }, + { + "type": "int32_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的整数类型的值。", + "name": "object_get_prop_int_by_path", + "return": { + "type": "int32_t", + "desc": "返回指定属性的整数类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path。" + }, + { + "type": "bool_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的bool类型的值。", + "name": "object_get_prop_bool_by_path", + "return": { + "type": "bool_t", + "desc": "返回指定属性的bool类型的值。" + } + }, + { + "params": [ + { + "type": "object_t*", + "name": "obj", + "desc": "object对象。" + }, + { + "type": "const char*", + "name": "path", + "desc": "属性的path。" + }, + { + "type": "float_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "获取指定属性的浮点数类型的值。", + "name": "object_get_prop_float_by_path", + "return": { + "type": "float_t", + "desc": "返回指定属性的浮点数类型的值。" + } } ], "events": [], "properties": [ { - "name": "w", - "desc": "宽度。", - "type": "wh_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "h", - "desc": "高度。", - "type": "wh_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "line_length", - "desc": "每一行实际占用的内存(也称为stride或pitch),一般情况下为w*bpp。", - "type": "uint32_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "flags", - "desc": "标志。请参考{bitmap_flag_t}。", - "type": "uint16_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "format", - "desc": "格式。请参考{bitmap_format_t}。", - "type": "uint16_t", + "name": "ref_count", + "desc": "引用计数。", + "type": "int32_t", "annotation": { "readable": true, "scriptable": true @@ -1598,30 +3157,23 @@ }, { "name": "name", - "desc": "名称。", - "type": "const char*", + "desc": "对象的名称。", + "type": "char*", "annotation": { "readable": true, "scriptable": true } - }, - { - "name": "buffer", - "desc": "图片数据。", - "type": "graphic_buffer_t*", - "annotation": { - "readable": true - } } ], - "header": "base/bitmap.h", - "desc": "位图。", - "name": "bitmap_t", + "header": "tkc/object.h", + "desc": "对象接口。", + "name": "object_t", "order": -9, + "parent": "emitter_t", "annotation": { "scriptable": true }, - "level": 1 + "level": 2 }, { "type": "class", @@ -1756,422 +3308,6 @@ }, "level": 1 }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - } - ], - "annotation": {}, - "desc": "获取全部参数。", - "name": "children_layouter_to_string", - "return": { - "type": "ret_t", - "desc": "返回字符串格式的参数。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - }, - { - "type": "widget_t*", - "name": "widget", - "desc": "控件。" - } - ], - "annotation": {}, - "desc": "对控件的子控件进行布局。", - "name": "children_layouter_layout", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - }, - { - "type": "const char*", - "name": "name", - "desc": "参数名。" - }, - { - "type": "value_t*", - "name": "v", - "desc": "返回参数的值。" - } - ], - "annotation": {}, - "desc": "获取指定的参数。", - "name": "children_layouter_get_param", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - }, - { - "type": "const char*", - "name": "name", - "desc": "参数名。" - }, - { - "type": "const value_t*", - "name": "v", - "desc": "参数的值。" - } - ], - "annotation": {}, - "desc": "获取指定的参数。", - "name": "children_layouter_set_param", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - }, - { - "type": "const char*", - "name": "name", - "desc": "参数名。" - }, - { - "type": "const char*", - "name": "value", - "desc": "参数值。" - } - ], - "annotation": {}, - "desc": "设置字符串格式的参数。", - "name": "children_layouter_set_param_str", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - }, - { - "type": "const char*", - "name": "name", - "desc": "参数名。" - }, - { - "type": "float_t", - "name": "defval", - "desc": "缺省值。" - } - ], - "annotation": {}, - "desc": "获取指定的浮点格式的参数。", - "name": "children_layouter_get_param_float", - "return": { - "type": "ret_t", - "desc": "成功返回参数的值,失败返回缺省值。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - }, - { - "type": "const char*", - "name": "name", - "desc": "参数名。" - }, - { - "type": "int32_t", - "name": "defval", - "desc": "缺省值。" - } - ], - "annotation": {}, - "desc": "获取指定的整数格式的参数。", - "name": "children_layouter_get_param_int", - "return": { - "type": "ret_t", - "desc": "成功返回参数的值,失败返回缺省值。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - } - ], - "annotation": {}, - "desc": "判断layouter对象是否有效。", - "name": "children_layouter_is_valid", - "return": { - "type": "bool_t", - "desc": "返回TRUE表示有效,否则表示无效。" - } - }, - { - "params": [ - { - "type": "children_layouter_t*", - "name": "layouter", - "desc": "layouter对象。" - } - ], - "annotation": {}, - "desc": "销毁layouter对象。", - "name": "children_layouter_destroy", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "const char*", - "name": "params", - "desc": "参数。" - } - ], - "annotation": {}, - "desc": "创建layouter对象。", - "name": "children_layouter_create", - "return": { - "type": "children_layouter_t*", - "desc": "返回layouter对象。" - } - } - ], - "events": [], - "properties": [], - "header": "base/children_layouter.h", - "desc": "子控件排版布局器的接口。 按特定算法对子控件进行排版布局,子类需要实现vtable中的函数。", - "name": "children_layouter_t", - "level": 1 - }, - { - "type": "enum", - "desc": "剪切板数据类型定义。", - "consts": [ - { - "desc": "无数据。", - "name": "CLIP_BOARD_DATA_TYPE_NONE" - }, - { - "desc": "UTF8文本。", - "name": "CLIP_BOARD_DATA_TYPE_TEXT" - } - ], - "header": "base/clip_board.h", - "name": "clip_board_data_type_t", - "prefix": "CLIP_BOARD_DATA_TYPE_", - "annotation": { - "scriptable": true - }, - "level": 1 - }, - { - "type": "class", - "methods": [ - { - "params": [], - "annotation": { - "constructor": true - }, - "desc": "获取缺省的剪切板对象。", - "name": "clip_board", - "alias": "clip_board_instance", - "return": { - "type": "ret_t", - "desc": "返回缺省剪切板对象。" - } - }, - { - "params": [ - { - "type": "clip_board_t*", - "name": "cl", - "desc": "剪切板对象。" - } - ], - "annotation": {}, - "desc": "设置缺省的剪切板对象。", - "name": "clip_board_set", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "clip_board_t*", - "name": "cl", - "desc": "剪切板对象。" - } - ], - "annotation": {}, - "desc": "清空剪切板中的数据。", - "name": "clip_board_clear", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "clip_board_t*", - "name": "cl", - "desc": "剪切板对象。" - }, - { - "type": "clip_board_data_type_t", - "name": "type", - "desc": "数据类型。" - }, - { - "type": "const void* data", - "name": "data", - "desc": "数据。" - }, - { - "type": "uint32_t", - "name": "size", - "desc": "数据长度" - } - ], - "annotation": {}, - "desc": "设置数据到剪切板中。", - "name": "clip_board_set_data", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "clip_board_t*", - "name": "cl", - "desc": "剪切板对象。" - }, - { - "type": "clip_board_data_type_t*", - "name": "type", - "desc": "返回数据类型(可为NULL)。" - }, - { - "type": "void** data", - "name": "data", - "desc": "返回数据(可为NULL)。" - }, - { - "type": "uint32_t*", - "name": "size", - "desc": "返回数据长度(可为NULL)。" - } - ], - "annotation": {}, - "desc": "从剪切板中获取数据。", - "name": "clip_board_get_data", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "clip_board_t*", - "name": "cl", - "desc": "剪切板对象。" - } - ], - "annotation": {}, - "desc": "销毁剪切板对象。", - "name": "clip_board_destroy", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "const char*", - "name": "text", - "desc": "文本。" - } - ], - "annotation": { - "static": true, - "scriptable": true - }, - "desc": "设置文本(UTF8)数据到剪切板。", - "name": "clip_board_set_text", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [], - "annotation": { - "static": true, - "scriptable": true - }, - "desc": "从剪切板中获取文本(UTF8)数据。", - "name": "clip_board_get_text", - "return": { - "type": "const char*", - "desc": "返回文本数据。" - } - } - ], - "events": [], - "properties": [], - "header": "base/clip_board.h", - "desc": "剪切板接口。", - "name": "clip_board_t", - "annotation": { - "scriptable": true - }, - "level": 1 - }, { "type": "class", "methods": [ @@ -22363,6 +23499,232 @@ }, "level": 1 }, + { + "type": "class", + "methods": [ + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + } + ], + "annotation": {}, + "desc": "获取全部参数。", + "name": "children_layouter_to_string", + "return": { + "type": "ret_t", + "desc": "返回字符串格式的参数。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + }, + { + "type": "widget_t*", + "name": "widget", + "desc": "控件。" + } + ], + "annotation": {}, + "desc": "对控件的子控件进行布局。", + "name": "children_layouter_layout", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "参数名。" + }, + { + "type": "value_t*", + "name": "v", + "desc": "返回参数的值。" + } + ], + "annotation": {}, + "desc": "获取指定的参数。", + "name": "children_layouter_get_param", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "参数名。" + }, + { + "type": "const value_t*", + "name": "v", + "desc": "参数的值。" + } + ], + "annotation": {}, + "desc": "获取指定的参数。", + "name": "children_layouter_set_param", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "参数名。" + }, + { + "type": "const char*", + "name": "value", + "desc": "参数值。" + } + ], + "annotation": {}, + "desc": "设置字符串格式的参数。", + "name": "children_layouter_set_param_str", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "参数名。" + }, + { + "type": "float_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": {}, + "desc": "获取指定的浮点格式的参数。", + "name": "children_layouter_get_param_float", + "return": { + "type": "ret_t", + "desc": "成功返回参数的值,失败返回缺省值。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + }, + { + "type": "const char*", + "name": "name", + "desc": "参数名。" + }, + { + "type": "int32_t", + "name": "defval", + "desc": "缺省值。" + } + ], + "annotation": {}, + "desc": "获取指定的整数格式的参数。", + "name": "children_layouter_get_param_int", + "return": { + "type": "ret_t", + "desc": "成功返回参数的值,失败返回缺省值。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + } + ], + "annotation": {}, + "desc": "判断layouter对象是否有效。", + "name": "children_layouter_is_valid", + "return": { + "type": "bool_t", + "desc": "返回TRUE表示有效,否则表示无效。" + } + }, + { + "params": [ + { + "type": "children_layouter_t*", + "name": "layouter", + "desc": "layouter对象。" + } + ], + "annotation": {}, + "desc": "销毁layouter对象。", + "name": "children_layouter_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "const char*", + "name": "params", + "desc": "参数。" + } + ], + "annotation": {}, + "desc": "创建layouter对象。", + "name": "children_layouter_create", + "return": { + "type": "children_layouter_t*", + "desc": "返回layouter对象。" + } + } + ], + "events": [], + "properties": [], + "header": "base/children_layouter.h", + "desc": "子控件排版布局器的接口。 按特定算法对子控件进行排版布局,子类需要实现vtable中的函数。", + "name": "children_layouter_t", + "level": 1 + }, { "type": "class", "methods": [ @@ -23939,6 +25301,39 @@ "name": "func_call_parser_t", "level": 1 }, + { + "type": "enum", + "desc": "指示器默认绘制的类型。", + "consts": [ + { + "desc": "自动选择。", + "name": "INDICATOR_DEFAULT_PAINT_AUTO" + }, + { + "desc": "实心圆点指示器,当前项填充selected_fg_color,其他填充fg_color。", + "name": "INDICATOR_DEFAULT_PAINT_FILL_DOT" + }, + { + "desc": "镂空圆点指示器,当前项填充selected_fg_color,其他镂空fg_color。", + "name": "INDICATOR_DEFAULT_PAINT_STROKE_DOT" + }, + { + "desc": "实心矩形指示器,当前项填充selected_fg_color,其他填充fg_color。", + "name": "INDICATOR_DEFAULT_PAINT_FILL_RECT" + }, + { + "desc": "镂空矩形指示器,当前项填充selected_fg_color,其他镂空fg_color。", + "name": "INDICATOR_DEFAULT_PAINT_STROKE_RECT" + } + ], + "header": "slide_view/slide_indicator.h", + "name": "indicator_default_paint_t", + "prefix": "INDICATOR_DEFAULT_PAINT_", + "annotation": { + "scriptable": true + }, + "level": 1 + }, { "type": "class", "methods": [ @@ -24334,39 +25729,6 @@ "name": "fs_t", "level": 1 }, - { - "type": "enum", - "desc": "指示器默认绘制的类型。", - "consts": [ - { - "desc": "自动选择。", - "name": "INDICATOR_DEFAULT_PAINT_AUTO" - }, - { - "desc": "实心圆点指示器,当前项填充selected_fg_color,其他填充fg_color。", - "name": "INDICATOR_DEFAULT_PAINT_FILL_DOT" - }, - { - "desc": "镂空圆点指示器,当前项填充selected_fg_color,其他镂空fg_color。", - "name": "INDICATOR_DEFAULT_PAINT_STROKE_DOT" - }, - { - "desc": "实心矩形指示器,当前项填充selected_fg_color,其他填充fg_color。", - "name": "INDICATOR_DEFAULT_PAINT_FILL_RECT" - }, - { - "desc": "镂空矩形指示器,当前项填充selected_fg_color,其他镂空fg_color。", - "name": "INDICATOR_DEFAULT_PAINT_STROKE_RECT" - } - ], - "header": "slide_view/slide_indicator.h", - "name": "indicator_default_paint_t", - "prefix": "INDICATOR_DEFAULT_PAINT_", - "annotation": { - "scriptable": true - }, - "level": 1 - }, { "type": "class", "methods": [ @@ -24603,124 +25965,21 @@ "level": 1 }, { - "type": "class", - "methods": [ + "type": "enum", + "desc": "剪切板数据类型定义。", + "consts": [ { - "params": [ - { - "type": "event_t*", - "name": "event", - "desc": "event对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换为event对象。 > 供脚本语言使用", - "name": "event_cast", - "return": { - "type": "event_t*", - "desc": "event对象。" - } + "desc": "无数据。", + "name": "CLIP_BOARD_DATA_TYPE_NONE" }, { - "params": [ - { - "type": "uint32_t", - "name": "type", - "desc": "事件类型。" - } - ], - "annotation": { - "constructor": true, - "scriptable": true, - "gc": true - }, - "desc": "创建event对象。 主要给脚本语言使用。", - "name": "event_create", - "return": { - "type": "event_t*", - "desc": "返回事件对象。" - } - }, - { - "params": [ - { - "type": "event_t*", - "name": "event", - "desc": "event对象。" - } - ], - "annotation": { - "deconstructor": true, - "scriptable": true, - "gc": true - }, - "desc": "销毁事件对象。 主要给脚本语言使用。", - "name": "event_destroy", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "uint32_t", - "name": "type", - "desc": "事件类型。" - }, - { - "type": "void*", - "name": "target", - "desc": "目标对象。" - } - ], - "annotation": { - "constructor": true - }, - "desc": "初始化事件。", - "name": "event_init", - "return": { - "type": "event_t", - "desc": "事件对象。" - } + "desc": "UTF8文本。", + "name": "CLIP_BOARD_DATA_TYPE_TEXT" } ], - "events": [], - "properties": [ - { - "name": "type", - "desc": "类型。", - "type": "int32_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "time", - "desc": "事件发生的时间。", - "type": "int32_t", - "annotation": { - "readable": true, - "scriptable": true - } - }, - { - "name": "target", - "desc": "事件发生的目标对象。", - "type": "void*", - "annotation": { - "readable": true, - "scriptable": true - } - } - ], - "header": "tkc/event.h", - "desc": "事件基类。", - "name": "event_t", + "header": "base/clip_board.h", + "name": "clip_board_data_type_t", + "prefix": "CLIP_BOARD_DATA_TYPE_", "annotation": { "scriptable": true }, @@ -24880,467 +26139,6 @@ "name": "event_source_manager_t", "level": 1 }, - { - "type": "class", - "methods": [ - { - "params": [], - "annotation": { - "constructor": true, - "scriptable": true, - "gc": true - }, - "desc": "创建emitter对象。", - "name": "emitter_create", - "return": { - "type": "emitter_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "constructor": true - }, - "desc": "初始化emitter对象。", - "name": "emitter_init", - "return": { - "type": "emitter_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "event_t*", - "name": "e", - "desc": "事件对象。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "分发事件。如果当前分发的回调函数返回RET_REMOVE,该回调函数将被移出。 禁用状态下,本函数不做任何事情。 如果当前分发的回调函数返回RET_STOP,dispatch中断分发,并返回RET_STOP,否则返回RET_OK。", - "name": "emitter_dispatch", - "return": { - "type": "ret_t", - "desc": "" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "event_type_t", - "name": "type", - "desc": "事件类型。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "分发事件。 > 对emitter_dispatch的包装,分发一个简单的事件。 如果当前分发的回调函数返回RET_STOP,dispatch中断分发,并返回RET_STOP,否则返回RET_OK。", - "name": "emitter_dispatch_simple_event", - "return": { - "type": "ret_t", - "desc": "" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "event_type_t", - "name": "type", - "desc": "事件类型。" - }, - { - "type": "event_func_t", - "name": "on_event", - "desc": "事件处理函数。" - }, - { - "type": "void*", - "name": "ctx", - "desc": "事件处理函数上下文。" - } - ], - "annotation": { - "scriptable": "custom" - }, - "desc": "注册指定事件的处理函数。", - "name": "emitter_on", - "return": { - "type": "uint32_t", - "desc": "返回id,用于emitter_off。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "event_type_t", - "name": "type", - "desc": "事件类型。" - }, - { - "type": "event_func_t", - "name": "on_event", - "desc": "事件处理函数。" - }, - { - "type": "void*", - "name": "ctx", - "desc": "事件处理函数上下文。" - }, - { - "type": "uint32_t", - "name": "tag", - "desc": "tag。" - } - ], - "annotation": {}, - "desc": "注册指定事件的处理函数。", - "name": "emitter_on_with_tag", - "return": { - "type": "uint32_t", - "desc": "返回id,用于emitter_off。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "uint32_t", - "name": "id", - "desc": "emitter_on返回的ID。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "注销指定事件的处理函数。", - "name": "emitter_off", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "event_type_t", - "name": "type", - "desc": "事件类型。" - }, - { - "type": "event_func_t", - "name": "on_event", - "desc": "事件处理函数。" - }, - { - "type": "void*", - "name": "ctx", - "desc": "事件处理函数上下文。" - } - ], - "annotation": {}, - "desc": "注销指定事件的处理函数。", - "name": "emitter_off_by_func", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "void*", - "name": "ctx", - "desc": "事件处理函数上下文。" - } - ], - "annotation": {}, - "desc": "注销指定事件的处理函数。", - "name": "emitter_off_by_ctx", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "uint32_t", - "name": "tag", - "desc": "tag。" - } - ], - "annotation": {}, - "desc": "注销指定事件的处理函数。", - "name": "emitter_off_by_tag", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "uint32_t", - "name": "id", - "desc": "emitter_on返回的ID。" - }, - { - "type": "tk_destroy_t", - "name": "on_destroy", - "desc": "回调函数。" - }, - { - "type": "void*", - "name": "on_destroy_ctx", - "desc": "回调函数上下文。" - } - ], - "annotation": {}, - "desc": "设置一个回调函数,在emitter被销毁时调用(方便脚本语言去释放回调函数)。", - "name": "emitter_set_on_destroy", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - }, - { - "type": "uint32_t", - "name": "id", - "desc": "emitter_on返回的ID。" - } - ], - "annotation": {}, - "desc": "通过ID查找emitter_item_t,主要用于辅助测试。", - "name": "emitter_find", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "启用。", - "name": "emitter_enable", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "禁用。 禁用后emitter_dispatch无效,但可以注册和注销。", - "name": "emitter_disable", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "获取注册的回调函数个数,主要用于辅助测试。", - "name": "emitter_size", - "return": { - "type": "uint32_t", - "desc": "回调函数个数。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "deconstructor": true - }, - "desc": "析构。", - "name": "emitter_deinit", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "deconstructor": true, - "scriptable": true, - "gc": true - }, - "desc": "销毁。", - "name": "emitter_destroy", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "emitter_t*", - "name": "emitter", - "desc": "emitter对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换为emitter对象(供脚本语言使用)。 主要给脚本语言使用。", - "name": "emitter_cast", - "return": { - "type": "emitter_t*", - "desc": "对象。" - } - } - ], - "events": [], - "properties": [ - { - "name": "items", - "desc": "注册的回调函数集合。", - "type": "emitter_item_t*", - "annotation": { - "private": true - } - }, - { - "name": "next_id", - "desc": "下一次emitter_on返回的ID,emitter_on成功后会自动增加next_id。", - "type": "uint32_t", - "annotation": { - "private": true - } - }, - { - "name": "enable", - "desc": "禁用标志。禁用时dispatch无效。", - "type": "bool_t", - "annotation": { - "readable": true - } - }, - { - "name": "remove_curr_iter", - "desc": "如果在回调函数中,emitter_off当前正在dispatch的回调函数, 我们只是设置remove_curr_iter为TRUE,在分发完成后才执行。 XXX: 如果要注销当前正在dispatch的回调函数,直接返回RET_REMOVE是最好的选择。", - "type": "bool_t", - "annotation": { - "private": true - } - }, - { - "name": "curr_iter", - "desc": "当前正在dispatch的项。", - "type": "emitter_item_t*", - "annotation": { - "private": true - } - } - ], - "header": "tkc/emitter.h", - "desc": "事件分发器, 用于实现观察者模式。", - "name": "emitter_t", - "annotation": { - "scriptable": true - }, - "level": 1 - }, { "type": "class", "methods": [ @@ -25687,6 +26485,175 @@ "name": "file_transfer_ack_t", "level": 1 }, + { + "type": "class", + "methods": [ + { + "params": [], + "annotation": { + "constructor": true + }, + "desc": "获取缺省的剪切板对象。", + "name": "clip_board", + "alias": "clip_board_instance", + "return": { + "type": "ret_t", + "desc": "返回缺省剪切板对象。" + } + }, + { + "params": [ + { + "type": "clip_board_t*", + "name": "cl", + "desc": "剪切板对象。" + } + ], + "annotation": {}, + "desc": "设置缺省的剪切板对象。", + "name": "clip_board_set", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "clip_board_t*", + "name": "cl", + "desc": "剪切板对象。" + } + ], + "annotation": {}, + "desc": "清空剪切板中的数据。", + "name": "clip_board_clear", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "clip_board_t*", + "name": "cl", + "desc": "剪切板对象。" + }, + { + "type": "clip_board_data_type_t", + "name": "type", + "desc": "数据类型。" + }, + { + "type": "const void* data", + "name": "data", + "desc": "数据。" + }, + { + "type": "uint32_t", + "name": "size", + "desc": "数据长度" + } + ], + "annotation": {}, + "desc": "设置数据到剪切板中。", + "name": "clip_board_set_data", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "clip_board_t*", + "name": "cl", + "desc": "剪切板对象。" + }, + { + "type": "clip_board_data_type_t*", + "name": "type", + "desc": "返回数据类型(可为NULL)。" + }, + { + "type": "void** data", + "name": "data", + "desc": "返回数据(可为NULL)。" + }, + { + "type": "uint32_t*", + "name": "size", + "desc": "返回数据长度(可为NULL)。" + } + ], + "annotation": {}, + "desc": "从剪切板中获取数据。", + "name": "clip_board_get_data", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "clip_board_t*", + "name": "cl", + "desc": "剪切板对象。" + } + ], + "annotation": {}, + "desc": "销毁剪切板对象。", + "name": "clip_board_destroy", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "const char*", + "name": "text", + "desc": "文本。" + } + ], + "annotation": { + "static": true, + "scriptable": true + }, + "desc": "设置文本(UTF8)数据到剪切板。", + "name": "clip_board_set_text", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [], + "annotation": { + "static": true, + "scriptable": true + }, + "desc": "从剪切板中获取文本(UTF8)数据。", + "name": "clip_board_get_text", + "return": { + "type": "const char*", + "desc": "返回文本数据。" + } + } + ], + "events": [], + "properties": [], + "header": "base/clip_board.h", + "desc": "剪切板接口。", + "name": "clip_board_t", + "annotation": { + "scriptable": true + }, + "level": 1 + }, { "type": "enum", "desc": "缓动作动画常量定义。", @@ -28190,26 +29157,54 @@ }, { "type": "class", - "methods": [ + "methods": [], + "events": [], + "properties": [ { - "params": [], + "name": "defvalue", + "desc": "缺省值。", + "type": "int8_t", "annotation": { - "constructor": true - }, - "desc": "创建只读的style对象。", - "name": "style_const_create", - "return": { - "type": "style_t*", - "desc": "返回style对象。" + "readable": true + } + }, + { + "name": "min", + "desc": "最小值。", + "type": "int8_t", + "annotation": { + "readable": true + } + }, + { + "name": "max", + "desc": "最大值。", + "type": "int8_t", + "annotation": { + "readable": true + } + }, + { + "name": "step", + "desc": "步长。", + "type": "int8_t", + "annotation": { + "readable": true + } + }, + { + "name": "unit", + "desc": "单位。", + "type": "const char*", + "annotation": { + "readable": true } } ], - "events": [], - "properties": [], - "header": "base/style_const.h", - "desc": "只读的style,从theme\\_t中获取数据。 tools/theme_gen用于把XML的主题数据转换成常量数据。", - "name": "style_const_t", - "parent": "style_t", + "header": "tkc/value_desc.h", + "desc": "有符号8位整数类型属性描述。", + "name": "value_desc_int8_t", + "parent": "value_desc_t", "level": 2 }, { @@ -28287,30 +29282,6 @@ }, "level": 2 }, - { - "type": "class", - "methods": [ - { - "params": [], - "annotation": { - "constructor": true - }, - "desc": "创建控件自身布局对象。", - "name": "self_layouter_menu_create", - "return": { - "type": "self_layouter_t*", - "desc": "返回创建控件自身布局对象。" - } - } - ], - "events": [], - "properties": [], - "header": "layouters/self_layouter_menu.h", - "desc": "menu的控件自身布局算法实现(一般用于popup或dialog窗口)。> 用法请参考:[缺省控件自身布局算法](https://github.com/zlgopen/awtk/blob/master/docs/self_layouter_menu.md)", - "name": "self_layouter_menu_t", - "parent": "self_layouter_t", - "level": 2 - }, { "type": "class", "methods": [ @@ -28602,6 +29573,103 @@ }, "level": 2 }, + { + "type": "class", + "methods": [ + { + "params": [ + { + "type": "int", + "name": "fd", + "desc": "可以用select等待的文件描述符。" + }, + { + "type": "event_source_on_event_t", + "name": "on_event", + "desc": "用户的事件处理函数。" + }, + { + "type": "void*", + "name": "ctx", + "desc": "on_event函数的上下文。" + } + ], + "annotation": {}, + "desc": "创建fd事件源。", + "name": "event_source_fd_create", + "return": { + "type": "event_source_t*", + "desc": "返回事件源对象。" + } + } + ], + "events": [], + "properties": [], + "header": "tkc/event_source_fd.h", + "desc": "fd事件源。用于文件、管道和套接字。", + "name": "event_source_fd_t", + "parent": "object", + "level": 2 + }, + { + "type": "class", + "methods": [ + { + "params": [ + { + "type": "idle_manager_t*", + "name": "idle_manager", + "desc": "定时器管理器对象。" + } + ], + "annotation": {}, + "desc": "创建idle事件源。", + "name": "event_source_idle_create", + "return": { + "type": "event_source_t*", + "desc": "返回事件源对象。" + } + } + ], + "events": [], + "properties": [], + "header": "tkc/event_source_idle.h", + "desc": "idle事件源。", + "name": "event_source_idle_t", + "parent": "object", + "level": 2 + }, + { + "type": "class", + "methods": [ + { + "params": [ + { + "type": "event_source_manager_t*", + "name": "manager", + "desc": "event_source_manager对象。" + } + ], + "annotation": {}, + "desc": "创建事件源管理器。", + "name": "event_source_manager_default_create", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + } + ], + "events": [], + "properties": [], + "header": "tkc/event_source_manager_default.h", + "desc": "缺省的事件源管理器。", + "name": "event_source_manager_default_t", + "parent": "event_source_manager_t", + "annotation": { + "fake": true + }, + "level": 2 + }, { "type": "class", "methods": [ @@ -29134,52 +30202,14 @@ { "params": [ { - "type": "int", - "name": "fd", - "desc": "可以用select等待的文件描述符。" - }, - { - "type": "event_source_on_event_t", - "name": "on_event", - "desc": "用户的事件处理函数。" - }, - { - "type": "void*", - "name": "ctx", - "desc": "on_event函数的上下文。" - } - ], - "annotation": {}, - "desc": "创建fd事件源。", - "name": "event_source_fd_create", - "return": { - "type": "event_source_t*", - "desc": "返回事件源对象。" - } - } - ], - "events": [], - "properties": [], - "header": "tkc/event_source_fd.h", - "desc": "fd事件源。用于文件、管道和套接字。", - "name": "event_source_fd_t", - "parent": "object", - "level": 2 - }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "idle_manager_t*", - "name": "idle_manager", + "type": "timer_manager_t*", + "name": "timer_manager", "desc": "定时器管理器对象。" } ], "annotation": {}, - "desc": "创建idle事件源。", - "name": "event_source_idle_create", + "desc": "创建timer事件源。", + "name": "event_source_timer_create", "return": { "type": "event_source_t*", "desc": "返回事件源对象。" @@ -29188,9 +30218,9 @@ ], "events": [], "properties": [], - "header": "tkc/event_source_idle.h", - "desc": "idle事件源。", - "name": "event_source_idle_t", + "header": "tkc/event_source_timer.h", + "desc": "timer事件源。", + "name": "event_source_timer_t", "parent": "object", "level": 2 }, @@ -29200,29 +30230,95 @@ { "params": [ { - "type": "event_source_manager_t*", - "name": "manager", - "desc": "event_source_manager对象。" + "type": "event_source_t*", + "name": "source", + "desc": "event_source对象。" } ], "annotation": {}, - "desc": "创建事件源管理器。", - "name": "event_source_manager_default_create", + "desc": "获取文件描述符。", + "name": "event_source_get_fd", + "return": { + "type": "int32_t", + "desc": "返回文件描述符。" + } + }, + { + "params": [ + { + "type": "event_source_t*", + "name": "source", + "desc": "event_source对象。" + } + ], + "annotation": {}, + "desc": "分发事件。", + "name": "event_source_dispatch", "return": { "type": "ret_t", "desc": "返回RET_OK表示成功,否则表示失败。" } + }, + { + "params": [ + { + "type": "event_source_t*", + "name": "source", + "desc": "event_source对象。" + }, + { + "type": "void*", + "name": "tag", + "desc": "tag。" + } + ], + "annotation": {}, + "desc": "设置tag,方便通过tag一次移除多个事件源。", + "name": "event_source_set_tag", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "event_source_t*", + "name": "source", + "desc": "event_source对象。" + } + ], + "annotation": {}, + "desc": "对于没有文件描述符的事件源,需要自己检查是否准备就绪。", + "name": "event_source_check", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "event_source_t*", + "name": "source", + "desc": "event_source对象。" + } + ], + "annotation": {}, + "desc": "获取唤醒时间(ms)。", + "name": "event_source_get_wakeup_time", + "return": { + "type": "uint32_t", + "desc": "返回唤醒时间(ms)。" + } } ], "events": [], "properties": [], - "header": "tkc/event_source_manager_default.h", - "desc": "缺省的事件源管理器。", - "name": "event_source_manager_default_t", - "parent": "event_source_manager_t", - "annotation": { - "fake": true - }, + "header": "tkc/event_source.h", + "desc": "表示一个事件源。 事件源有下列两种方式: * 对于有文件描述符的事件源(如socket),get_fd返回一个有效的文件描述符。 * 对于定时器,则get_wakeup_time返回下次唤醒的时间。", + "name": "event_source_t", + "parent": "object", "level": 2 }, { @@ -29621,267 +30717,6 @@ }, "level": 2 }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "timer_manager_t*", - "name": "timer_manager", - "desc": "定时器管理器对象。" - } - ], - "annotation": {}, - "desc": "创建timer事件源。", - "name": "event_source_timer_create", - "return": { - "type": "event_source_t*", - "desc": "返回事件源对象。" - } - } - ], - "events": [], - "properties": [], - "header": "tkc/event_source_timer.h", - "desc": "timer事件源。", - "name": "event_source_timer_t", - "parent": "object", - "level": 2 - }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "event_source_t*", - "name": "source", - "desc": "event_source对象。" - } - ], - "annotation": {}, - "desc": "获取文件描述符。", - "name": "event_source_get_fd", - "return": { - "type": "int32_t", - "desc": "返回文件描述符。" - } - }, - { - "params": [ - { - "type": "event_source_t*", - "name": "source", - "desc": "event_source对象。" - } - ], - "annotation": {}, - "desc": "分发事件。", - "name": "event_source_dispatch", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "event_source_t*", - "name": "source", - "desc": "event_source对象。" - }, - { - "type": "void*", - "name": "tag", - "desc": "tag。" - } - ], - "annotation": {}, - "desc": "设置tag,方便通过tag一次移除多个事件源。", - "name": "event_source_set_tag", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "event_source_t*", - "name": "source", - "desc": "event_source对象。" - } - ], - "annotation": {}, - "desc": "对于没有文件描述符的事件源,需要自己检查是否准备就绪。", - "name": "event_source_check", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "event_source_t*", - "name": "source", - "desc": "event_source对象。" - } - ], - "annotation": {}, - "desc": "获取唤醒时间(ms)。", - "name": "event_source_get_wakeup_time", - "return": { - "type": "uint32_t", - "desc": "返回唤醒时间(ms)。" - } - } - ], - "events": [], - "properties": [], - "header": "tkc/event_source.h", - "desc": "表示一个事件源。 事件源有下列两种方式: * 对于有文件描述符的事件源(如socket),get_fd返回一个有效的文件描述符。 * 对于定时器,则get_wakeup_time返回下次唤醒的时间。", - "name": "event_source_t", - "parent": "object", - "level": 2 - }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "widget_t*", - "name": "parent", - "desc": "父控件" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度" - } - ], - "annotation": { - "constructor": true, - "scriptable": true - }, - "desc": "创建switch对象", - "name": "switch_create", - "return": { - "type": "widget_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "switch对象。" - }, - { - "type": "bool_t", - "name": "value", - "desc": "值" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置控件的值。", - "name": "switch_set_value", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "switch对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换switch对象(供脚本语言使用)。", - "name": "switch_cast", - "return": { - "type": "widget_t*", - "desc": "switch对象。" - } - } - ], - "events": [ - { - "name": "EVT_VALUE_WILL_CHANGE", - "desc": "值(开关状态)即将改变事件。", - "type": "event_t" - }, - { - "name": "EVT_VALUE_CHANGED", - "desc": "值(开关状态)改变事件。", - "type": "event_t" - } - ], - "properties": [ - { - "name": "value", - "desc": "值。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "max_xoffset_ratio", - "desc": "当开关处于关闭时,图片偏移相对于图片宽度的比例(缺省为1/3)。", - "type": "float_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - } - ], - "header": "switch/switch.h", - "desc": "开关控件。\r\r switch\\_t是[widget\\_t](widget_t.md)的子类控件,widget\\_t的函数均适用于switch\\_t控件。\r\r 在xml中使用\"switch\"标签创建开关控件。如:\r\r ```xml\r \r ```\r\r > 更多用法请参考:[switch.xml](\r https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/switch.xml)\r\r 在c代码中使用函数switch\\_create创建开关控件。如:\r\r ```c\r widget_t* sw = switch_create(win, 10, 10, 80, 30);\r widget_on(sw, EVT_VALUE_CHANGED, on_changed, NULL);\r ```\r\r > 完整示例请参考:[switch demo](\r https://github.com/zlgopen/awtk-c-demos/blob/master/demos/switch.c)\r\r 可用通过style来设置控件的显示风格,如背景图片等。如:\r\r ```xml\r \r ```\r\r > 更多用法请参考:[theme default](\r https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/styles/default.xml#L452)", - "name": "switch_t", - "parent": "widget_t", - "annotation": { - "scriptable": true, - "design": true, - "widget": true - }, - "level": 2 - }, { "type": "class", "methods": [ @@ -30056,8 +30891,8 @@ "constructor": true, "scriptable": true }, - "desc": "创建view对象", - "name": "view_create", + "desc": "创建switch对象", + "name": "switch_create", "return": { "type": "widget_t*", "desc": "对象。" @@ -30068,26 +30903,87 @@ { "type": "widget_t*", "name": "widget", - "desc": "view对象。" + "desc": "switch对象。" + }, + { + "type": "bool_t", + "name": "value", + "desc": "值" + } + ], + "annotation": { + "scriptable": true + }, + "desc": "设置控件的值。", + "name": "switch_set_value", + "return": { + "type": "ret_t", + "desc": "返回RET_OK表示成功,否则表示失败。" + } + }, + { + "params": [ + { + "type": "widget_t*", + "name": "widget", + "desc": "switch对象。" } ], "annotation": { "cast": true, "scriptable": true }, - "desc": "转换为view对象(供脚本语言使用)。", - "name": "view_cast", + "desc": "转换switch对象(供脚本语言使用)。", + "name": "switch_cast", "return": { "type": "widget_t*", - "desc": "view对象。" + "desc": "switch对象。" } } ], - "events": [], - "properties": [], - "header": "widgets/view.h", - "desc": "一个通用的容器控件。\r\r 它本身不提供布局功能,仅提供具有语义的标签,让xml更具有可读性。\r 子控件的布局可用layout\\_children属性指定。\r 请参考[布局参数](https://github.com/zlgopen/awtk/blob/master/docs/layout.md)。\r\r view\\_t是[widget\\_t](widget_t.md)的子类控件,widget\\_t的函数均适用于view\\_t控件。\r\r 在xml中使用\"view\"标签创建view。如:\r\r ```xml\r \r \r ```\r\r 可用通过style来设置控件的显示风格,如背景颜色等。如:\r\r ```xml\r \r ```", - "name": "view_t", + "events": [ + { + "name": "EVT_VALUE_WILL_CHANGE", + "desc": "值(开关状态)即将改变事件。", + "type": "event_t" + }, + { + "name": "EVT_VALUE_CHANGED", + "desc": "值(开关状态)改变事件。", + "type": "event_t" + } + ], + "properties": [ + { + "name": "value", + "desc": "值。", + "type": "bool_t", + "annotation": { + "set_prop": true, + "get_prop": true, + "readable": true, + "persitent": true, + "design": true, + "scriptable": true + } + }, + { + "name": "max_xoffset_ratio", + "desc": "当开关处于关闭时,图片偏移相对于图片宽度的比例(缺省为1/3)。", + "type": "float_t", + "annotation": { + "set_prop": true, + "get_prop": true, + "readable": true, + "persitent": true, + "design": true, + "scriptable": true + } + } + ], + "header": "switch/switch.h", + "desc": "开关控件。\r\r switch\\_t是[widget\\_t](widget_t.md)的子类控件,widget\\_t的函数均适用于switch\\_t控件。\r\r 在xml中使用\"switch\"标签创建开关控件。如:\r\r ```xml\r \r ```\r\r > 更多用法请参考:[switch.xml](\r https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/switch.xml)\r\r 在c代码中使用函数switch\\_create创建开关控件。如:\r\r ```c\r widget_t* sw = switch_create(win, 10, 10, 80, 30);\r widget_on(sw, EVT_VALUE_CHANGED, on_changed, NULL);\r ```\r\r > 完整示例请参考:[switch demo](\r https://github.com/zlgopen/awtk-c-demos/blob/master/demos/switch.c)\r\r 可用通过style来设置控件的显示风格,如背景图片等。如:\r\r ```xml\r \r ```\r\r > 更多用法请参考:[theme default](\r https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/styles/default.xml#L452)", + "name": "switch_t", "parent": "widget_t", "annotation": { "scriptable": true, @@ -31807,81 +32703,6 @@ }, "level": 2 }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "widget_t*", - "name": "parent", - "desc": "父控件" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度" - } - ], - "annotation": { - "constructor": true, - "scriptable": true - }, - "desc": "创建tab_control对象", - "name": "tab_control_create", - "return": { - "type": "widget_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "tab_control对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换tab_control对象(供脚本语言使用)。", - "name": "tab_control_cast", - "return": { - "type": "widget_t*", - "desc": "tab_control对象。" - } - } - ], - "events": [], - "properties": [], - "header": "widgets/tab_control.h", - "desc": "标签控件。\r\r 它本身不提供布局功能,仅提供具有语义的标签,让xml更具有可读性。\r\r 标签控件通常会包含一个pages控件和一个tab\\_button\\_group控件。\r\r ```graphviz\r [default_style]\r\r pages_t -> tab_control_t[arrowhead = \"ediamond\"]\r tab_button_group_t -> tab_control_t[arrowhead = \"ediamond\"]\r view_t ->pages_t[arrowhead = \"ediamond\"]\r tab_button_t -> tab_button_group_t[arrowhead = \"ediamond\"]\r ```\r\r tab\\_control\\_t是[widget\\_t](widget_t.md)的子类控件,\r widget\\_t的函数均适用于tab\\_control\\_t控件。\r\r 在xml中使用\"tab\\_control\"标签创建标签控件。如:\r\r ```xml\r \r \r ...\r \r \r ...\r \r \r ```\r\r > 更多用法请参考:\r [tab control](https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/)", - "name": "tab_control_t", - "parent": "widget_t", - "annotation": { - "scriptable": true, - "design": true, - "widget": true - }, - "level": 2 - }, { "type": "class", "methods": [ @@ -32214,349 +33035,6 @@ }, "level": 2 }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "widget_t*", - "name": "parent", - "desc": "父控件" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度" - } - ], - "annotation": { - "constructor": true, - "scriptable": true - }, - "desc": "创建tab_button对象", - "name": "tab_button_create", - "return": { - "type": "widget_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "tab_button对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换tab_button对象(供脚本语言使用)。", - "name": "tab_button_cast", - "return": { - "type": "widget_t*", - "desc": "tab_button对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "tab_button对象。" - }, - { - "type": "uint32_t", - "name": "value", - "desc": "是否为当前标签。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置为当前标签。", - "name": "tab_button_set_value", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "tab_button对象。" - }, - { - "type": "char*", - "name": "name", - "desc": "当前项的图标。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置控件的图标。", - "name": "tab_button_set_icon", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "tab_button对象。" - }, - { - "type": "char*", - "name": "name", - "desc": "当前项的图标。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置控件的active图标。", - "name": "tab_button_set_active_icon", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - } - ], - "events": [ - { - "name": "EVT_VALUE_WILL_CHANGE", - "desc": "值(激活状态)即将改变事件。", - "type": "event_t" - }, - { - "name": "EVT_VALUE_CHANGED", - "desc": "值(激活状态)改变事件。", - "type": "event_t" - } - ], - "properties": [ - { - "name": "value", - "desc": "值。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "active_icon", - "desc": "当前项的图标的名称。", - "type": "char*", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "icon", - "desc": "非当前项的图标的名称。", - "type": "char*", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - } - ], - "header": "widgets/tab_button.h", - "desc": "标签按钮控件。\r\r 标签按钮有点类似单选按钮,但点击标签按钮之后会自动切换当前的标签页。\r\r tab\\_button\\_t是[widget\\_t](widget_t.md)的子类控件,widget\\_t的函数均适用于tab\\_button\\_t控件。\r\r 在xml中使用\"tab\\_button\"标签创建标签按钮控件。如:\r\r ```xml\r \r \r \r \r \r ```\r\r 标签按钮一般放在标签按钮分组中,布局由标签按钮分组控件决定,不需要指定自己的布局参数和坐标。\r\r > 更多用法请参考:\r [tab control](https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/)\r\r 可用通过style来设置控件的显示风格,如字体的大小和颜色等等。如:\r\r ```xml\r \r \r \r ```", - "name": "tab_button_t", - "parent": "widget_t", - "annotation": { - "scriptable": true, - "design": true, - "widget": true - }, - "level": 2 - }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "widget_t*", - "name": "parent", - "desc": "父控件" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度" - } - ], - "annotation": { - "constructor": true, - "scriptable": true - }, - "desc": "创建tab_button_group对象", - "name": "tab_button_group_create", - "return": { - "type": "widget_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "bool_t", - "name": "compact", - "desc": "是否使用紧凑布局(缺省FALSE)。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置compact。", - "name": "tab_button_group_set_compact", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "bool_t", - "name": "scrollable", - "desc": "是否允许滚动(缺省FALSE)。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置scrollable。", - "name": "tab_button_group_set_scrollable", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "tab_button_group对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换tab_button_group对象(供脚本语言使用)。", - "name": "tab_button_group_cast", - "return": { - "type": "widget_t*", - "desc": "tab_button_group对象。" - } - } - ], - "events": [], - "properties": [ - { - "name": "compact", - "desc": "紧凑型排版子控件(缺省FALSE)。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "scrollable", - "desc": "是否支持滚动(缺省FALSE)。\r\r > 紧凑型排版子控件时才支持滚动。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - } - ], - "header": "widgets/tab_button_group.h", - "desc": "标签按钮分组控件。\r\r 一个简单的容器,主要用于对标签按钮进行布局和管理。\r\r tab\\_button\\_group\\_t是[widget\\_t](widget_t.md)的子类控件,\r widget\\_t的函数均适用于tab\\_button\\_group\\_t控件。\r\r 在xml中使用\"tab\\_button\\_group\"标签创建标签按钮分组控件。如:\r\r ```xml\r \r \r \r \r \r ```\r\r > 更多用法请参考:\r [tab control](https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/)\r\r 可用通过style来设置控件的显示风格,如颜色等等。如:\r\r ```xml\r \r \r \r ```", - "name": "tab_button_group_t", - "parent": "widget_t", - "annotation": { - "scriptable": true, - "design": true, - "widget": true - }, - "level": 2 - }, { "type": "class", "methods": [ @@ -33535,353 +34013,6 @@ }, "level": 2 }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "widget_t*", - "name": "parent", - "desc": "父控件" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度" - } - ], - "annotation": { - "constructor": true, - "scriptable": true - }, - "desc": "创建slider对象", - "name": "slider_create", - "return": { - "type": "widget_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "slider对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换为slider对象(供脚本语言使用)。", - "name": "slider_cast", - "return": { - "type": "widget_t*", - "desc": "slider对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "double", - "name": "value", - "desc": "值" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置滑块的值。", - "name": "slider_set_value", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "double", - "name": "min", - "desc": "最小值" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置滑块的最小值。", - "name": "slider_set_min", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "double", - "name": "max", - "desc": "最大值" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置滑块的最大值。", - "name": "slider_set_max", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "double", - "name": "step", - "desc": "拖动的最小单位。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置滑块的拖动的最小单位。", - "name": "slider_set_step", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "uint32_t", - "name": "bar_size", - "desc": "bar的宽度或高度。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置bar的宽度或高度。", - "name": "slider_set_bar_size", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "控件对象。" - }, - { - "type": "bool_t", - "name": "vertical", - "desc": "是否为垂直方向。" - } - ], - "annotation": { - "scriptable": true - }, - "desc": "设置滑块的方向。", - "name": "slider_set_vertical", - "return": { - "type": "ret_t", - "desc": "返回RET_OK表示成功,否则表示失败。" - } - } - ], - "events": [ - { - "name": "EVT_VALUE_WILL_CHANGE", - "desc": "值即将改变事件。", - "type": "event_t" - }, - { - "name": "EVT_VALUE_CHANGING", - "desc": "值正在改变事件(拖动中)。", - "type": "event_t" - }, - { - "name": "EVT_VALUE_CHANGED", - "desc": "值改变事件。", - "type": "event_t" - } - ], - "properties": [ - { - "name": "value", - "desc": "值。", - "type": "double", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "min", - "desc": "最小值。", - "type": "double", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "max", - "desc": "最大值。", - "type": "double", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "step", - "desc": "拖动的最小单位。", - "type": "double", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "vertical", - "desc": "滑块的是否为垂直方向。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "bar_size", - "desc": "轴的宽度或高度(单位:像素),为0表示为控件的宽度或高度的一半,缺省为0。", - "type": "uint32_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "dragger_size", - "desc": "滑块的宽度或高度(单位:像素),缺省为10。", - "type": "uint32_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "dragger_adapt_to_icon", - "desc": "滑块的宽度或高度是否与icon适应,缺省为true。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - }, - { - "name": "slide_with_bar", - "desc": "是否允许在轴上滑动来改变滑块位置,缺省为FALSE。", - "type": "bool_t", - "annotation": { - "set_prop": true, - "get_prop": true, - "readable": true, - "persitent": true, - "design": true, - "scriptable": true - } - } - ], - "header": "widgets/slider.h", - "desc": "滑块控件。\r\r slider\\_t是[widget\\_t](widget_t.md)的子类控件,widget\\_t的函数均适用于slider\\_t控件。\r\r 在xml中使用\"slider\"标签创建滑块控件。如:\r\r ```xml\r \r \r \r ```\r\r > 更多用法请参考:\r [basic](https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/basic.xml)\r\r 在c代码中使用函数slider\\_create创建滑块控件。如:\r\r ```c\r widget_t* slider = slider_create(win, 10, 10, 200, 30);\r widget_on(slider, EVT_VALUE_CHANGED, on_changed, NULL);\r widget_on(slider, EVT_VALUE_CHANGING, on_changing, NULL);\r ```\r\r > 完整示例请参考:\r [slider demo](https://github.com/zlgopen/awtk-c-demos/blob/master/demos/slider.c)\r\r 可用通过style来设置控件的显示风格,如图片和颜色等等。如:\r\r ```xml\r \r ```\r\r > 更多用法请参考:\r [theme\r default](https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/styles/default.xml#L179)", - "name": "slider_t", - "parent": "widget_t", - "annotation": { - "scriptable": true, - "design": true, - "widget": true - }, - "level": 2 - }, { "type": "class", "methods": [ @@ -34235,1440 +34366,6 @@ }, "level": 2 }, - { - "type": "class", - "methods": [ - { - "params": [ - { - "type": "widget_t*", - "name": "parent", - "desc": "父控件" - }, - { - "type": "xy_t", - "name": "x", - "desc": "x坐标" - }, - { - "type": "xy_t", - "name": "y", - "desc": "y坐标" - }, - { - "type": "wh_t", - "name": "w", - "desc": "宽度" - }, - { - "type": "wh_t", - "name": "h", - "desc": "高度" - } - ], - "annotation": { - "constructor": true, - "scriptable": true - }, - "desc": "创建row对象", - "name": "row_create", - "return": { - "type": "widget_t*", - "desc": "对象。" - } - }, - { - "params": [ - { - "type": "widget_t*", - "name": "widget", - "desc": "row对象。" - } - ], - "annotation": { - "cast": true, - "scriptable": true - }, - "desc": "转换为row对象(供脚本语言使用)。", - "name": "row_cast", - "return": { - "type": "widget_t*", - "desc": "row对象。" - } - } - ], - "events": [], - "properties": [], - "header": "widgets/row.h", - "desc": "row。一个简单的容器控件,用于水平排列其子控件。\r\r 它本身不提供布局功能,仅提供具有语义的标签,让xml更具有可读性。\r 子控件的布局可用layout\\_children属性指定。\r 请参考[布局参数](https://github.com/zlgopen/awtk/blob/master/docs/layout.md)。\r\r row\\_t是[widget\\_t](widget_t.md)的子类控件,widget\\_t的函数均适用于row\\_t控件。\r\r 在xml中使用\"row\"标签创建row。如:\r\r ```xml\r \r