wgui_inputs.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:22k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*******************************************************************************
  36.  * Filename:
  37.  * ---------
  38.  *  wgui_inputs.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  Functions for editor.
  47.  *
  48.  *  Author:
  49.  * -------
  50.  *  Elvis Lin (MTK00560)
  51.  *  Terry Yang (MTK00866)
  52.  *
  53.  *==============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  56.  *------------------------------------------------------------------------------
  57.  * removed!
  58.  *
  59.  * removed!
  60.  * removed!
  61.  * removed!
  62.  *
  63.  * removed!
  64.  * removed!
  65.  * removed!
  66.  *
  67.  * removed!
  68.  * removed!
  69.  * removed!
  70.  *
  71.  * removed!
  72.  * removed!
  73.  * removed!
  74.  *
  75.  * removed!
  76.  * removed!
  77.  * removed!
  78.  *
  79.  * removed!
  80.  * removed!
  81.  * removed!
  82.  *
  83.  * removed!
  84.  * removed!
  85.  * removed!
  86.  *
  87.  * removed!
  88.  * removed!
  89.  * removed!
  90.  *
  91.  * removed!
  92.  * removed!
  93.  * removed!
  94.  *
  95.  *------------------------------------------------------------------------------
  96.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  97.  *==============================================================================
  98.  *******************************************************************************/
  99. /**
  100.  * Copyright Notice
  101.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  102.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  103.  *  (It is illegal to remove this copyright notice from this software or any
  104.  *  portion of it)
  105.  */
  106. /**********************************************************************************
  107.    Filename:      wgui_inputs.h
  108.    Author:        manju
  109.    Date Created:  August-07-2002
  110.    Contains:      PixTel UI wrapper routines header for Input objects
  111. **********************************************************************************/
  112. #ifndef __WGUI_INPUTS_H__
  113. #define __WGUI_INPUTS_H__
  114. #include "wgui.h"
  115. #include "gui_inputs.h"
  116. #ifdef __cplusplus
  117. extern "C"
  118. {
  119. #endif /* __cplusplus */ 
  120. #ifdef __MMI_TOUCH_SCREEN__
  121. #include "kal_non_specific_general_types.h"
  122. #include "TouchScreenGprot.h"
  123. #endif /* __MMI_TOUCH_SCREEN__ */ 
  124.     /* multitap object wrappers            */
  125.     extern S32 MMI_multitap_x;
  126.     extern S32 MMI_multitap_y;
  127.     extern S32 MMI_multitap_width;
  128.     extern S32 MMI_multitap_height;
  129.     extern S32 MMI_singleline_inputbox_x;
  130.     extern S32 MMI_singleline_inputbox_y;
  131.     extern S32 MMI_singleline_inputbox_width;
  132.     extern S32 MMI_singleline_inputbox_height;
  133.     extern S32 MMI_multiline_inputbox_x;
  134.     extern S32 MMI_multiline_inputbox_y;
  135.     extern S32 MMI_multiline_inputbox_width;
  136.     extern S32 MMI_multiline_inputbox_height;
  137.     extern S32 MMI_general_inputbox_x;
  138.     extern S32 MMI_general_inputbox_y;
  139.     extern S32 MMI_general_inputbox_width;
  140.     extern S32 MMI_general_inputbox_height;
  141.     /* MTK Elvis 20040428 to increase the multitap number */
  142.     /* PMT dara added for Multitap thai */
  143. #ifdef __MMI_MULTITAP_THAI__
  144. #define MAX_MULTITAPS_THAI       12
  145. #endif 
  146. #if defined(__MMI_MULTITAP_FOR_STAR_AND_POUND__)
  147. #define MAX_MULTITAPS         12
  148. #else 
  149. #define MAX_MULTITAPS         10
  150. #endif 
  151. #define  UI_MULTI_LINE_INIT_SCROLL           2000
  152. #define  UI_MULTI_LINE_SCROLL_TIMEOUT        500
  153. #if defined(__UI_PAGING_IN_MULTILINE_EDITOR__)
  154. #define WGUI_PAGING_SCROLL_LINE_BY_LINE         0
  155. #define WGUI_PAGING_SCROLL_PAGE_BY_PAGE         1
  156. #define WGUI_PAGING_AUTO_SCROLL_ON           1
  157. #define WGUI_PAGING_AUTO_SCROLL_OFF          0
  158. #define COMPLETE_PERCENTAGE_SCALE            100
  159. #define WGUI_MAX_SCROLL_TIME              5
  160.     typedef struct
  161.     {
  162.         U32 end_id;
  163.         U32 start_id;
  164.         U32 doc_size;
  165. /* PMT Start 06_08_06 00071 */
  166.   S32 last_text_offset_y;  
  167. /* PMT End 06_08_06 00071 */
  168.         S16 jump_offset_from_app;
  169.         S16 text_offset;
  170.         U8 scroll_speed;
  171.         U8 scroll_type;
  172.         U8 scroll_flag;
  173.         U8 font_size;
  174.         S8 search_str_len;
  175.         S8 font_style;
  176.         pBOOL jump_to_end;
  177.         pBOOL highlight_string;
  178.         pBOOL search_flag_is_on;
  179.         U8 last_showed_percentage;
  180. #ifdef __MMI_TOUCH_SCREEN__
  181.   void (*key_callback)(UI_character_type c);
  182. /* PMT Start 09_08_06 00071 */
  183.         void (*get_data_during_scrolling)(S32 page_id,PU8 buffer);
  184. /* PMT Start 09_08_06 00071 */
  185. #endif
  186.     } gui_page_info_app;
  187.     typedef enum
  188.     {
  189.         FONT_SIZE_SMALL,
  190.         FONT_SIZE_MEDIUM,
  191.         FONT_SIZE_LARGE
  192.     } WGUI_FONT_SIZE;
  193. #endif /* defined(__UI_PAGING_IN_MULTILINE_EDITOR__) */ 
  194.     /* 072904 Calvin moved for centralized control */
  195.     // #define ENABLE_MULTILINE_INPUTBOX_FRAME_SKIPPING             1
  196.     /* Calvin end */
  197.     extern multitap_input MMI_uppercase_multitaps[];
  198.     extern multitap_input MMI_lowercase_multitaps[];
  199.     /* MTK Elvis */
  200.     extern multitap_input MMI_bpmf_multitaps[];
  201.     /* MTK end */
  202.     extern U8 MMI_current_multitap_mode;
  203.     extern S32 MMI_active_multitap;
  204. #ifdef __MMI_TOUCH_DIAL_SCREEN__
  205.     extern dialing_keypad_struct dialing_keypad;
  206. #endif 
  207.     extern void (*hide_multitap) (void);
  208.     extern void show_multitap(void);
  209.     extern void disable_active_multitap(void);
  210.     extern void disable_active_multitap_no_draw(void);
  211.     extern void change_multitap_state(S32 i);
  212.     extern void multitap_input_key_down(S32 key);
  213.     extern void multitap_input_key_up(S32 key);
  214.     extern void create_multitaps(void);
  215.     void set_multitap_functions(void (*input_callback) (UI_character_type), void (*input_complete_callback) (void));
  216.     extern void change_multitap_mode(U8 mode);
  217.     /* PMT dara added for Multitap thai */
  218. #ifdef __MMI_MULTITAP_THAI__
  219.     /* void change_inputbox_type_multitapthai(byte type); */
  220.     extern U8 Get_inputbox_update_states(void);
  221. #endif /* __MMI_MULTITAP_THAI__ */ 
  222.     extern void register_multitap_key_handlers(void);
  223.     extern void register_multitap_no_draw_key_handlers(void);
  224.     extern void clear_multitap_key_handlers(void);
  225.     void register_hide_multitap(void (*f) (void));
  226.     extern void reset_multitaps(void);
  227.     extern void set_MMI_multitap_theme(void);
  228.     /* Pixtel 121703 */
  229.     extern void set_numberless_multitap(void);
  230.     extern void set_normal_multitap(void);
  231.     /* MTK Terry For English Input */
  232.     extern void set_english_only_multitap(void);
  233. #ifdef __MMI_TOUCH_SCREEN__
  234.     extern BOOL wgui_multitap_translate_and_handle_pen_event(S32 x, S32 y, mmi_pen_event_type_enum pen_event);
  235. #endif 
  236.     /* single line input box wrappers         */
  237.     extern single_line_input_box MMI_singleline_inputbox;
  238.     extern void (*singleline_inputbox_input_callback) (void);
  239.     extern void (*singleline_inputbox_navigate_callback) (void);
  240.     extern void create_singleline_inputbox(UI_string_type buffer, S32 buffer_length);
  241.     extern void create_singleline_inputbox_set_buffer(
  242.                     UI_string_type buffer,
  243.                     S32 buffer_length,
  244.                     S32 text_length,
  245.                     S32 edit_position);
  246.     extern void show_singleline_inputbox(void);
  247.     extern void redraw_singleline_inputbox(void);
  248.     extern void singleline_inputbox_multitap_input(UI_character_type c);
  249.     extern void singleline_inputbox_multitap_input_complete(void);
  250.     extern void singleline_inputbox_direct_input(UI_character_type c);
  251.     extern void singleline_inputbox_delete_character(void);
  252.     extern void singleline_inputbox_previous_character(void);
  253.     extern void singleline_inputbox_next_character(void);
  254.     extern void singleline_inputbox_toggle_insert_mode(void);
  255.     extern void singleline_inputbox_delete_current_character(void);
  256.     extern void singleline_inputbox_delete_all_characters(void);
  257.     extern void register_singleline_inputbox_keys(void);
  258.     extern void change_singleline_inputbox_mode(U8 mode);
  259.     /* MTK Elvis to add some APIs for Qsearch */
  260.     extern void change_qsearch_singleline_inputbox_mode(U8 mode);
  261.     /* MTK end */
  262.     extern void set_singleline_inputbox_mask(U8 m);
  263.     extern void reset_singleline_inputbox(void);
  264.     extern void move_singleline_inputbox(S32 x, S32 y);
  265.     extern void resize_singleline_inputbox(S32 width, S32 height);
  266.     extern void singleline_inputbox_numeric_keyboard_input_handler(S32 keyc);
  267.     extern void singleline_inputbox_alphabetic_keyboard_input_handler(S32 keyc);
  268.     extern void singleline_inputbox_handle_key_down(MMI_key_code_type k);
  269.     /* MTK Elvis to add some APIs for Qsearch */
  270.     extern void singleline_inputbox_handle_stroke_key_down(MMI_key_code_type k);
  271.     extern void singleline_inputbox_handle_numeric_key_down(MMI_key_code_type k);
  272.     /* MTK end */
  273.     void register_singleline_inputbox_input_callback(void (*f) (void));
  274.     void register_singleline_inputbox_navigate_callback(void (*f) (void));
  275.     /* multi line input box wrappers       */
  276.     extern multi_line_input_box MMI_multiline_inputbox;
  277.     extern void create_multiline_inputbox(UI_string_type buffer, S32 buffer_length);
  278.     extern void create_multiline_inputbox_set_buffer(
  279.                     UI_string_type buffer,
  280.                     S32 buffer_length,
  281.                     S32 text_length,
  282.                     S32 edit_position);
  283. #ifdef __UI_PAGING_IN_MULTILINE_EDITOR__
  284.     extern void create_multiline_inputbox_set_buffer_full_screen(
  285.                     UI_string_type buffer,
  286.                     S32 buffer_length,
  287.                     S32 text_length,
  288.                     S32 edit_position);
  289. #endif /* __UI_PAGING_IN_MULTILINE_EDITOR__ */ 
  290.     extern void resize_multiline_inputbox_fit(S32 width, S32 height, S32 *fit_width, S32 *fit_height);
  291.     extern void resize_multiline_inputbox(S32 width, S32 height);
  292.     extern void move_multiline_inputbox(S32 x, S32 y);
  293.     extern void show_multiline_inputbox(void);
  294.     extern void show_multiline_inputbox_no_draw(void);
  295.     extern void redraw_multiline_inputbox(void);
  296.     extern void multiline_inputbox_multitap_input(UI_character_type c);
  297.     extern void multiline_inputbox_multitap_input_complete(void);
  298.     extern void multiline_inputbox_direct_input(UI_character_type c);
  299.     extern void multiline_inputbox_delete_character(void);
  300.     extern void multiline_inputbox_previous_character(void);
  301.     extern void multiline_inputbox_next_character(void);
  302.     extern void multiline_inputbox_delete_all_characters(void);
  303.     extern void multiline_inputbox_previous_line(void);
  304.     extern void multiline_inputbox_next_line(void);
  305.     extern void multiline_inputbox_home(void);
  306.     extern void multiline_inputbox_end(void);
  307.     extern void multiline_inputbox_previous_page(void);
  308.     extern void multiline_inputbox_next_page(void);
  309. #if defined(__UI_PAGING_IN_MULTILINE_EDITOR__)
  310.     extern void wgui_paging_multiline_inputbox_calculate_percentage(PU8 percentage_scale);
  311.     extern void wgui_paging_multiline_inputbox_previous_page(void);
  312.     extern void wgui_paging_multiline_inputbox_next_page(void);
  313.     extern void wgui_paging_multiline_set_percentage(U32 page_id, S16 text_offset);
  314.     extern void wgui_paging_multiline_inputbox_set_percentage_scale(U8 percentage_scale);
  315. #ifdef __MMI_TOUCH_SCREEN__
  316. extern void wgui_paging_multiline_key_maaping_TS(UI_character_type c);
  317. extern void wgui_paging_multiline_inputbox_set_percentage_scale_TS(U8 percentage_scale);
  318. extern void wgui_paging_get_data_during_scrolling(S32 percentage_val);
  319. extern void wgui_paging_set_page_info(gui_page_info_app *page_info_d);
  320.     extern void wgui_paging_set_full_screen_flag(pBOOL flag_value);
  321.     extern MMI_BOOL wgui_paging_pen_move_hdlr(mmi_pen_point_struct pos);
  322.     extern MMI_BOOL wgui_paging_pen_up_hdlr(mmi_pen_point_struct pos);
  323.     extern MMI_BOOL wgui_paging_pen_down_hdlr(mmi_pen_point_struct pos);
  324.     extern void wgui_paging_virtual_keypad_callback(void);
  325. #endif 
  326.     extern void wgui_paging_set_show_percentage_flag(void);
  327.     extern void wgui_paging_reset_show_percentage_flag(void);
  328.     extern void wgui_paging_jump_to_end(void);
  329.     extern void wgui_paging_multiline_set_page(U32 start_id, U32 end_id);
  330.     extern void wgui_paging_multiline_inputbox_previous_line_in_paging(void);
  331.     extern void wgui_paging_multiline_inputbox_next_line_in_paging(void);
  332.     extern void wgui_paging_multiline_inputbox_next_line_in_paging_scroll(void);
  333.     extern void wgui_paging_stop_text_scroll(void);
  334.     extern void wgui_paging_start_text_scroll(void);
  335.     extern void wgui_paging_multiline_start_text_scroll(void);
  336.     extern void wgui_paging_multiline_set_font(U8 gui_paging_font_type, U8 gui_paging_font_style);
  337.     extern void wgui_paging_set_scrollbar_range(U32 document_size);
  338.     extern void wgui_paging_multiline_set_scroll_info(gui_page_info_app **gui_scroll_info);
  339.     extern void wgui_dm_set_multiline_data(dm_coordinates *gui_multiline_get_coordinates);
  340.     extern void wgui_paging_set_data_for_find_next(gui_page_info_app *gui_multiline_data, U8 *buffer_data);
  341.     extern void wgui_paging_highlight_search_string(S32 text_offset, S8 search_str_len);
  342.     extern void wgui_paging_multiline_get_current_page(
  343.                     PU32 page_id,
  344.                     PS32 text_offset,
  345.                     PU8 shared_bytes,
  346.                     PU8 last_showed_percentage,
  347.      PS32 last_text_offset_y);
  348.     extern void gui_paging_reset_auto_scroll(void);
  349. #endif /* defined(__UI_PAGING_IN_MULTILINE_EDITOR__) */ 
  350.     extern void multiline_inputbox_toggle_insert_mode(void);
  351.     extern void multiline_inputbox_delete_current_character(void);
  352.     extern void change_multiline_inputbox_mode(U8 mode);
  353.     extern void register_multiline_inputbox_keys(void);
  354.     extern void set_multiline_inputbox_mask(U8 m);
  355.     extern void reset_multiline_inputbox(void);
  356.     extern void reset_multiline_inputbox_vertical_scroll(void);
  357.     void register_multiline_inputbox_input_callback(void (*f) (void));
  358.     void register_multiline_inputbox_navigate_callback(void (*f) (void));
  359.     extern void register_multiline_inputbox_viewer_keys(void);
  360.     extern void register_multiline_sms_chat_inputbox_keys(void);
  361.     /* steven e-dic */
  362.     extern void (*wgui_register_multiline_inputbox_up_down_key_handler) (void);
  363.     void wgui_set_multiline_inputbox_register_up_down_key_funcptr(void (*FuncPtr) (void));
  364.     extern void wgui_reset_multiline_inputbox_register_up_down_key_funcptr(void);
  365.     extern U8 multiline_inputbox_empty(void);
  366.     extern S32 multiline_inputbox_length(void);
  367.     extern S32 get_multiline_inputbox_height(void);
  368.     extern MMI_BOOL get_multiline_inputbox_display_status(void);
  369.     extern S32 get_multiline_inputbox_line_height(void);
  370.     extern S32 get_multiline_inputbox_line_height_with_obj(multi_line_input_box *b);
  371.     extern void (*multiline_inputbox_input_callback) (void);
  372.     extern void register_multiline_inputbox_hilite_pen_event_handler(void);
  373.     extern void register_multiline_inputbox_hilite_keys(void);
  374.     typedef struct
  375.     {
  376.         /* Try to reduce overheads of GetImage() and gui_measure_image() */
  377.         PU8 icon;
  378.         U8 icon_width;
  379.         U8 icon_height;
  380.         /* Character sequence to represent an icon. English only. */
  381.         char string[MMI_MULTILINE_ICON_MAX_STRING_LEN + 1];
  382.     } wgui_multiline_icon_struct;
  383.     extern void wgui_config_general_multiline_icon_handler(
  384.                     BOOL is_sorted,
  385.                     U8 num_items,
  386.                     const wgui_multiline_icon_struct *items);
  387.     extern void wgui_reset_general_multiline_icon_handler(void);
  388.     extern S32 wgui_general_multiline_icon_handler(
  389.                 const U8 *s,
  390.                 BOOL do_draw,
  391.                 S32 *icon_width,
  392.                 S32 *icon_height,
  393.                 S32 x,
  394.                 S32 y);
  395.     /* API to read/write color editor buffer (UI_MULTI_LINE_INPUT_BOX_RICHTEXT)  */
  396.     typedef struct
  397.     {
  398.         U8 *buffer;
  399.         S32 head;       /* current read position (in byte) */
  400.         S32 byte_count; /* byte count excluding '' */
  401.     } wgui_color_buffer_reader_struct;
  402.     typedef struct
  403.     {
  404.         U8 *buffer;
  405.         S32 tail;   /* current write position (in byte) */
  406.         S32 size;   /* buffer size */
  407.     } wgui_color_buffer_writer_struct;
  408.     extern void wgui_color_buffer_create_reader(wgui_color_buffer_reader_struct *reader, U8 *buffer);
  409.     extern BOOL wgui_color_buffer_read_stripped_text(
  410.                     wgui_color_buffer_reader_struct *reader,
  411.                     U8 *dest_buffer,
  412.                     S32 size_of_dest,
  413.                     S32 *bytes_written);
  414.     extern void wgui_color_buffer_create_writer(wgui_color_buffer_writer_struct *writer, U8 *buffer, S32 size);
  415.     extern S32 wgui_color_buffer_get_space_for_write(wgui_color_buffer_writer_struct *writer);
  416.     extern BOOL wgui_color_buffer_write_char(wgui_color_buffer_writer_struct *writer, U16 ch);
  417.     extern BOOL wgui_color_buffer_write_2char(wgui_color_buffer_writer_struct *writer, U16 ch1, U16 ch2);
  418.     extern BOOL wgui_color_buffer_write_3char(wgui_color_buffer_writer_struct *writer, U16 ch1, U16 ch2, U16 ch3);
  419.     extern BOOL wgui_color_buffer_write_4char(
  420.                     wgui_color_buffer_writer_struct *writer,
  421.                     U16 ch1,
  422.                     U16 ch2,
  423.                     U16 ch3,
  424.                     U16 ch4);
  425.     extern S32 wgui_color_buffer_write_string(
  426.                 wgui_color_buffer_writer_struct *writer,
  427.                 const U8 *string,
  428.                 BOOL allow_partial_write,
  429.                 BOOL *whole_string_written);
  430.     /* Dialer input box wrappers        */
  431.     extern dialer_input_box MMI_dialer_inputbox;
  432.     extern void (*dialer_inputbox_input_callback) (void);
  433.     extern void (*dialer_inputbox_navigate_callback) (void);
  434.     extern void create_dialer_inputbox(UI_string_type buffer, S32 buffer_length);
  435.     extern void create_dialer_inputbox_set_buffer(
  436.                     UI_string_type buffer,
  437.                     S32 buffer_length,
  438.                     S32 text_length,
  439.                     S32 edit_position);
  440.     extern void show_dialer_inputbox(void);
  441.     extern void redraw_dialer_inputbox(void);
  442.     extern void dialer_inputbox_multitap_input(UI_character_type c);
  443.     extern void dialer_inputbox_multitap_input_complete(void);
  444.     extern void dialer_inputbox_direct_input(UI_character_type c);
  445.     extern void dialer_inputbox_delete_character(void);
  446.     extern void dialer_inputbox_previous_character(void);
  447.     extern void dialer_inputbox_next_character(void);
  448.     extern void dialer_inputbox_toggle_insert_mode(void);
  449.     extern void dialer_inputbox_delete_current_character(void);
  450.     extern void dialer_inputbox_delete_all_characters(void);
  451.     extern void register_dialer_inputbox_keys(void);
  452.     extern void change_dialer_inputbox_mode(U8 mode);
  453.     extern void set_dialer_inputbox_mask(U8 m);
  454.     extern void reset_dialer_inputbox(void);
  455.     extern void move_dialer_inputbox(S32 x, S32 y);
  456.     extern void dialer_inputbox_numeric_keyboard_input_handler(S32 keyc);
  457.     extern void dialer_inputbox_alphabetic_keyboard_input_handler(S32 keyc);
  458.     extern void dialer_inputbox_handle_key_down(MMI_key_code_type k);
  459.     void register_dialer_inputbox_input_callback(void (*f) (void));
  460.     void register_dialer_inputbox_navigate_callback(void (*f) (void));
  461.     extern void resize_dialer_inputbox(S32 width, S32 height);
  462.     extern void register_multiline_sms_chat_inputbox_keys(void);
  463.     extern void register_inscreen_multiline_inputbox_keys(void);
  464.     extern void multiline_inscreen_inputbox_previous_line(void);
  465.     extern void multiline_inscreen_inputbox_next_line(void);
  466.     /* Gurinder - 5/5/2004 Inline Multiline Box History Control */
  467.     extern void create_multiline_inputbox_set_buffer_no_text_reset(UI_string_type, S32, S32, S32);
  468.     extern void wgui_multiline_inputbox_register_infobar_callback(
  469.                 void(*redraw_callback)(S32 x1,S32 y1,S32 x2,S32 y2),
  470.                 void(*reminder_char_callback)(S32 x1,S32 y1,S32 x2,S32 y2),
  471.                 U32 height);
  472.     extern void wgui_multiline_inputbox_register_change_event_handler(MMI_BOOL (*handler)(gui_multi_line_input_box_change_event_enum event,U16 C));
  473. #ifdef __cplusplus
  474. }
  475. #endif 
  476. #endif /* __WGUI_INPUTS_H__ */