📄 zi8hmi.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* zi8hmi.c
*
* Project:
* --------
* Maui_Software
*
* Description:
* ------------
* This file is to implement Human Machine Interface between UI layer and eZi Text core engine.
* Some function calls are provided from eZi(Sample code).
*
* Author:
* -------
* Elvis Lin
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* $Log$
*
* Dec 22 2006 mtk01578
* [MAUI_00352921] [MMI][InputMethod][ZI] fix W06.51 EXTSRAM overlaps with Execution region DUMMY_END
*
*
* Dec 16 2006 mtk01578
* [MAUI_00351603] [MMI][InputMethod] Add compile option for Zi pScratch buffer
*
*
* Dec 12 2006 mtk01578
* [MAUI_00227376] MS will show two same character when input smart PINYIN "Guo"
*
*
* Dec 4 2006 mtk01578
* [MAUI_00346517] PoC-Change the input method to "s_ABC" and press any key repeat many times (quickly)
*
*
* Nov 17 2006 mtk01578
* [MAUI_00018013] [Neptune Color 128X128] Editor: Bottom line of symbol window is not displayed when I
* Patch file for PMT
*
* Nov 15 2006 mtk01578
* [MAUI_00226709] inputmethods error
* Remove incorrect additional ZI_MORE_CODE and fix inconsistent ZI_MORE_CODE unicode of Zi V6 and V7
*
* Nov 3 2006 mtk01123
* [MAUI_00340219] [MMI][Language][New Feature]Add Zi and multitap persian language
*
*
* Oct 11 2006 mtk00866
* [MAUI_00335123] [MMI][Handwriting][BugFix]Fix Handwriting with Keypad issue from the customer
*
*
* Oct 3 2006 mtk01123
* [MAUI_00334482] [MMI][Inputmethod][new feature]Check in Zi V7 related code and lib
*
*
* Oct 3 2006 mtk01578
* [MAUI_00332924] [MMI][InputMethod][Revise Code] Revise code in Zi8hmi.c and T9main.c
* Revise code
*
* Sep 29 2006 mtk01123
* [MAUI_00017326] [Messages] Symbol window is displayed in half screen in Multi-tap Pinyin Mode.
*
*
* Sep 29 2006 mtk01123
* [MAUI_00017306] [Editor] Different char. combinations are not displayed.
*
*
* Sep 29 2006 mtk01123
* [MAUI_00017306] [Editor] Different char. combinations are not displayed.
*
*
* Sep 27 2006 mtk00481
* [MAUI_00332829] [MMI][BugFix] refine editor height
*
*
* Sep 27 2006 mtk01123
* [MAUI_00332897] [MMI][Inputmethod][Persian]Add zi persian support for lcmmi
*
*
* Sep 22 2006 mtk01123
* [MAUI_00015446] UI issue on the editor screen.
*
*
* Sep 20 2006 mtk01123
* [MAUI_00015788] Editor get distorted
*
*
* Sep 20 2006 mtk01123
* [MAUI_00015787] Cursor movement issue on editor
*
*
* Aug 23 2006 mtk01123
* [MAUI_00016647] [Messages] Candidate window is not displayed properly when Input Mode is Chinese
*
*
* Aug 8 2006 mtk01123
* [MAUI_00224249] Input method display abnormal screen
*
*
* Jul 27 2006 pmt00090
* [MAUI_00212423] MMI-Some character doesn't display full
* Some characters dosen't display full
*
* Jul 13 2006 mtk01123
* [MAUI_00210284] [MMI][Inputmethod][fixed compile error]fixed Zi compile error
*
*
* Jul 9 2006 mtk01123
* [MAUI_00223197] Input method-Have a problem
*
*
* Jul 6 2006 mtk01123
* [MAUI_00208199] [MMI][Language][change setting]Change hindi setting
*
*
* Jun 8 2006 mtk01123
* [MAUI_00222269] MMI_Red arrow issue when input Chinese character.
*
*
* May 17 2006 mtk01123
* [MAUI_00194587] [MMI][InputMethod][Fixed link error]Fixed maintrunk inputmethod link error
*
*
* May 9 2006 MTK00658
* [MAUI_00192599] Check-in files that were not formatted well in May 08 in Main Trunk
*
*
* May 2 2006 mtk00866
* [MAUI_00220849] MMI_input character issue
*
*
* Apr 17 2006 mtk01123
* [MAUI_00187880] MMI-The Input box clean doesn't finish
*
*
* Apr 6 2006 mtk01123
* [MAUI_00184459] MMS-Press"Option" and press"Back", the RSK will flash on the editor
*
*
* Apr 3 2006 mtk01123
* [MAUI_00184356] [MMI][Inputmethod][Fixed compile warning]Fixed Modis Zi/T9 compile warning
*
*
* Mar 27 2006 mtk00866
* [MAUI_00182746] [MMI][Handwriting][FeatureChange]Add Keypad support in handwriting for Smart abc/bpm
*
*
* Mar 22 2006 mtk01123
* [MAUI_00177191] [DLT] PMT Patch 2006/02/27~
*
*
* Mar 13 2006 mtk01123
* [MAUI_00178952] [MMI][IME][Change compile option]Change WIN32 compile option
*
*
* Mar 7 2006 mtk01123
* [MAUI_00177619] [MMI][InputMethod][Fixed issue]Fixed LSK display issue for Zi/T9
*
*
* Mar 6 2006 mtk01123
* [MAUI_00175920] PoC-Click input method repeat many times on the counter then the LSK "Ok" will flash
*
*
* Feb 11 2006 pmt00070
* [MAUI_00014447] Integration of Vietnamese Zi.
* Addition of Vietnamese Zi.
*
* Jan 26 2006 pmt00070
* [MAUI_00014257] Addition of Indonesian Zi /T9
* Addition of Indonesian Zi.
*
* Jan 23 2006 mtk00866
* [MAUI_00169617] [New Feature] MMI support handwriting pad
*
*
* Jan 16 2006 mtk01123
* [MAUI_00167595] [MMI][Inputmethod][add new interface]add multiline input box up/down key register me
*
*
* Jan 16 2006 mtk01123
* [MAUI_00167595] [MMI][Inputmethod][add new interface]add multiline input box up/down key register me
*
*
* Jan 11 2006 mtk01123
* [MAUI_00167595] [MMI][Inputmethod][add new interface]add multiline input box up/down key register me
*
*
* Jan 9 2006 mtk00866
* [MAUI_00218451] SMS_The cursor will move to left when press " () " key
*
*
* Dec 27 2005 mtk01123
* [MAUI_00218161] Phonebook-Counter display 21/8
*
*
* Dec 16 2005 mtk01123
* [MAUI_00218048] MMS_edit content,input words,but it disappear,the counter is changed
*
*
* Dec 16 2005 mtk01123
* [MAUI_00161839] [MMI][InputMethod][Fixed compile error]Fixed Modis Zi compile error
*
*
* Dec 6 2005 mtk01123
* [MAUI_00159984] [MMI][InputMethod][Fixed compile error]fixed small screen support compile error
*
*
* Dec 5 2005 mtk01123
* [MAUI_00159722] [MMI][UI Factory][New feature]Small screen check in for T9/Zi code
*
*
* Nov 30 2005 mtk01123
* [MAUI_00159096] [MMI][language][New Feature]Zi/T9 Smart Hindi check in
*
*
* Nov 15 2005 mtk01123
* [MAUI_00156122] [MMI][InputMethod][Fixed compile error]Fixed Zi compile error
*
*
* Nov 10 2005 mtk01123
* [MAUI_00217421] Input method_different scenario the behavior is different
*
*
* Oct 7 2005 mtk01123
* [MAUI_00127721] [MMI][Languages][New feature]add ZiLanguages-Hebrew-Greek-Czech-Finnish-Danish-Hungarian
*
*
* Oct 7 2005 mtk01123
* [MAUI_00127580] [MMI][InputMethod][bug fixed]Fixed simulator issues for 14x14 style font (from PMT)
*
*
* Oct 3 2005 mtk01123
* [MAUI_00126798] [MMI][Languages][New languages]Polish and Norwegian for Zi
*
*
* Sep 25 2005 mtk01123
* [MAUI_00125616] [MMI][Languages][New feature]Check-in Zi Croatian, Romanian, Slovenian languages
*
*
* Sep 21 2005 mtk01123
* [MAUI_00124989] [MMI][InputMethod][Fixed compile error]Fixed compile error
*
*
* Sep 19 2005 mtk01123
* [MAUI_00124586] [MMI][Languages][New Feature]Zi Swedish check-in
*
*
* Sep 13 2005 mtk01123
* [MAUI_00216570] SMS_text style missing
*
*
* Sep 10 2005 mtk01123
* [MAUI_00122966] [MMI][Languages][New Feature]Languages-Arabic-Norwegian-Slovak-Dutch-PVCS-Checkin
*
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/* MTK Terry for Move before zi8hmi.h for MMI_LOW_MEMORY_PHONE */
#include "MMI_features.h"
#include "zi8hmi.h"
#include "zi8api.h"
#include "debuginitdef.h"
#include "gui_inputs.h"
#include "oslmemory.h"
#include "GlobalConstants.h"
#include "Eventsdef.h"
#include "Pixteldatatypes.h"
#include "Frameworkstruct.h"
#include "EventsDef.h"
#include "Wgui.h"
#include "Timerevents.h"
#include "DebugInitDef.h"
#include "CustDataRes.h"
#include "MessagesResourceData.h"
#include "GlobalDefs.h"
#include "Gui_config.h"
#include "wgui_categories.h"
#include "wgui_categories_inputs.h"
#include "wgui_categories_defs.h"
#include "wgui_softkeys.h"
#include "Gui_ems.h"
#include "t9def.h"
#include "CommonScreens.h"
#include "gui.h"
#if defined(__MMI_TOUCH_SCREEN__)
#include "EditorPen.h"
#endif
#if defined __MMI_UI_SMALL_SCREEN_SUPPORT__
#include "gui_config.h"
#endif
// __CUSTPACK_MULTIBIN Terry BEGIN
#include "IMERes.h"
extern sIMELDBDetails *gIMELDBArray;
/* __CUSTPACK_MULTIBIN Terry END */
/* PMT Dara 24/11/04 .... flags for compostion & candidate window display */
#ifdef MMI_LOW_MEMORY_PHONE
static unsigned char CompositionWindowHideFlag;
static unsigned char CharacterInsertedFlag;
unsigned char ZiSmartPinyinFlag; /* Dara Added on 16/12/2k4 */
#endif /* MMI_LOW_MEMORY_PHONE */
/* PMT end */
#if defined(__MMI_ZI_ARABIC__) || defined(__MMI_ZI_PERSIAN__)
#include "zi8ARshape.h"
#endif
#ifdef __MMI_ZI_HINDI__
#include "hf_rules.h"
extern UI_character_type gui_EMS_current_character(UI_EMS_input_box *b);
static U8 hindi_flag;
static KEYID hindi_keyId;
#endif
#ifndef NEPTUNE_MMI
/* steven e-dic */
extern void (*wgui_register_multiline_inputbox_up_down_key_handler) (void);
#endif /* NEPTUNE_MMI */
#if defined(NEPTUNE_MMI)
#define MMI_multiline_inputbox (MMI_multiline_dailer_inputbox_union.MMI_multiline_inputbox)
#endif
#ifdef MMI_LOW_MEMORY_PHONE
ZI8BOOL ziFlagRSK = 0;
#endif
ZI8LONG ziFrameCounterForEMSEditor;
single_line_input_box ziCompositionArea;
single_line_input_box ziCandidateArea;
ZI8WCHAR ziCompositionBuffer[ZI_COMPOSITION_BUFFER_SIZE + 1];
ZI8WCHAR ziCandidateBuffer[ZI_CANDIDATE_MAX_BUFFER_SIZE + 1];
ZI8LONG ziEngWordLen = 0;
void (*zi_inputbox_LSK_function) (void) = NULL;
ZI8LONG ziInputMethodCategoryFlag;
ZI8SHORT ziPhoneticIndex;
ZI8BOOL bSkipGetCandidate;
ZI8BOOL bSkipGetZHCandidate;
ZI8BOOL ziRefillPhoneticBuffer;
ZI8WCHAR zifirstPhoneticCandidate;
ZI8BOOL ziAddEndOfPhoneticCandidate;
#if defined (MONO_LCD)
UI_filled_area MMI_ZI_COMPOSITION_WINDOW_filler =
{
UI_FILLED_AREA_TYPE_COLOR, /* |UI_FILLED_AREA_SINGLE_BORDER, */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -