update docs

This commit is contained in:
xianjimli 2019-01-02 15:29:25 +08:00
parent ef4eb73ec4
commit 6c9b0970fe
27 changed files with 1839 additions and 1161 deletions

View File

@ -1,4 +1,8 @@
# 最新动态
* 2019/01/02
* 整理API文档input\_method/input\_method\_default/input\_method\_sdl/input\_method\_null
* 整理API文档input\_engine/input\_engine\_pinyin/input\_engine\_null
* 2018/12/31
* 整理API文档ui\_loader/ui\_builder/ui\_xml\_writer/ui\_binary\_writer/ui\_builder\_default

View File

@ -0,0 +1,24 @@
digraph UML {
rankdir = BT
fontname = "Courier New"
fontsize = 10
node [ fontname = "Courier New", fontsize = 10, shape = "record" ];
edge [ fontname = "Courier New", fontsize = 10 ];
input_method_t -> edit_t [arrowhead=none]
subgraph cluster_1 {
input_method_t -> input_engine_t [constraint=false arrowhead=vee style=dashed]
}
input_method_default_t -> input_method_t [arrowhead=empty style=dashed]
input_method_sdl_t -> input_method_t [arrowhead=empty style=dashed]
input_method_null_t -> input_method_t [arrowhead=empty style=dashed]
input_engine_pinyin_t -> input_engine_t[arrowhead=empty style=dashed]
input_engine_null_t -> input_engine_t[arrowhead=empty style=dashed]
keyboard_t ->input_method_default_t [arrowhead=none]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -109,6 +109,17 @@
### 输入法
![input\_method\_overview](images/input_method_overview.png)
* [input\_method](manual/input_method_t.md) 输入法接口。
* [input\_method\_default](manual/input_method_default_t.md) 输入法缺省实现。
* [input\_method\_sdl](manual/input_method_sdl_t.md) 输入法SDL实现。
* [input\_method\_null](manual/input_method_null_t.md) 输入法空实现。
* [input\_engine](manual/input_engine_t.md) 输入法引擎接口。
* [input\_engine\_null](manual/input_engine_null_t.md) 空输入法引擎实现。
* [input\_engine\_pinyin](manual/input_engine_pinyin_t.md) 拼音输入法引擎实现。
### 控件动画
### 窗口动画

View File

@ -4,25 +4,6 @@
输入法请求显示候选字的事件。
### 函数
<p id="im_candidates_event_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#im_candidates_event_t_input_method">input\_method</a> | 获取全局输入法对象。 |
| <a href="#im_candidates_event_t_input_method_commit_text">input\_method\_commit\_text</a> | 提交输入文本。 |
| <a href="#im_candidates_event_t_input_method_create">input\_method\_create</a> | 创建输入法对象。在具体实现中实现。 |
| <a href="#im_candidates_event_t_input_method_destroy">input\_method\_destroy</a> | 销毁输入法对象。在具体实现中实现。 |
| <a href="#im_candidates_event_t_input_method_dispatch">input\_method\_dispatch</a> | 分发一个事件。 |
| <a href="#im_candidates_event_t_input_method_dispatch_action">input\_method\_dispatch\_action</a> | 软键盘上的action按钮被点击时调用本函数分发EVT_IM_ACTION事件。 |
| <a href="#im_candidates_event_t_input_method_dispatch_candidates">input\_method\_dispatch\_candidates</a> | 请求显示候选字。 |
| <a href="#im_candidates_event_t_input_method_dispatch_key">input\_method\_dispatch\_key</a> | 提交按键。 |
| <a href="#im_candidates_event_t_input_method_dispatch_to_widget">input\_method\_dispatch\_to\_widget</a> | 分发一个事件当前焦点控件。 |
| <a href="#im_candidates_event_t_input_method_off">input\_method\_off</a> | 注销指定事件的处理函数。 |
| <a href="#im_candidates_event_t_input_method_on">input\_method\_on</a> | 注册指定事件的处理函数。 |
| <a href="#im_candidates_event_t_input_method_request">input\_method\_request</a> | 打开或关闭输入法。 |
| <a href="#im_candidates_event_t_input_method_set">input\_method\_set</a> | 设置全局输入法对象。 |
| <a href="#im_candidates_event_t_input_method_update_action_button_info">input\_method\_update\_action\_button\_info</a> | 设置软键盘上的action按钮的信息。 |
### 属性
<p id="im_candidates_event_t_properties">
@ -30,325 +11,6 @@
| -------- | ----- | ------------ |
| <a href="#im_candidates_event_t_candidates">candidates</a> | char* | 可选的文本,多个文本以\0分隔。如里\0李\0力\0离\0 |
| <a href="#im_candidates_event_t_candidates_nr">candidates\_nr</a> | uint32\_t | 可选的文本的个数。 |
#### input\_method 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method"> 获取全局输入法对象。
* 函数原型:
```
input_method_t* input_method ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 成功返回输入法对象失败返回NULL。 |
#### input\_method\_commit\_text 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_commit_text"> 提交输入文本。
* 函数原型:
```
ret_t input_method_commit_text (input_method_t* im, char* text);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| text | char* | 文本。 |
#### input\_method\_create 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_create"> 创建输入法对象。在具体实现中实现。
* 函数原型:
```
input_method_t* input_method_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 成功返回输入法对象失败返回NULL。 |
#### input\_method\_destroy 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_destroy"> 销毁输入法对象。在具体实现中实现。
* 函数原型:
```
ret_t input_method_destroy (input_method_t* im);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
#### input\_method\_dispatch 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_dispatch"> 分发一个事件。
* 函数原型:
```
ret_t input_method_dispatch (input_method_t* im, event_t* e);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 控件对象。 |
| e | event\_t* | 事件。 |
#### input\_method\_dispatch\_action 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_dispatch_action"> 软键盘上的action按钮被点击时调用本函数分发EVT_IM_ACTION事件。
* 函数原型:
```
ret_t input_method_dispatch_action (input_method_t* im);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
#### input\_method\_dispatch\_candidates 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_dispatch_candidates"> 请求显示候选字。
* 函数原型:
```
ret_t input_method_dispatch_candidates (input_method_t* im, char* strs, uint32_t nr);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| strs | char* | 候选字列表。 |
| nr | uint32\_t | 候选字个数。 |
#### input\_method\_dispatch\_key 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_dispatch_key"> 提交按键。
* 函数原型:
```
ret_t input_method_dispatch_key (input_method_t* im, uint32_t key);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| key | uint32\_t | 键值。 |
#### input\_method\_dispatch\_to\_widget 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_dispatch_to_widget"> 分发一个事件当前焦点控件。
* 函数原型:
```
ret_t input_method_dispatch_to_widget (input_method_t* im, event_t* e);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 控件对象。 |
| e | event\_t* | 事件。 |
#### input\_method\_off 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_off"> 注销指定事件的处理函数。
* 函数原型:
```
ret_t input_method_off (input_method_t* im, uint32_t id);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| id | uint32\_t | input\_method\_on返回的ID。 |
#### input\_method\_on 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_on"> 注册指定事件的处理函数。
* 函数原型:
```
uint32_t input_method_on (input_method_t* im, event_type_t type, event_func_t on_event, void* ctx);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint32\_t | 返回id用于input\_method\_off。 |
| im | input\_method\_t* | 输入法对象。 |
| type | event\_type\_t | 事件类型。 |
| on\_event | event\_func\_t | 事件处理函数。 |
| ctx | void* | 事件处理函数上下文。 |
#### input\_method\_request 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_request"> 打开或关闭输入法。
* 函数原型:
```
ret_t input_method_request (input_method_t* im, widget_t* widget);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| widget | widget\_t* | 焦点控件为NULL时关闭输入法非NULL时打开输入法。 |
#### input\_method\_set 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_set"> 设置全局输入法对象。
* 函数原型:
```
ret_t input_method_set (input_method_t* im);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
#### input\_method\_update\_action\_button\_info 函数
-----------------------
* 函数功能:
> <p id="im_candidates_event_t_input_method_update_action_button_info"> 设置软键盘上的action按钮的信息。
* 函数原型:
```
ret_t input_method_update_action_button_info (input_method_t* im, char* text, bool_t enable);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| text | char* | 按钮的文本。 |
| enable | bool\_t | 按钮的是否可用。 |
#### candidates 属性
-----------------------
> <p id="im_candidates_event_t_candidates"> 可选的文本,多个文本以\0分隔。如里\0李\0力\0离\0

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,38 @@
## input\_engine\_null\_t
### 概述
![image](images/input_engine_null_t_0.png)
空输入法引擎实现。
### 函数
<p id="input_engine_null_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_engine_null_t_input_engine_create">input\_engine\_create</a> | |
#### input\_engine\_create 函数
-----------------------
* 函数功能:
> <p id="input_engine_null_t_input_engine_create">
创建空输入法引擎对象。
* 函数原型:
```
input_engine_t* input_engine_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_engine\_t* | 返回输入法引擎对象。 |

View File

@ -0,0 +1,38 @@
## input\_engine\_pinyin\_t
### 概述
![image](images/input_engine_pinyin_t_0.png)
拼音输入法引擎实现。
### 函数
<p id="input_engine_pinyin_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_engine_pinyin_t_input_engine_create">input\_engine\_create</a> | |
#### input\_engine\_create 函数
-----------------------
* 函数功能:
> <p id="input_engine_pinyin_t_input_engine_create">
创建拼音输入法引擎对象。
* 函数原型:
```
input_engine_t* input_engine_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_engine\_t* | 返回输入法引擎对象。 |

View File

@ -2,13 +2,22 @@
### 概述
输入法引擎接口。
常见的实现方式有以下几种:
* 空实现。用于不需要输入法的嵌入式平台。
* 拼音输入法实现。用于需要输入法的嵌入式平台。
![image](images/input_engine_t_0.png)
### 函数
<p id="input_engine_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_engine_t_input_engine_create">input\_engine\_create</a> | 创建输入法引擎对象。 |
| <a href="#input_engine_t_input_engine_destroy">input\_engine\_destroy</a> | @deconstructor |
| <a href="#input_engine_t_input_engine_destroy">input\_engine\_destroy</a> | 销毁输入法引擎对象。 |
| <a href="#input_engine_t_input_engine_input">input\_engine\_input</a> | 输入新的按键,并更新候选字。 |
| <a href="#input_engine_t_input_engine_reset_input">input\_engine\_reset\_input</a> | 清除所有输入的按键组合和候选字。 |
### 属性
@ -42,8 +51,7 @@ input_engine_t* input_engine_create ();
* 函数功能:
> <p id="input_engine_t_input_engine_destroy"> @deconstructor
销毁输入法引擎对象。
> <p id="input_engine_t_input_engine_destroy"> 销毁输入法引擎对象。

View File

@ -0,0 +1,38 @@
## input\_method\_default\_t
### 概述
![image](images/input_method_default_t_0.png)
缺省输入法实现。
### 函数
<p id="input_method_default_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_method_default_t_input_method_default_create">input\_method\_default\_create</a> | |
#### input\_method\_default\_create 函数
-----------------------
* 函数功能:
> <p id="input_method_default_t_input_method_default_create">
创建缺省输入法对象。
* 函数原型:
```
input_method_t* input_method_default_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 返回输入法对象。 |

View File

@ -0,0 +1,38 @@
## input\_method\_null\_t
### 概述
![image](images/input_method_null_t_0.png)
空输入法实现。
### 函数
<p id="input_method_null_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_method_null_t_input_method_null_create">input\_method\_null\_create</a> | |
#### input\_method\_null\_create 函数
-----------------------
* 函数功能:
> <p id="input_method_null_t_input_method_null_create">
创建空输入法对象。
* 函数原型:
```
input_method_t* input_method_null_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 返回输入法对象。 |

View File

@ -0,0 +1,38 @@
## input\_method\_sdl\_t
### 概述
![image](images/input_method_sdl_t_0.png)
SDL输入法实现。
### 函数
<p id="input_method_sdl_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_method_sdl_t_input_method_sdl_create">input\_method\_sdl\_create</a> | |
#### input\_method\_sdl\_create 函数
-----------------------
* 函数功能:
> <p id="input_method_sdl_t_input_method_sdl_create">
创建SDL输入法对象。
* 函数原型:
```
input_method_t* input_method_sdl_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 返回输入法对象。 |

View File

@ -2,6 +2,36 @@
### 概述
输入法接口。
常见的实现方式有以下几种:
* 空实现。用于不需要输入法的嵌入式平台。
* 缺省实现。用于需要输入法的嵌入式平台。
* 基于SDL实现的平台原生输入法。用于桌面系统和手机系统。
![image](images/input_method_t_0.png)
### 函数
<p id="input_method_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#input_method_t_input_method">input\_method</a> | 获取全局输入法对象。 |
| <a href="#input_method_t_input_method_commit_text">input\_method\_commit\_text</a> | 提交输入文本。 |
| <a href="#input_method_t_input_method_create">input\_method\_create</a> | 创建输入法对象。在具体实现中实现。 |
| <a href="#input_method_t_input_method_destroy">input\_method\_destroy</a> | 销毁输入法对象。在具体实现中实现。 |
| <a href="#input_method_t_input_method_dispatch">input\_method\_dispatch</a> | 分发一个事件。 |
| <a href="#input_method_t_input_method_dispatch_action">input\_method\_dispatch\_action</a> | 软键盘上的action按钮被点击时调用本函数分发EVT_IM_ACTION事件。 |
| <a href="#input_method_t_input_method_dispatch_candidates">input\_method\_dispatch\_candidates</a> | 请求显示候选字。 |
| <a href="#input_method_t_input_method_dispatch_key">input\_method\_dispatch\_key</a> | 提交按键。 |
| <a href="#input_method_t_input_method_dispatch_to_widget">input\_method\_dispatch\_to\_widget</a> | 分发一个事件当前焦点控件。 |
| <a href="#input_method_t_input_method_off">input\_method\_off</a> | 注销指定事件的处理函数。 |
| <a href="#input_method_t_input_method_on">input\_method\_on</a> | 注册指定事件的处理函数。 |
| <a href="#input_method_t_input_method_request">input\_method\_request</a> | 打开或关闭输入法。 |
| <a href="#input_method_t_input_method_set">input\_method\_set</a> | 设置全局输入法对象。 |
| <a href="#input_method_t_input_method_update_action_button_info">input\_method\_update\_action\_button\_info</a> | 设置软键盘上的action按钮的信息。 |
### 属性
<p id="input_method_t_properties">
@ -10,6 +40,325 @@
| <a href="#input_method_t_action_button_enable">action\_button\_enable</a> | bool\_t | 软键盘的上的action按钮是否可用。 |
| <a href="#input_method_t_action_button_enable">action\_button\_enable</a> | bool\_t | 软键盘的上的action按钮文本。 |
| <a href="#input_method_t_input_type">input\_type</a> | input\_type\_t | 当前输入的类型。 |
#### input\_method 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method"> 获取全局输入法对象。
* 函数原型:
```
input_method_t* input_method ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 成功返回输入法对象失败返回NULL。 |
#### input\_method\_commit\_text 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_commit_text"> 提交输入文本。
* 函数原型:
```
ret_t input_method_commit_text (input_method_t* im, char* text);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| text | char* | 文本。 |
#### input\_method\_create 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_create"> 创建输入法对象。在具体实现中实现。
* 函数原型:
```
input_method_t* input_method_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | input\_method\_t* | 成功返回输入法对象失败返回NULL。 |
#### input\_method\_destroy 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_destroy"> 销毁输入法对象。在具体实现中实现。
* 函数原型:
```
ret_t input_method_destroy (input_method_t* im);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
#### input\_method\_dispatch 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_dispatch"> 分发一个事件。
* 函数原型:
```
ret_t input_method_dispatch (input_method_t* im, event_t* e);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 控件对象。 |
| e | event\_t* | 事件。 |
#### input\_method\_dispatch\_action 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_dispatch_action"> 软键盘上的action按钮被点击时调用本函数分发EVT_IM_ACTION事件。
* 函数原型:
```
ret_t input_method_dispatch_action (input_method_t* im);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
#### input\_method\_dispatch\_candidates 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_dispatch_candidates"> 请求显示候选字。
* 函数原型:
```
ret_t input_method_dispatch_candidates (input_method_t* im, char* strs, uint32_t nr);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| strs | char* | 候选字列表。 |
| nr | uint32\_t | 候选字个数。 |
#### input\_method\_dispatch\_key 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_dispatch_key"> 提交按键。
* 函数原型:
```
ret_t input_method_dispatch_key (input_method_t* im, uint32_t key);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| key | uint32\_t | 键值。 |
#### input\_method\_dispatch\_to\_widget 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_dispatch_to_widget"> 分发一个事件当前焦点控件。
* 函数原型:
```
ret_t input_method_dispatch_to_widget (input_method_t* im, event_t* e);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 控件对象。 |
| e | event\_t* | 事件。 |
#### input\_method\_off 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_off"> 注销指定事件的处理函数。
* 函数原型:
```
ret_t input_method_off (input_method_t* im, uint32_t id);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| id | uint32\_t | input\_method\_on返回的ID。 |
#### input\_method\_on 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_on"> 注册指定事件的处理函数。
* 函数原型:
```
uint32_t input_method_on (input_method_t* im, event_type_t type, event_func_t on_event, void* ctx);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint32\_t | 返回id用于input\_method\_off。 |
| im | input\_method\_t* | 输入法对象。 |
| type | event\_type\_t | 事件类型。 |
| on\_event | event\_func\_t | 事件处理函数。 |
| ctx | void* | 事件处理函数上下文。 |
#### input\_method\_request 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_request"> 打开或关闭输入法。
* 函数原型:
```
ret_t input_method_request (input_method_t* im, widget_t* widget);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| widget | widget\_t* | 焦点控件为NULL时关闭输入法非NULL时打开输入法。 |
#### input\_method\_set 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_set"> 设置全局输入法对象。
* 函数原型:
```
ret_t input_method_set (input_method_t* im);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
#### input\_method\_update\_action\_button\_info 函数
-----------------------
* 函数功能:
> <p id="input_method_t_input_method_update_action_button_info"> 设置软键盘上的action按钮的信息。
* 函数原型:
```
ret_t input_method_update_action_button_info (input_method_t* im, char* text, bool_t enable);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| im | input\_method\_t* | 输入法对象。 |
| text | char* | 按钮的文本。 |
| enable | bool\_t | 按钮的是否可用。 |
#### action\_button\_enable 属性
-----------------------
> <p id="input_method_t_action_button_enable"> 软键盘的上的action按钮是否可用。

View File

@ -38,6 +38,20 @@ typedef ret_t (*input_engine_input_t)(input_engine_t* engine, int key);
/**
* @class input_engine_t
*
*
*
*
* *
*
* *
*
* ```graphviz
* [default_style]
*
* input_engine_pinyin_t -> input_engine_t[arrowhead=empty style=dashed]
* input_engine_null_t -> input_engine_t[arrowhead=empty style=dashed]
*
* ```
*/
struct _input_engine_t {
/**
@ -75,7 +89,7 @@ input_engine_t* input_engine_create(void);
/**
* @method input_engine_destroy
* @deconstructor
* @annotation ["deconstructor"]
*
* @param {input_engine_t*} engine
*

View File

@ -88,9 +88,84 @@ typedef enum _input_type_t {
INPUT_PHONE
} input_type_t;
/**
* @class im_commit_event_t
* @parent event_t
*
*/
typedef struct _im_commit_event_t {
event_t e;
/**
* @property {char*} text
* @annotation ["readable"]
*
*/
const char* text;
} im_commit_event_t;
/**
* @class im_action_button_info_event_t
* @parent event_t
* action按钮的信息事件
*/
typedef struct _im_action_button_info_event_t {
event_t e;
/**
* @property {char*} text
* @annotation ["readable"]
* action按钮显示的文本
*/
const char* text;
/**
* @property {bool_t} enable
* @annotation ["readable"]
* action按钮启用
*/
bool_t enable;
} im_action_button_info_event_t;
/**
* @class im_candidates_event_t
* @parent event_t
*
*/
typedef struct _im_candidates_event_t {
event_t e;
/**
* @property {char*} candidates
* @annotation ["readable"]
* \0\0\0\0\0
*/
const char* candidates;
/**
* @property {uint32_t} candidates_nr
* @annotation ["readable"]
*
*/
uint32_t candidates_nr;
} im_candidates_event_t;
/**
* @class input_method_t
*
*
*
*
* *
*
* *
*
* * SDL实现的平台原生输入法
*
* ```graphviz
* [default_style]
*
* input_method_default_t -> input_method_t [arrowhead=empty style=dashed]
* input_method_sdl_t -> input_method_t [arrowhead=empty style=dashed]
* input_method_null_t -> input_method_t [arrowhead=empty style=dashed]
*
* ```
*/
struct _input_method_t {
/**
@ -158,64 +233,6 @@ struct _input_method_t {
input_method_destroy_t destroy;
};
/**
* @class im_commit_event_t
* @parent event_t
*
*/
typedef struct _im_commit_event_t {
event_t e;
/**
* @property {char*} text
* @annotation ["readable"]
*
*/
const char* text;
} im_commit_event_t;
/**
* @class im_action_button_info_event_t
* @parent event_t
* action按钮的信息事件
*/
typedef struct _im_action_button_info_event_t {
event_t e;
/**
* @property {char*} text
* @annotation ["readable"]
* action按钮显示的文本
*/
const char* text;
/**
* @property {bool_t} enable
* @annotation ["readable"]
* action按钮启用
*/
bool_t enable;
} im_action_button_info_event_t;
/**
* @class im_candidates_event_t
* @parent event_t
*
*/
typedef struct _im_candidates_event_t {
event_t e;
/**
* @property {char*} candidates
* @annotation ["readable"]
* \0\0\0\0\0
*/
const char* candidates;
/**
* @property {uint32_t} candidates_nr
* @annotation ["readable"]
*
*/
uint32_t candidates_nr;
} im_candidates_event_t;
/**
* @method input_method_dispatch
*

View File

@ -0,0 +1,52 @@
/**
* File: input_engine_null.h
* Author: AWTK Develop Team
* Brief: input_engine_null
*
* Copyright (c) 2019 - 2019 Guangzhou ZHIYUAN Electronics Co.,Ltd.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* License file for more details.
*
*/
/**
* History:
* ================================================================
* 2019-01-02 Li XianJing <xianjimli@hotmail.com> created
*
*/
#ifndef TK_INPUT_ENGINE_NULL_H
#define TK_INPUT_ENGINE_NULL_H
#include "base/input_engine.h"
BEGIN_C_DECLS
/**
* @class input_engine_null_t
* @parent input_engine_t
*
*
*
* @annotation["fake"]
*
*/
/**
* @method input_engine_create
* @annotation ["constructor"]
*
*
*
* @return {input_engine_t*}
*
*/
input_engine_t* input_engine_create(void);
END_C_DECLS
#endif /*TK_INPUT_ENGINE_NULL_H*/

View File

@ -0,0 +1,52 @@
/**
* File: input_engine_pinyin.h
* Author: AWTK Develop Team
* Brief: input_engine_pinyin
*
* Copyright (c) 2019 - 2019 Guangzhou ZHIYUAN Electronics Co.,Ltd.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* License file for more details.
*
*/
/**
* History:
* ================================================================
* 2019-01-02 Li XianJing <xianjimli@hotmail.com> created
*
*/
#ifndef TK_INPUT_ENGINE_PINYIN_H
#define TK_INPUT_ENGINE_PINYIN_H
#include "base/input_engine.h"
BEGIN_C_DECLS
/**
* @class input_engine_pinyin_t
* @parent input_engine_t
*
*
*
* @annotation["fake"]
*
*/
/**
* @method input_engine_create
* @annotation ["constructor"]
*
*
*
* @return {input_engine_t*}
*
*/
input_engine_t* input_engine_create(void);
END_C_DECLS
#endif /*TK_INPUT_ENGINE_PINYIN_H*/

View File

@ -0,0 +1,53 @@
/**
* File: input_method_default.h
* Author: AWTK Develop Team
* Brief: input_method_default
*
* Copyright (c) 2019 - 2019 Guangzhou ZHIYUAN Electronics Co.,Ltd.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* License file for more details.
*
*/
/**
* History:
* ================================================================
* 2019-01-02 Li XianJing <xianjimli@hotmail.com> created
*
*/
#ifndef TK_INPUT_METHOD_DEFAULT_H
#define TK_INPUT_METHOD_DEFAULT_H
#include "base/input_method.h"
BEGIN_C_DECLS
/**
* @class input_method_default_t
* @parent input_method_t
*
*
*
* @annotation["fake"]
*
*/
/**
* @method input_method_default_create
* @annotation ["constructor"]
*
*
*
* @return {input_method_t*}
*
*/
input_method_t* input_method_default_create(void);
END_C_DECLS
#endif /*TK_INPUT_METHOD_DEFAULT_H*/

View File

@ -0,0 +1,52 @@
/**
* File: input_method_null.h
* Author: AWTK Develop Team
* Brief: input_method_null
*
* Copyright (c) 2019 - 2019 Guangzhou ZHIYUAN Electronics Co.,Ltd.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* License file for more details.
*
*/
/**
* History:
* ================================================================
* 2019-01-02 Li XianJing <xianjimli@hotmail.com> created
*
*/
#ifndef TK_INPUT_METHOD_NULL_H
#define TK_INPUT_METHOD_NULL_H
#include "base/input_method.h"
BEGIN_C_DECLS
/**
* @class input_method_null_t
* @parent input_method_t
*
*
*
* @annotation["fake"]
*
*/
/**
* @method input_method_null_create
* @annotation ["constructor"]
*
*
*
* @return {input_method_t*}
*
*/
input_method_t* input_method_null_create(void);
END_C_DECLS
#endif /*TK_INPUT_METHOD_NULL_H*/

View File

@ -0,0 +1,53 @@
/**
* File: input_method_sdl.h
* Author: AWTK Develop Team
* Brief: input_method_sdl
*
* Copyright (c) 2019 - 2019 Guangzhou ZHIYUAN Electronics Co.,Ltd.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* License file for more details.
*
*/
/**
* History:
* ================================================================
* 2019-02-14 Li XianJing <xianjimli@hotmail.com> created
*
*/
#ifndef TK_INPUT_METHOD_SDL_H
#define TK_INPUT_METHOD_SDL_H
#include "base/input_method.h"
BEGIN_C_DECLS
/**
* @class input_method_sdl_t
* @parent input_method_t
*
* SDL输入法实现
*
* @annotation["fake"]
*
*/
/**
* @method input_method_sdl_create
* @annotation ["constructor"]
*
* SDL输入法对象
*
* @return {input_method_t*}
*
*/
input_method_t* input_method_sdl_create(void);
END_C_DECLS
#endif /*TK_INPUT_METHOD_SDL_H*/

File diff suppressed because it is too large Load Diff