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

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.  *   ThemeConverterXML.c
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  * Header file for the ThemeConverter of DLT project
  48.  *
  49.  * Author:
  50.  * -------
  51.  * -------
  52.  *  Vikas Gupta(PMT)
  53.  *   
  54.  *==============================================================================
  55.  *             HISTORY
  56.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  57.  *------------------------------------------------------------------------------
  58.  * removed!
  59.  *
  60.  * removed!
  61.  * removed!
  62.  * removed!
  63.  *
  64.  * removed!
  65.  * removed!
  66.  * removed!
  67.  *
  68.  *
  69.  *------------------------------------------------------------------------------
  70.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  71.  *==============================================================================
  72.  *******************************************************************************/
  73. /* if some header should be include before this one */
  74. #define __NEWSIMULATOR
  75. #include "gui_data_types.h"
  76. #include "PixtelDataTypes.h"
  77. #include "CustThemesRes.h"
  78. #undef __NEWSIMULATOR
  79. #ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
  80. /***************************************************************************** 
  81. * Define of Vikas
  82. *****************************************************************************/
  83. #define SIZE_XML_TAG 20
  84. #define SIZE_IMAGE_TAG 50
  85. #define MAX_MODEL_ID_LEN 20
  86. #define MAX_PHONE_MODELS 10
  87. /***************************************************************************** 
  88. * Typedef 
  89. *****************************************************************************/
  90. /* typedef void (*XMLTagHandler)(U8** ); */
  91. typedef void (*xml_tag_handler_hdlr) (U8 **);
  92. /***************************************************************************** 
  93. * Extern Global Variable
  94. *****************************************************************************/
  95. /***************************************************************************** 
  96. * Extern Global Function
  97. *****************************************************************************/
  98. /**************  flash tables   ****************/
  99. /* We wll form table containing the all tags and their corresponding function pointers */
  100. typedef struct
  101. {
  102.     U8 xml_tag[SIZE_XML_TAG];
  103.     xml_tag_handler_hdlr tag_handler;
  104.     /* void (*funcptr)(char **attr); */
  105. } tc_all_tags_index_struct;
  106. /* The table for the image tag and all the image attributes is defined below */
  107. typedef struct
  108. {
  109.     U8 image_tag[SIZE_IMAGE_TAG];
  110.     U16 imageId;
  111. } tc_image_tags_index_struct;
  112. /* In this table each alphabet corresponds to first location of a tag starting with this index.Elements */
  113. typedef struct
  114. {
  115.     U8 index;
  116.     U8 no_of_elements;
  117. } tc_search_all_tags_struct;
  118. /* The Table for the searching for getting the required image ID */
  119. typedef struct
  120. {
  121.     U8 index;
  122.     U8 no_of_elements;
  123. } tc_search_image_all_tags_struct;
  124. /* Table for the Deviceinfo */
  125. typedef struct
  126. {
  127.     U8 model_ID[MAX_PHONE_MODELS][MAX_MODEL_ID_LEN];
  128.     U32 lcdwidth;
  129.     U32 lcdht;
  130. } tc_deviceinfo_struct;
  131. typedef struct
  132. {
  133.     U8 *name_p;
  134.     FLOAT version;
  135. } tc_theme_download_info_struct;
  136. /*************** end of flash tables ********************/
  137. /***********  Context structure **************************/
  138. extern void mmi_tc_theme_imageid_image_handler(U16 imageid, U32 image_offset);
  139. extern PU8 mmi_tc_theme_non_imageid_image_handler(U32 image_offset);
  140. extern void mmi_tc_play_audio_funcptr(U32 audio_offset);
  141. /******** end of the context structure   ***************/
  142. /*********  function prototypes ***************/
  143. extern BOOL mmi_tc_convert_theme_file_to_mmi_theme(MMI_theme **theme_p, U32 file_handle);
  144. extern void mmi_tc_inline_list_menu_tag_handler(U8 **);
  145. extern void mmi_tc_call_scr_tag_handler(U8 **attr_p);
  146. extern void mmi_tc_multi_tap_tag_handler(U8 **);
  147. extern void mmi_tc_scroll_bar_tag_handler(U8 **);
  148. extern void mmi_tc_multi_ip_box_tag_handler(U8 **);
  149. extern void mmi_tc_font_col_tag_handler(U8 **);
  150. extern void mmi_tc_title_tag_handler(U8 **);
  151. extern void mmi_tc_rsk_down_tag_handler(U8 **);
  152. extern void mmi_tc_rsk_up_tag_handler(U8 **);
  153. extern void mmi_tc_lsk_down_tag_handler(U8 **);
  154. extern void mmi_tc_lsk_up_tag_handler(U8 **);
  155. extern void mmi_tc_dialer_ip_box_tag_handler(U8 **);
  156. extern void mmi_tc_inline_edit_tag_handler(U8 **);
  157. extern void mmi_tc_main_menu_tag_handler(U8 **);
  158. extern void mmi_tc_progress_scr_menu_tag_handler(U8 **);
  159. extern void mmi_tc_setting_pin_scr_tag_handler(U8 **);
  160. extern void mmi_tc_image_list_tag_handler(U8 **);
  161. extern void mmi_tc_font_col_list_tag_handler(U8 **);
  162. extern void mmi_tc_tones_list_tag_handler(U8 **);
  163. extern void mmi_tc_deviceinfo_tag_handler(U8 **);
  164. extern void mmi_tc_progress_scr_tag_handler(U8 **);
  165. extern void mmi_tc_shortcut_ind_tag_handler(U8 **);
  166. extern void mmi_tc_statusbar_tag_handler(U8 **);
  167. extern void mmi_tc_matrix_menu_tag_handler(U8 **);
  168. extern void mmi_tc_list_menu_tag_handler(U8 **);
  169. extern void mmi_tc_infobar_tag_handler(U8 **);
  170. extern void mmi_tc_general_bkgrnd_tag_handler(U8 **);
  171. extern void mmi_tc_format_ipbox_tag_handler(U8 **);
  172. extern void mmi_tc_virtual_kb_tag_handler(U8 **);
  173. extern void mmi_tc_popup_description_tag_handler(U8 **);
  174. extern void mmi_tc_aphorism_scr_tag_handler(U8 **);
  175. extern void mmi_tc_popup_scr_tag_handler(U8 **);
  176. extern void mmi_tc_nw_scr_tag_handler(U8 **);
  177. extern void mmi_tc_datetimebar_tag_handler(U8 **);
  178. extern void mmi_tc_call_scr_tag_handler(U8 **);
  179. extern void mmi_tc_ip_box_tag_handler(U8 **);
  180. extern void mmi_tc_pin_ip_box_tag_handler(U8 **);
  181. extern void mmi_tc_drop_dn_tag_handler(U8 **);
  182. extern void mmi_tc_buttonbar_tag_handler(U8 **);
  183. extern void mmi_tc_menubar_tag_handler(U8 **);
  184. extern int mmi_tc_processqueue(void);
  185. extern void mmi_tc_device_theme_ver_info(U8 **);
  186. extern void mmi_tc_list_main_menu_tag_handler(U8 **);
  187. extern void mmi_tc_matrix_main_menu_tag_handler(U8 **);
  188. extern void mmi_tc_opacity_tag_handler(U8 **);
  189. extern void mmi_tc_idle_scr_font_col_tag_handler(U8**);
  190. /* void fixed_menu_tag_handler(U8**); */
  191. extern U8 mmi_tc_extract_no_of_bits(U8 *Data_p, U16 Offset, U16 Bits);
  192. extern U8 mmi_tc_ascii_to_hex_convert(S8 character);
  193. extern void mmi_tc_my_xml_elem_end_hdlr(void *data_p, const char *el_p);
  194. extern void mmi_tc_my_xml_elem_start_hdlr(void *data_p, const char *el_p, const char **attr_p);
  195. /*********  end of function prototypes ***************/
  196. #endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */