C/C++接口

2020-08-21 19:04:15
文子
273
最后编辑: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~z 1~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 、调用本函数 candIndex 0 ,即针对“西安”格式化结果为 xi'an

              2 、调用本函数 candIndex 1 ,即针对“现”格式化结果为 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