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

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_categories_MM.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  Main Menu related categories.
  47.  *
  48.  *  Author:
  49.  * -------
  50.  *  Leo Hu (MTK00563)
  51.  *
  52.  *==============================================================================
  53.  *             HISTORY
  54.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55.  *------------------------------------------------------------------------------
  56.  * removed!
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * removed!
  61.  *
  62.  *------------------------------------------------------------------------------
  63.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  64.  *==============================================================================
  65.  *******************************************************************************/
  66. #ifndef __WGUI_CATEGORIES_MM_H__
  67. #define __WGUI_CATEGORIES_MM_H__
  68. #include "MMI_features.h"
  69. #include "wgui_categories_util.h"
  70. /* 1: Enables animated wallpapers in Idle screen
  71.    0: Disables animated wallpapers in Idle screen                    */
  72. #ifdef __MMI_ANIMATED_WALLPAPERS__
  73. #define ENABLE_ANIMATED_WALLPAPERS              1
  74. #else 
  75. #define ENABLE_ANIMATED_WALLPAPERS              0
  76. #endif 
  77. /* 1: Enables direct main menu implementation (fast but fixed to 3x3 grid)
  78.    0: Uses standard main menu implementation (slow with flexible grid)     */
  79. #define ENABLE_DIRECT_MAIN_MENU_IMPLEMENTATION     1
  80. /* 1: Enables one pixel spacing around the main menu                 */
  81. /* 0: No spacing around the main menu                          */
  82. /* This applies only to direct main menu                          */
  83. #define DIRECT_MAIN_MENU_BOUNDARY_SPACING       0
  84. /* Use this to define the amount by which the icons displayed
  85.    in unfocussed state (first frame) are shifted in the main menu       */
  86. #define DIRECT_MAIN_MENU_FIRST_FRAME_SHIFT_X    -5
  87. #define DIRECT_MAIN_MENU_FIRST_FRAME_SHIFT_Y    -5
  88. /* Set this to 1 to be able to change icons along with the title. This is
  89.    done externally using the highlight handler registered to the main menu
  90.    Set to 0 for normal operation                               */
  91. #define DISABLE_MAIN_MENU_HIGHLIGHT_TITLE_UPDATE   1
  92. typedef struct _matrix_main_menu_category_history
  93. {
  94.     U16 history_ID;
  95.     S16 highlighted_item;
  96.     U32 flags;
  97. } matrix_main_menu_category_history;
  98. typedef struct _circular_menu_category_history
  99. {
  100.     U16 history_ID;
  101.     S16 highlighted_item;
  102.     U32 flags;
  103. } circular_menu_category_history;
  104. typedef struct _matrix_main_menu
  105. {
  106.     S32 x, y;
  107.     U32 flags;
  108.     S32 n_items;
  109.     S32 highlighted_item;
  110.     PU8 *list_of_items;
  111.     void (*item_highlighted) (S32 item_index);
  112.     void (*item_unhighlighted) (S32 item_index);
  113.     bitmap highlight_area;
  114.     S32 save_x, save_y;
  115. } matrix_main_menu;
  116. extern matrix_main_menu _wgui_main_menu;
  117. extern UI_string_type _wgui_main_menu_item_strings[];
  118. extern void standard_bg_ani_list_highlight_handler(S32 item_index);
  119. extern U8 set_circular_menu_category_history(U16 history_ID, U8 *history_buffer);
  120. extern void get_circular_menu_category_history(U16 history_ID, U8 *history_buffer);
  121. extern void RedrawCategory14Screen(void);
  122. extern void ShowCategory14Screen(
  123.                 U16 title,
  124.                 U16 title_icon,
  125.                 U16 left_softkey,
  126.                 U16 left_softkey_icon,
  127.                 U16 right_softkey,
  128.                 U16 right_softkey_icon,
  129.                 S32 number_of_items,
  130.                 U16 *list_of_items,
  131.                 U16 *list_of_icons,
  132.                 S32 flags,
  133.                 S32 highlighted_item,
  134.                 U8 *history_buffer);
  135. extern void ExitCategory14Screen(void);
  136. extern S32 GetCategory14HistorySize(void);
  137. extern U8 *GetCategory14History(U8 *history_buffer);
  138. extern void initialize_mainmenu_title_icons(void);
  139. extern void draw_bg_animation(void);
  140. extern void draw_bg(void);
  141. #ifdef __MMI_BI_DEGREE_MAIN_MENU_STYLE__
  142. extern void ShowCategory414Screen(
  143.                 U16 title,
  144.                 U16 title_icon,
  145.                 U16 left_softkey,
  146.                 U16 left_softkey_icon,
  147.                 U16 right_softkey,
  148.                 U16 right_softkey_icon,
  149.                 S32 number_of_items,
  150.                 U16 *list_of_items,
  151.                 U16 *list_of_icons,
  152.                 U16 *list_of_icons2,
  153.                 U16 *list_of_menuitem_id,
  154.                 S32 flags,
  155.                 S32 highlighted_item,
  156.                 U8 *history_buffer);
  157. extern void ShowCat414Matrix(
  158.                 S32 number_of_items,
  159.                 U16 *list_of_items,
  160.                 U16 *list_of_icons,
  161.                 S32 flags,
  162.                 S32 highlighted_item,
  163.                 matrix_menu_category_history *history_buffer);
  164. #endif /* __MMI_BI_DEGREE_MAIN_MENU_STYLE__ */ 
  165. #endif /* __WGUI_CATEGORIES_MM_H__ */