C/C++接口

2020-08-21 19:04:15
文子
294
最后编辑:aliang 于 2020-08-21 19:07:34

多文输入法引擎API参考文档

int DWIME3rd_Open(enum SPLanguage lang, enum KeyBoardType kbType, enum InputMode im, void * data);                    

初始化输入法

 参数:

              lang        语言,进入查看splime.h 类型定义

              kbType    键盘类型,进入查看splime.h 类型定义

              im          输入模式,进入查看splime.h 类型定义

              data        词库数据

 返回: 成功返回0

int DWIME3rd_OpenPY(enum KeyBoardType kbType);

初始化当前输入模式为拼音使用内置数据,只需要指定键盘类型即可。

int DWIME3rd_OpenPY26();

上面函数的封装,直接初始化为全键盘拼音

int DWIME3rd_OpenPY9();

上面函数的封装,直接初始化为九宫拼音

拼音初始化调用这个就不需要用DWIME3rd_Open;

参数:

       kbType           键盘类型,进入查看splime.h 类型定义

返回: 成功返回0

int DWIME3rd_OpenSK();

初始化为T9笔画,内置数据库的情况下使用;不再需要用DWIME3rd_Open;

返回:成功返回0

int DWIME3rd_OpenWB();             

初始化为五笔字形,内置数据库的情况下使用;不再需要用DWIME3rd_Open;

返回:成功返回0

int DWIME3rd_OpenZY();       

初始化为台湾注音,内置数据库的情况下使用;不再需要用DWIME3rd_Open;

返回:成功返回0

int DWIME3rd_OpenKO();             

韩语初始化调用这个就不需要用DWIME3rd_Open;

返回:成功返回0

int DWIME3rd_OpenJP();       

日语初始化调用这个就不需要用DWIME3rd_Open;

返回: 成功返回0

int DWIME3rd_Close();

关闭输入法,输入法应用结束的时候调用,释放内存。

 参数:

 返回: 成功返回0

int DWIME3rd_Reset();

重置输入法,当用户点击“重输”或者“清除候选”时调用,用来清除输入状态,不改变输入模式。

 参数:

 返回: 成功返回0

int DWIME3rd_KeyPress(enum SplKey key);

传一个按键进入引擎内,如a~z1~9,回车,退格等,也可以是一些特殊功能键一般不会用到。

 参数:

              key        键值,进入查看splime.h 类型定义

 返回: 成功返回0

int DWIME3rd_HasInput();

查询当前是否有按键输入到引擎里

 参数:

 返回: 1,无0

int DWIME3rd_IsAsseMode();

 查询当前是不是联想状态,即用户点了候选后出来的那些候选内容。

 参数:

 返回: 1,否0

int DWIME3rd_ResultCount();

 查询当前候选结果的数量,这里的数量是粗略的,一般只需要显示前100~200个候选即可。当需要大量显示候选时不需要结合DWIME3rd_ResultString的返回值判断是否到最后一个。

 参数:无

 返回:返回数量

int DWIME3rd_SelectResult(int index);

反馈一个索引给引擎,告诉引擎用户选择了第几个候选结果,这个动作会触发联想或造词功能,开发者不需要特殊理会,但这个动作非常重要。

 参数:

              index             候选结果索引

 返回: 成功1,失败0

int DWIME3rd_IsCanCommit();

 查询是否有结果要输出,如果是五笔字型输入法里打开“满四码自动输出”这个功能,开发者就需要每次KeyPress后都要判断一下是不是有结果输出。拼音模式下只有当用户选择了候选(即调用SelectResult)才会触发。

 参数:

 返回: 1,无0

int DWIME3rd_CommitString(LDChar * pOutStr, int bufferLen);

 获取要输出的字符串,开发者需要把这里的字符串输入到文本框中。

 参数:

              pOutStr          输出候选字符串

              bufferLen       pOutStr数组长度

 返回: 返回字符串的长度

int DWIME3rd_ResultString(int index, LDChar * pOutStr, int bufferLen);

从引擎里获取一个候选结果字符串,当需要显示候选的时候调用。

 参数:

              index             候选结果索引

              pOutStr          输出候选字符串

              bufferLen       pOutStr数组长度

 

返回: 返回字符串的长度,当返回 0 时说明已经没有更多结果了,这时应该停止继续读取。

int DWIME3rd_InputString(LDChar * pOutStr, int bufferLen);

获取当前的输入内容

 参数:

              pOutStr          输出候选字符串

              bufferLen       pOutStr数组长度

 返回: 返回字符串的长度

int DWIME3rd_FormatPY(int candIndex, LDChar * pOutStr, int bufferLen);

按候选结果对输入串进行拼音分隔

 参数:

              candIndex   格式化输入串是和候选关联的,所以要指定针对第几个候选进行格式化。

              pOutStr          输出候选字符串

              bufferLen       pOutStr数组长度

 返回: 返回字符串的长度

 

举例说明:输入内容为 xian,候选结果为:西安 ... ... ... ...

              1、调用本函数 candIndex0,即针对“西安”格式化结果为 xi'an

              2、调用本函数 candIndex1,即针对“现”格式化结果为 xian

int DWIME3rd_HwAssociate (const LDChar * pAsseKey);

手写联想(需要初始化键盘输入法如:拼音)

参数:

              pAssKey         联想关键字

 返回: 成功返回结果数量,失败返回 0

int DWIME3rd_SetUserDB (void * data, int size);

设置记忆数据库

参数:

          data  记忆数据,从文件加载,如果之前没有保存或第一次调用,可以传入 NULL,引擎会生成一个

            空的记忆库, 从头开始保存记忆。

       size  记忆数据的大小

 返回: 成功返回0,失败返回错误码

void * DWIME3rd_GetUserDB (int  * outSize);

从引擎里读出记忆数据库,用于保存数据

参数:

       outSize  记忆数据的大小

 返回: 存放记忆数据库的内存块,要释放手动内存,失败返回 NULL