📄 afce_zi.h
字号:
/***************************************************************************
*
* TPL GSM Phase 2 Application Layer
*
* Copyright (c) 1999 ZTE
*
***************************************************************************
*
* $Workfile: afCE_zi.h
* $Revision:
* $Date: June 2000
*
***************************************************************************
*
* Designed by :
* Coded by : mengbo
* Tested by :
*
***************************************************************************
*
* File Description
* ----------------
* Application Layer Foreground ChineseInput- edit handler
*
****************************************************************************/
/***************************************************************************
* Include Files
***************************************************************************/
#if !defined (AFCE_ZI_H)
#define ACCEZI_H
#if !defined(AFCE_LCL_H)
# include "afce_lcl.h"
#endif
#if !defined (AFGL_TYP_H)
# include "afgl_typ.h"
#endif
/* Zi provided include files */
#include "zi8api.h"
/******************************************************************************
* macro
*******************************************************************************/
#define HZ_SCRL_UP_PROMP 0xe725
#define HZ_SCRL_DOWN_PROMP 0xe726
#define PY_SCRL_UP_PROMP 0xe727
#define PY_SCRL_DOWN_PROMP 0xe728
#define PY_SCRL_UPDOWN_PROMP 0xe729
#define ZI8_BASE_ALPHA 0x00f0
#define ZI8_ALPHA_KEY1 1
#define ZI8_ALPHA_KEY2 2
#define ZI8_ALPHA_KEY3 3
#define ZI8_ALPHA_KEY4 4
#define ZI8_ALPHA_KEY5 5
#define ZI8_ALPHA_KEY6 6
#define ZI8_ALPHA_KEY7 7
#define ZI8_ALPHA_KEY8 8
#define ZI8_ALPHA_KEY9 9
#define ZI8_ALPHA_KEYSTAR 10
#define ZI8_ALPHA_KEY0 11
#define ZI8_ALPHA_KEYHASH 12
#define MAX_CANDIDATES_BUFFER_SIZE 9
#define MAX_WORD_LENGTH_SIZE 16
#define MAX_ELEMENT_BUFFER_SIZE 20
#define WILDKEY_MAX_NUM 10 /*wth added 2001-02-04*/
#define SCRATCH_SIZE 250
#define SIGNNUM 27
#define SIGNWIDTH 12
#define SIGNHEIGHT 20
#define TOPOFFSET 10
#define LEFTOFFSET 1
/******************************************************************************
* types
*******************************************************************************/
typedef enum EnterMethodTag
{
METHOD_ENGLISH=0,
METHOD_PINYIN,
METHOD_BISHUN,
METHOD_COMPONENT,
METHOD_SENGLISH,
NUM_OF_METHOD,
METHOD_NULL
}
EnterMethod;
typedef struct HzScrlPrompTag
{
Boolean noPrevHz;
Boolean noNextHz;
}HzScrlPromp;
typedef struct PyHzRecordTag
{
Int16 firstPyPosInLib;
Int16 lastPyPosInLib;
Int16 currentPyPosInLib;
}PyHzRecord;
typedef struct HzInfoTag
{
Int16 beginInLib;
Int16 sizeInLib;
Int16 *libName_p;
Int8 selHzMax;
Int16 hzGroup;
AgCharCode currentSelHz[AF_HZ_NUM_PERLINE+1]; /*store the hz to select*/
HzScrlPromp hzScrlPromp;
}HzInfo;
/* ChineseInput Handler's local data structure */
typedef struct chiEditContextTag
{
HandlerId myHandlerId; /* own handler Id */
HandlerId parentHandlerId; /* parent handler Id */
HandlerId childHandlerId; /* child handler Id */
AfChineseInputMethod chineseInputMethod;
Boolean associationOn;
Boolean radicalOn;
AfChineseInputSigBody dataFromParent;/*contain the data sent from the previous handler*/
HzInfo currentHzInfo; /*contain the hanzi to select*/
Int8 inputSerial;
char inputValue[31]; /*contain the user input*/
AgCharCode currentPyBsh[31]; /*contain the pinyin or stroke*/
PyHzRecord pyHzRecord;
AfEditArea editArea; /*show current edit area*/
Boolean wordInput;
/*WJ 2001/5/30 add*/
Int8 keyTable[10];
/*WJ 2001/5/30 end*/
}
chiEditContext;
typedef struct AfSignContextTag
{
HandlerId myHandlerId; /* own handler Id */
HandlerId parentHandlerId; /* parent handler Id */
Int8 currSignIndex;
}AfSignContext;
typedef struct InputContextTag
{
HandlerId myHandlerId; /* own handler Id */
HandlerId parentHandlerId; /* parent handler Id */
HandlerId childHandlerId; /* child handler Id */
AfInputLanguageState inputLanguageState;
AfChineseInputMethod chineseInputMethod;
Boolean associationOn;
Boolean radicalOn;
AfChineseInputSigBody dataFromParent;/*contain the data sent from the previous handler*/
HzInfo currentHzInfo; /*contain the hanzi to select*/
Int8 inputSerial;
char inputValue[31]; /*contain the user input*/
AgCharCode currentPyBsh[31]; /*contain the pinyin or stroke*/
PyHzRecord pyHzRecord;
AfEditArea editArea; /*show current edit area*/
Boolean wordInput;
Int8 keyTable[10];
Int8 currSignIndex;
}
InputContext;
/***********************************************************************
* global variable
************************************************************************/
typedef enum AfInputFlagTag
{
AG_INPUT_NULL,
AG_INPUT_CHINESE,
AG_INPUT_SIGN
}AfInputFlag;
/*extern Boolean aflcGetAssociation(void);*/
extern Boolean functionIsExist(void *func_p);
void afChineseInputRefresh (InputContext *chiContext_p);
void afChineseInputEvents ( InputContext *chiContext_p,
SignalBuffer *signalBuffer_p);
void afChineseHandleEvents(InputContext *chiContext_p,
AgshEventInd *eventInd_p );
Boolean afGetPyHzInfo(InputContext *chiContext_p);
Boolean afGetBhHzInfo(InputContext *chiContext_p);
Boolean afGetStrokeHzInfo(InputContext *chiContext_p);
Boolean afGetSmartEnInfo(InputContext *chiContext_p);
void afConvertWmToPy(InputContext *chiContext_p);
void afConvertWmToBh(InputContext *chiContext_p);
void afConvertWmToCom(InputContext *chiContext_p);
void afConvertWmToEn(InputContext *chiContext_p);
void afSelHz(Int8 hzIndex,
InputContext *chiContext_p);
Boolean afClearInput(InputContext *chiContext_p);
Boolean afDisplayLastPy(InputContext *chiContext_p);
Boolean afDisplayLastEn(InputContext *chiContext_p);
Boolean afDisplayPreviousHzGroup(InputContext *chiContext_p );
Boolean afDisplayNextPy(InputContext *chiContext_p);
Boolean afDisplayNextEn(InputContext *chiContext_p);
Boolean afDisplayNextHzGroup(InputContext *chiContext_p);
void afGetPrompInfo(InputContext *chiContext_p,
AgCharCode *prompString_p);
void afInitContext(AfChineseInputSigBody *dataFromParent_p, InputContext *chiContext_p);
void afUpdateEditHz(InputContext *chiContext_p,
Int16 charUniCode );
Boolean afEnableWildKey(InputContext *chiContext_p); /*wth added 2001-02-04*/
ZI8UCHAR Zi8GetCandidates(PZI8GETPARAM pGetParam);
ZI8BOOL Zi8SetMaxLength(ZI8UCHAR length);
ZI8BOOL Zi8IsComponent(ZI8WCHAR Character);
void Zi8GetAlphaWord(ZI8UCHAR language, ZI8WCHAR wc,
PZI8UCHAR szString, ZI8UCHAR size);
/*xuying*/
void Zi8GetAlphaWordW(ZI8UCHAR language, ZI8WCHAR wc,
PZI8WCHAR szString, ZI8UCHAR size);
ZI8FUNCTION ZI8BOOL Zi8SetMaxNamesInUse ( ZI8USHORT usMaxSize );/*wth 2001-03-14*/
void afSignInputRefresh(Int8 currSignIndex);
Int8 afSignInputEvents(Int8 currSignIndex, HandlerId myHandlerId,
HandlerId parentHandlerId, SignalBuffer *signalBuffer_p);
/*void afInputRefresh (InputContext *context_p); */
void afUpdateEnterMethod(InputContext *context_p);
Boolean afglExtendedAddUniCodeEvents(Int16 charUniCode,
AfglDisplayDesc *displayDesc_p);
extern void
afglHandleEditBufferOverflow (AfglDisplayDesc *displayDesc_p);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -