📄 t9main.c
字号:
mStatus = T9STATNONE;
break;
default:
mStatus = T9STATNONE;
}
return mStatus;
}
#endif
#if defined(__MMI_T9_V7__)
T9MINOR KeypadToT9Key(T9MINOR mmiKey)
{
T9MINOR i;
switch(FieldInfo.CCFieldInfo.G.nLdbNum&T9PIDMASK)
{
case T9PIDEnglish:
case T9PIDSpanish:
//PMT VIKASG START 20050729
case T9PIDDanish:
//PMT VIKASG END 20050729
case T9PIDFrench:
case T9PIDGerman:
case T9PIDItalian:
case T9PIDPortuguese:
//PMT Gurdev Start 20050729
case T9PIDIndonesian:
//PMT Gurdev End 20050729
// PMT BHASKAR START 20052907
case T9PIDVietnamese:
// PMT BHASKAR END 20052907
case T9PIDRussian:
for(i = 0; keypad2T9KeyMap_English[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_English[i].mmiKey == mmiKey)
{
return keypad2T9KeyMap_English[i].t9Key;
}
}
//PMT dara Added for T9 thai
#ifdef __MMI_T9_THAI__
case T9PIDThai:
for(i = 0; keypad2T9KeyMap_Thai[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Thai[i].mmiKey == mmiKey)
{
return keypad2T9KeyMap_Thai[i].t9Key;
}
}
#endif
case T9PIDChinese:
for(i = 0; keypad2T9KeyMap_TrChinese[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_TrChinese[i].mmiKey == mmiKey)
{
return keypad2T9KeyMap_TrChinese[i].t9Key;
}
}
default:
return T9KEYNONE;
}
}
#else
T9MINOR KeypadToT9Key(T9MINOR mmiKey)
{
T9MINOR i;
if(FieldInfo.nLdbNum & (PLDBID_English))
{
for(i = 0; keypad2T9KeyMap_English[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_English[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_English[i].t9Key;
}
}
}
//MTK Terry for Spanish French German Italian
#if defined(__MMI_T9_SPANISH__)
else if(FieldInfo.nLdbNum & PLDBID_Spanish)
{
for(i = 0; keypad2T9KeyMap_Spanish[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Spanish[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Spanish[i].t9Key;
}
}
}
#endif
// PMT BHASKAR START 20052907
#if defined(__MMI_T9_VIETNAMESE__)
else if(FieldInfo.nLdbNum & PLDBID_Vietnamese)
{
for(i = 0; keypad2T9KeyMap_Vietnamese[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Vietnamese[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Vietnamese[i].t9Key;
}
}
}
#endif
// PMT BHASKAR END 20052907
//PMT VIKASG START 20050729
#if defined(__MMI_T9_DANISH__)
else if(FieldInfo.nLdbNum & PLDBID_Danish)
{
for(i = 0; keypad2T9KeyMap_Danish[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Danish[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Danish[i].t9Key;
}
}
}
#endif
//PMT VIKASG END 20050729
#if defined(__MMI_T9_FRENCH__)
else if(FieldInfo.nLdbNum & PLDBID_French)
{
for(i = 0; keypad2T9KeyMap_French[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_French[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_French[i].t9Key;
}
}
}
#endif
#if defined(__MMI_T9_GERMAN__)
else if(FieldInfo.nLdbNum & PLDBID_German)
{
for(i = 0; keypad2T9KeyMap_German[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_German[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_German[i].t9Key;
}
}
}
#endif
#if defined(__MMI_T9_ITALIAN__)
else if(FieldInfo.nLdbNum & PLDBID_Italian)
{
for(i = 0; keypad2T9KeyMap_Italian[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Italian[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Italian[i].t9Key;
}
}
}
#endif
//MTK end
//PMT dara 8jan2005 for portuguese
#if defined(__MMI_T9_PORTUGUESE__)
else if(FieldInfo.nLdbNum & PLDBID_Portuguese)
{
for(i = 0; keypad2T9KeyMap_Portuguese[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Portuguese[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Portuguese[i].t9Key;
}
}
}
#endif
//PMT Gurdev Start 20050729
#if defined(__MMI_T9_INDONESIAN__)
else if(FieldInfo.nLdbNum & PLDBID_Indonesian)
{
for(i = 0; keypad2T9KeyMap_Indonesian[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Indonesian[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Indonesian[i].t9Key;
}
}
}
#endif
//PMT Gurdev End 20050729
#if defined(__MMI_T9_RUSSIAN__)
else if(FieldInfo.nLdbNum & PLDBID_Russian)
{
for(i = 0; keypad2T9KeyMap_Russian[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Russian[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_Russian[i].t9Key;
}
}
}
#endif
//PMT dara Added for T9 thai
#ifdef __MMI_T9_THAI__
else if(FieldInfo.nLdbNum & PLDBID_Thai)
for(i = 0; keypad2T9KeyMap_Thai[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_Thai[i].mmiKey == mmiKey)
{
return keypad2T9KeyMap_Thai[i].t9Key;
}
}
#endif
//PMT end
else if(FieldInfo.nLdbNum & PLDBID_Chinese)
{
for(i = 0; keypad2T9KeyMap_TrChinese[i].mmiKey != MAX_KEYS; i++)
{
if (keypad2T9KeyMap_TrChinese[i].mmiKey == mmiKey) {
return keypad2T9KeyMap_TrChinese[i].t9Key;
}
}
}
return T9KEYNONE;
}
#endif
/*------------------------------------------------------------------------
*
* Function name : DrawBPMFString
* Description : Draw the BPMF on the graphic screen. The character may be a
* space number or other char, just draw these non BoPoMoFo char
*
* Pass : Device context to write to.
*
* Return : void
*
*-----------------------------------------------------------------------*/
void DrawBPMFString(unsigned int iX, unsigned int iY, T9U8 *psStr )
{
T9U16 iChar;
T9U8 i=0;
if(t9CompositionArea.text_length > ENCODING_LENGTH)
pixtel_UI_single_line_input_box_delete_all(&t9CompositionArea);
while( *psStr )
{
if(IsBPMFChar(*psStr)){
iChar = BPMFInternalToUnicode(*psStr);
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,iChar);
}
else{
if( *psStr > 0x30 && *psStr < 0x36 || *psStr == 0x20)
{
switch(*psStr)
{
case 0x31 :
iChar = 0x002d;//0x0020;
break;
case 0x32 :
iChar = 0x02CA;
break;
case 0x33 :
iChar = 0x02C7;
break;
case 0x34 :
iChar = 0x02CB;
break;
case 0x35 :
iChar = 0x02D9;
break;
case 0x20 :
iChar = 0x0020;
break;
}
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,iChar);
}
else
{
return ;
}
}
i++;
psStr++;
}
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,0x20);
}
/*------------------------------------------------------------------------
*
* Function name : DrawBPMFString
* Description : Draw the BPMF on the graphic screen. The character may be a
* space number or other char, just draw these non BoPoMoFo char
*
* Pass : Device context to write to.
*
* Return : void
*
*-----------------------------------------------------------------------*/
void DrawPinYinString(unsigned int iX, unsigned int iY, T9U8 *psStr )
{
T9U16 iChar;
T9U8 i=0;
if(t9CompositionArea.text_length > ENCODING_LENGTH)
pixtel_UI_single_line_input_box_delete_all(&t9CompositionArea);
while( *psStr ){
if(IsPinYinChar(*psStr)){
iChar = PinYinInternalToUnicode(*psStr);
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,iChar);
}
else{
if( *psStr > 0x30 && *psStr < 0x36)
{
switch(*psStr)
{
case 0x31 :
iChar = 0x002D; //'-'
break;
case 0x32 :
iChar = 0x02CA;
break;
case 0x33 :
iChar = 0x02C7;
break;
case 0x34 :
iChar = 0x02CB;
break;
case 0x35 :
iChar = 0x02D9;
break;
}
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,iChar);
}
else
{
return ;
}
}
i++;
psStr++;
}
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,0x20);
}
/*------------------------------------------------------------------------
*
* Function name : DrawBPMFString
* Description : Draw the BPMF on the graphic screen. The character may be a
* space number or other char, just draw these non BoPoMoFo char
*
* Pass : Device context to write to.
*
* Return : void
*
*-----------------------------------------------------------------------*/
void DrawStrokeString(unsigned int iX, unsigned int iY, T9U8 *psStr )
{
T9U16 iChar;
T9U8 i=0;
if(t9CompositionArea.text_length > ENCODING_LENGTH)
pixtel_UI_single_line_input_box_delete_all(&t9CompositionArea);
while( *psStr )
{
if(IsStrokeChar(*psStr))
{
iChar = StrokeInternalToUnicode(*psStr);
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,iChar);
}
else
{
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,0x20);
return ;
}
i++;
psStr++;
}
pixtel_UI_single_line_input_box_insert_character(&t9CompositionArea,0x20);
}
/*******************************************************************************
*
* Function name : IsBPMFChar
* Description : check if the input char is a BoPoMoFo internal char.
*
* Return : 1 (Yes) or 0(No)
*
* Pass : T9U8 - alpha Tegic BoPoMoFo internal char code to be translated
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -