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

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.  *
  37.  * Filename:
  38.  * ---------
  39.  * wgui_ems.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   This file is intends for UI wrapper routines for EMS
  48.  *
  49.  * Author:
  50.  * -------
  51.  * -------
  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.  *------------------------------------------------------------------------------
  68.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  69.  *============================================================================
  70.  ****************************************************************************/
  71. /**
  72.  * Copyright Notice
  73.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  74.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  75.  *  (It is illegal to remove this copyright notice from this software or any
  76.  *  portion of it)
  77.  */
  78. /**********************************************************************************
  79.    Filename:      wgui_ems.h
  80.    Author:         steven wu
  81.    Date Created:  March-22-2003
  82.    Contains:      UI wrapper routines for EMS and category screens
  83. **********************************************************************************/
  84. #ifndef __WGUI_EMS_H__
  85. #define __WGUI_EMS_H__
  86. #ifdef __cplusplus
  87. extern "C"
  88. {
  89. #endif /* __cplusplus */ 
  90. #include "gui_config.h"
  91. #include "PixtelDataTypes.h"
  92. #if(!UI_DISABLE_EMS_CATEGORY_SCREENS)
  93. #include "gui_ems.h"
  94. #include "wgui_categories.h"
  95.     /* EMS Application menus               */
  96.     extern void GotoEMSTextFormattingMenu(void);
  97.     extern void EntryEMSMainMenu(void);
  98.     extern void ExitEMSMainMenu(void);
  99.     extern void EntryEMSObjectsMenu(void);
  100.     extern void ExitEMSObjectsMenu(void);
  101.     extern void EntryEMSTextFormattingMenu(void);
  102.     extern void ExitEMSTextFormattingMenu(void);
  103.     extern void EntryEMSTextSizeSelectionMenu(void);
  104.     extern void ExitEMSTextSizeSelectionMenu(void);
  105.     extern void EntryEMSTextStyleSelectionMenu(void);
  106.     extern void ExitEMSTextStyleSelectionMenu(void);
  107.     extern void EntryEMSTextAlignmentSelectionMenu(void);
  108.     extern void ExitEMSTextAlignmentSelectionMenu(void);
  109.     extern void EntryEMSNewParagraphAlignmentMenu(void);
  110.     extern void ExitEMSNewParagraphAlignmentMenu(void);
  111.     /* External functions from wgui_categories   */
  112.     extern U8 *dummy_get_history(U8 *buffer);
  113.     extern S32 dummy_get_history_size(void);
  114.     extern void show_input_mode(void);
  115.     void register_hide_multitap(void (*f) (void));
  116.     extern void category5_hide_multitap(void);
  117.     extern void change_input_mode(void);
  118.     extern void (*inputbox_change_mode) (void);
  119.     extern void change_multiline_inputbox_input_mode(void);
  120.     extern U8 MMI_current_input_mode;
  121.     /* Leo start 20050722, remove compile warnings */
  122.     extern void wgui_EMS_setup_input_information(S32 x, S32 y, S32 width, S32 height);
  123.     extern void move_EMS_inputbox(S32 x, S32 y);
  124.     extern void resize_EMS_inputbox(S32 width, S32 height);
  125.     extern void wgui_EMS_redraw_input_information_bar(void);
  126.     extern void show_EMS_inputbox(void);
  127.     extern void get_EMS_inputbox_category_history(U16 history_ID, U8 *history_buffer, S16 input_type);
  128.     extern U8 set_EMS_inputbox_category_history(U16 history_ID, U8 *history_buffer, S16 *input_type);
  129.     /* Leo end 20050722 */
  130. #define EMS_USE_INTERNAL_MENU             0
  131. #define ENABLE_EMS_TEST_DEMO              0
  132. #define EMS_USE_STUB_MENU                 0
  133. #define ENABLE_EMS_TEST_OBJECTS              0
  134. #define ENABLE_EMS_TEST_WORD_HIGHLIGHT       0
  135. #define EMS_INPUTBOX_DEBUG                0
  136. #define EMS_USE_GSM_EXTENDED              0
  137. #define EMS_PREDEFINED_PICTURE         1
  138. #define EMS_USERDEFINED_PICTURE        2
  139. #define EMS_PREDEFINED_ANIMATION    3
  140. #define EMS_USERDEFINED_ANIMATION      4
  141. #define EMS_PREDEFINED_SOUND        5
  142. #define EMS_PREDEFINED_MELODY       6
  143. #define EMS_USERDEFINED_MELODY         7
  144. #ifndef CATEGORY144_FMGR_PREVIEW
  145. #define CATEGORY144_FMGR_PREVIEW    0x1000
  146. #endif 
  147. #define CATEGORY144_DISABLE_PREVIEW 0x0100
  148. #define CATEGORY144_EMAIL_PREVIEW       0x0010
  149. #ifdef __MMI_MESSAGES_EMS__
  150.     extern EMSTATUS EMS_load_object(U32 type, U8 *data, S32 index, EMSObjData *object);
  151. #endif 
  152.     extern EMSTATUS EMS_inputbox_insert_predefined_picture(S32 index);
  153.     extern EMSTATUS EMS_inputbox_insert_userdefined_picture(U8 *data);
  154.     extern EMSTATUS EMS_inputbox_insert_predefined_animation(S32 index);
  155.     extern EMSTATUS EMS_inputbox_insert_userdefined_animation(U8 *data);
  156.     extern EMSTATUS EMS_inputbox_insert_predefined_sound(S32 index);
  157.     extern EMSTATUS EMS_inputbox_insert_predefined_melody(S32 index);
  158.     extern EMSTATUS EMS_inputbox_insert_userdefined_melody(U8 *data);
  159.     extern void EMS_load_predefined_picture(S32 index, U8 *data);
  160.     extern S32 EMS_get_predefined_picture_size(S32 index);
  161.     extern S32 EMS_get_predefined_picture_data_size(U8 *data);
  162.     extern S32 EMS_get_userdefined_picture_size(U8 *data);
  163.     extern S32 EMS_get_predefined_animation_size(S32 index);
  164.     extern S32 EMS_get_userdefined_animation_size(U8 *data);
  165.     extern S32 EMS_get_predefined_sound_size(S32 index);
  166.     extern void EMS_load_predefined_melody(S32 index, U8 *data);
  167.     extern S32 EMS_get_predefined_melody_size(S32 index);
  168.     extern S32 EMS_get_predefined_melody_data_size(U8 *data);
  169.     extern S32 EMS_get_userdefined_melody_size(U8 *data);
  170.     extern S32 EMS_check_userdefined_picture_size(U8 *data, U8 *allowed);
  171.     extern S32 EMS_check_predefined_picture_data_size(U8 *data, U8 *allowed);
  172.     extern S32 EMS_check_userdefined_animation_size(U8 *data, U8 *allowed);
  173.     extern S32 EMS_check_predefined_melody_data_size(U8 *data, U8 *allowed);
  174.     extern S32 EMS_check_userdefined_melody_size(U8 *data, U8 *allowed);
  175.     extern void EMS_userdefined_melody_attach_header(U8 *src, U8 *dst, S32 *size);
  176.     extern void EMS_userdefined_melody_detach_header(U8 *src, U8 *dst, S32 *size);
  177.     extern void EMS_predefined_melody_attach_header(U8 *src, U8 *dst, S32 *size);
  178.     extern void EMS_predefined_melody_detach_header(U8 *src, U8 *dst, S32 *size);
  179.     extern void EMS_inputbox_set_text_size(EMSFONTSIZE s);
  180.     extern EMSFONTSIZE EMS_inputbox_get_text_size(void);
  181.     extern void EMS_inputbox_set_text_style(U8 isBold, U8 isItalic, U8 isUnderline, U8 isStrikethrough);
  182.     extern void EMS_inputbox_get_text_style(U8 *isBold, U8 *isItalic, U8 *isUnderline, U8 *isStrikethrough);
  183.     extern EMSTATUS EMS_inputbox_set_text_alignment(EMSALIGNMENT a);
  184.     extern EMSALIGNMENT EMS_inputbox_get_text_alignment(void);
  185.     extern EMSTATUS EMS_inputbox_create_new_paragraph(EMSALIGNMENT a);
  186.     extern void EMS_inputbox_backspace(void);
  187.     extern void EMS_inputbox_delete_all(void);
  188.     extern U8 test_EMS_inputbox_change_mode(void);
  189.     extern void initialize_EMS_objects(void);
  190.     extern void register_EMS_inputbox_keys(void);
  191.     extern void change_EMS_inputbox_input_mode(void);
  192.     extern void wgui_EMS_inputbox_insert_symbol(UI_character_type symbol);
  193.     extern void close_EMS_objects(void);
  194.     extern void reset_EMS_inputbox(void);
  195.     extern void register_EMS_inputbox_viewer_keys(void);
  196.     extern void create_EMS_viewer_header(U8 *message);
  197.     extern void EMS_viewer_show_header(S32 x1, S32 y1, S32 x2, S32 y2);
  198.     extern S32 EMS_viewer_measure_header(void);
  199.     extern void EMS_inputbox_handle_key_down(MMI_key_code_type k);
  200.     extern void wgui_set_EMS_inputbox_RSK(void);
  201.     extern void wgui_EMS_inputbox_handle_symbol_picker_star_key(void);
  202.     extern void register_EMS_multitap_function(void);
  203.     extern void EMS_inputbox_numeric_keyboard_input_handler(S32 keyc);
  204.     extern void RedrawCategory28Screen(void);
  205.     extern void ShowCategory28Screen(
  206.                     U16 title,
  207.                     U16 title_icon,
  208.                     U16 left_softkey,
  209.                     U16 left_softkey_icon,
  210.                     U16 right_softkey,
  211.                     U16 right_softkey_icon,
  212.                     EMSData *data,
  213.                     U8 *history_buffer);
  214.     extern void ExitCategory28Screen(void);
  215.     extern S32 GetCategory28HistorySize(void);
  216.     extern U8 *GetCategory28History(U8 *history_buffer);
  217.     extern void CloseCategory28Screen(void);
  218.     void SetCategory28RightSoftkeyFunction(void (*f) (void), MMI_key_event_type k);
  219.     extern U8 AppendCategory28String(S16 input_type, EMSData *data, U8 *s, U8 *history_buffer);
  220.     extern U8 AppendEMSString(S16 input_type, EMSData *data, U8 *s, U8 dcs, U8 *history_buffer);
  221.     extern void RedrawCategory29Screen(void);
  222.     extern void ShowCategory29Screen(
  223.                     U16 title,
  224.                     U16 title_icon,
  225.                     U16 left_softkey,
  226.                     U16 left_softkey_icon,
  227.                     U16 right_softkey,
  228.                     U16 right_softkey_icon,
  229.                     EMSData *data,
  230.                     U8 *history_buffer);
  231.     extern void ExitCategory29Screen(void);
  232.     extern S32 GetCategory29HistorySize(void);
  233.     extern U8 *GetCategory29History(U8 *history_buffer);
  234.     extern void CloseCategory29Screen(void);
  235.     extern void RedrawCategory39Screen(void);
  236.     extern void ShowCategory39Screen(
  237.                     U16 title,
  238.                     U16 title_icon,
  239.                     U16 left_softkey,
  240.                     U16 left_softkey_icon,
  241.                     U16 right_softkey,
  242.                     U16 right_softkey_icon,
  243.                     EMSData *data,
  244.                     U8 *header,
  245.                     U8 *history_buffer);
  246.     extern void ExitCategory39Screen(void);
  247.     extern S32 GetCategory39HistorySize(void);
  248.     extern U8 *GetCategory39History(U8 *history_buffer);
  249.     extern void CloseCategory39Screen(void);
  250. typedef struct _EMS_inputbox_category_history
  251. {
  252. U16 history_ID;
  253. S16 cursor_ax, cursor_ay;
  254. S16 cursor_line_height;
  255. S16 display_y;
  256. S16 input_type;
  257. S16 UCS2_count;
  258. #if defined(__MMI_TOUCH_SCREEN__)
  259. S16 vk_lang_type;
  260. #endif 
  261. } EMS_inputbox_category_history;
  262.     typedef struct
  263.     {
  264.         const U8 *data;
  265.         kal_uint32 len;
  266.     } ems_resource_struct;
  267.     extern void move_EMS_inputbox(S32 x, S32 y);
  268.     extern void resize_EMS_inputbox(S32 width, S32 height);
  269. #endif /* (!UI_DISABLE_EMS_CATEGORY_SCREENS) */ 
  270. #ifdef __cplusplus
  271. }
  272. #endif 
  273. #endif /* __WGUI_EMS_H__ */