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

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.  * MMI_features_GUI.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *   This file is intends for GUI features definition.
  47.  *
  48.  * Author:
  49.  * -------
  50.  * -------
  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.  * removed!
  63.  * removed!
  64.  * removed!
  65.  *
  66.  * removed!
  67.  * removed!
  68.  * removed!
  69.  *
  70.  * removed!
  71.  * removed!
  72.  * removed!
  73.  *
  74.  * removed!
  75.  * removed!
  76.  * removed!
  77.  *
  78.  * removed!
  79.  * removed!
  80.  * removed!
  81.  *
  82.  * removed!
  83.  * removed!
  84.  * removed!
  85.  *
  86.  * removed!
  87.  * removed!
  88.  * removed!
  89.  *
  90.  * removed!
  91.  * removed!
  92.  * removed!
  93.  *
  94.  * removed!
  95.  * removed!
  96.  * removed!
  97.  *
  98.  * removed!
  99.  * removed!
  100.  * removed!
  101.  *
  102.  * removed!
  103.  * removed!
  104.  * removed!
  105.  *
  106.  * removed!
  107.  * removed!
  108.  * removed!
  109.  *
  110.  * removed!
  111.  * removed!
  112.  * removed!
  113.  *
  114.  * removed!
  115.  * removed!
  116.  * removed!
  117.  *
  118.  * removed!
  119.  * removed!
  120.  * removed!
  121.  *
  122.  * removed!
  123.  * removed!
  124.  * removed!
  125.  *
  126.  * removed!
  127.  * removed!
  128.  * removed!
  129.  *
  130.  * removed!
  131.  * removed!
  132.  * removed!
  133.  *
  134.  * removed!
  135.  * removed!
  136.  * removed!
  137.  *
  138.  * removed!
  139.  * removed!
  140.  * removed!
  141.  *
  142.  * removed!
  143.  * removed!
  144.  * removed!
  145.  *
  146.  * removed!
  147.  * removed!
  148.  * removed!
  149.  *
  150.  * removed!
  151.  * removed!
  152.  * removed!
  153.  *
  154.  *
  155.  *------------------------------------------------------------------------------
  156.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  157.  *==============================================================================
  158.  *******************************************************************************/
  159. #ifndef __MMI_FEATURES_GUI__
  160. #define __MMI_FEATURES_GUI__
  161. #ifndef __MMI_FEATURES__
  162. #error "Please Do Not include MMI_feautres_GUI.h directly. Include MMI_features.h first."
  163. #endif
  164. #include "GUITypeDef.h"
  165. /*****************************************************************************
  166.  [Framework]: GUI
  167.  *****************************************************************************/
  168. #ifdef __MMI_UNIFIED_COMPOSER__
  169.     #define __UI_UNIFIED_COMPOSER_EDITOR_CATEGORY__           /* Detail Info: [ Unified Composer Editor Category]*/
  170. #endif
  171. //#define __MMI_MATRIX_MAIN_MENU_FULL_BACKGROUND__ /* Detail Info: [Support matrix main menu with full background. Title bar is an option] */
  172. #ifdef __MMI_MATRIX_MAIN_MENU_FULL_BACKGROUND__
  173. //#define __MMI_MATRIX_MAIN_MENU_NO_TITLEBAR__ /* Detail Info: [Support matrix main menu without title bar] */
  174. #endif
  175. #define __MMI_STATUS_BAR_NO_UNDERLINE__ /* Detail Info: []*/
  176. #if !defined(__MMI_LITE_DISPLAY__)
  177. #define __MMI_ANIMATED_WALLPAPERS__ /* Detail Info: []*/
  178. #endif
  179. #if defined(WAP_SUPPORT)
  180. #define __MMI_WCSS_INPUT_FORMAT_SUPPORT__ /* Detail Info: [Editor support for -wap-input-format CSS format]*/
  181. #endif
  182. #define __MMI_UI_SMALL_SCREEN_SUPPORT__  /* Detail Info: [For small screen support such as popup screen]*/
  183. #if defined __MMI_UI_SMALL_SCREEN_SUPPORT__
  184.    #if (defined(__MMI_MAINLCD_176X220__) || defined(__MMI_MAINLCD_240X320__))
  185.     #define UI_SMALL_LIST_SCREEN /* Detail Info: [For Small List Screen]*/
  186.     #define UI_SMALL_PIN_EDITOR_SCREEN /* Detail Info: [For Small PIN editor Screen]*/
  187.     #if defined (__MMI_MESSAGES_EMS__) 
  188.     #define UI_SMALL_IMAGE_SELECTOR_SCREEN /* Detail Info: [For Small Image Select Screen]*/
  189.     #endif    
  190.     #if !defined(__MMI_TOUCH_SCREEN__)
  191.     #define UI_SMALL_CATEGORY_EDITOR /* Detail Info: [For Small Editor Screen]*/
  192.     #endif
  193.    #endif
  194. #endif
  195. #if defined (__MMI_TOUCH_DIAL_SCREEN__) && defined (__MMI_MAINLCD_240X320__)
  196. #define __MMI_TOUCH_DIAL_SCREEN_WITH_FUNCTION__ /* Detail Info: [Touch Dialing Screen with function keys] */
  197. #endif
  198. /* For transition effects */
  199. #ifndef __MMI_DRAW_MANAGER__
  200. //#define __MMI_UI_TITLE_TRANSITION__ /* Detail Info: Title transition */
  201. //#define __MMI_UI_LIST_TRANSITION__ /* Detail Info: List transition */
  202. #endif
  203. #ifdef __MMI_TOUCH_SCREEN__
  204. #define __MMI_UI_HINT_TOGGLE_TRANSITION__ /* Detail Info: Play transition animation when hint text is changed */
  205. #else
  206.     #if !defined(__MMI_MAINLCD_128X128__) && !defined(__MMI_MAINLCD_128X160__)
  207.      #define __MMI_UI_HINTS_IN_MENUITEM__ /* Detail Info: Double lines of menuitem */
  208.     #endif
  209. #endif 
  210. #if !defined(__MMI_LITE_DISPLAY__)
  211. //#define __MMI_UI_TRANSPARENT_EFFECT__ //KP Jerry disable on 2007-3-2         /* Detail Info: Transparent highlight of list menu*/
  212. //#define __MMI_UI_LIST_HIGHLIGHT_EFFECTS__   //KP Jerry disable on 2007-3-2         /* Detail Info: [List Effect type, should be one of the following. TRANSPARENCY , FLASH_FEELING , ANIMATION , NONE  ] */
  213. #endif
  214. #ifdef __MMI_UI_LIST_HIGHLIGHT_EFFECTS__ /* The style can be one of the following: HIGHLIGHT_EFFECT_TRANSPARENCY, HIGHLIGHT_EFFECT_FLASH_FEELING, HIGHLIGHT_EFFECT_ANIMATION, HIGHLIGHT_EFFECT_NONE */
  215. #define __MMI_UI_LIST_HIGHLIGHT_EFFECT_TYPE__ HIGHLIGHT_EFFECT_FLASH_FEELING
  216. #endif
  217. #define __MMI_UI_INLINE_EDIT_DEFAULT_TEXT_EFFECT__ /* Detail Info: [Inline edit default text effect]*/
  218. #ifdef DEMO_PROJECT
  219. //#define __MMI_UI_TWO_LINE_MENUITEM_STYLES__ /* Detail Info: [2 line menuitem with Inline Select effect]*/
  220. #endif
  221. #ifdef __P02_QVGA__     //KP Jerry add on 2007-3-27
  222. #define __MMI_COLOR_DIALLING_FONT__     /* Detail Info: []*/
  223. #endif     //KP Jerry add on 2007-3-27
  224. #if defined (__MMI_MAINLCD_176X220__)
  225. #if defined(__MMI_LANG_TR_CHINESE__) || defined(__MMI_LANG_SM_CHINESE__)       //KP Jerry add on 2007-3-24
  226.    #define __MMI_16X16_CHINESE_FONT__    /* Detail Info: []*/
  227. #endif       //KP Jerry add on 2007-3-24   
  228. #endif
  229. //KP Jerry add on 2007-3-24 start
  230. #if defined (__MMI_MAINLCD_240X320__)
  231. #ifndef __GAME_SIMU__
  232.    #define __MMI_24X24_CHINESE_FONT__    /* Detail Info: []*/
  233. #else
  234.    #define __MMI_16X16_CHINESE_FONT__    /* Detail Info: []*/
  235. #endif
  236. //KP Jerry add on 2007-3-24 end
  237. #endif/*#if define(__MMI_LANG_TR_CHINESE__) || (__MMI_LANG_SM_CHINESE__)*/       //KP Jerry add on 2007-3-24
  238. /* Scrollbar style: if no option is defined, default style is automatically set. */
  239.  #define __MMI_UI_SCROLLBAR_DEFAULT_STYLE_3__ /* Detail Info: [scrollbar styles requiring addition images] */
  240. // #define __MMI_UI_SCROLLBAR_DEFAULT_STYLE_2__ /* Detail Info: [Rounded bar with arrows] */
  241. // #define __MMI_UI_SCROLLBAR_DEFAULT_STYLE_1__ /* Detail Info: [old style flat scrollbar] */
  242. /* Popup description(hint) style: if no option is defined, default style is automatically set. */
  243. // #define __MMI_UI_POPUP_DESCRIPTION_DEFAULT_STYLE_3__     /* Detail Info: [Balloon style] */
  244. // #define __MMI_UI_POPUP_DESCRIPTION_DEFAULT_STYLE_2__ /* Detail Info: [Round corner with border and shadow] */
  245. // #define __MMI_UI_POPUP_DESCRIPTION_DEFAULT_STYLE_1__ /* Detail Info: [Old-style flat] */
  246. #define __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ /* Detail Info: [Enable signal strength status icon combine with line switch]*/
  247. #if defined (__MMI_DRAW_MANAGER__) && defined (__MMI_MAINLCD_240X320__)
  248. #define __MMI_UI_CALENDAR_WITH_INFO_BOX__ /* Detail Info: [Enable an infomation box embedded in calendar]*/
  249. #endif
  250. #if !defined(__MMI_MAINLCD_128X128__) && !defined(__MMI_MAINLCD_128X160__)
  251. //#define __MMI_UI_STATUS_BAR_AT_BOTTOM__   //jerson del 20070608                              /* Detail Info: [Idlescreen shows status icon on bottom and draw while segment lines]*/
  252. #define __MMI_UI_FULLSCREEN_GREYSCALE_DISABLE__                  //KP Jerry add on 2006-11-13
  253. #endif
  254. /* Macros added for Dalmatian UI Style Start */
  255. #define __MMI_UI_SOFTKEY_STYLE__ SOFTKEY_STYLE_NONE /* The style can be one of the following: SOFTKEY_STYLE_NONE, SOFTKEY_STYLE_DALMATIAN, SOFTKEY_STYLE_TECHNO */
  256. #define __MMI_UI_STATUSBAR_STYLE__ STATUSBAR_STYLE_NONE /* The style can be one of the following: STATUSBAR_STYLE_NONE, STATUSBAR_STYLE_DALMATIAN, STATUSBAR_STYLE_TECHNO */
  257. #ifdef __MMI_MAINLCD_176X220__
  258. //#define __MMI_UI_DALMATIAN_FIXEDLIST__ /* Detail Info: [drawing lines and grids for list and menuitems] */
  259. #ifdef __MMI_UI_DALMATIAN_FIXEDLIST__
  260. #define __MMI_UI_MM_LIST_NO_GRID__ /* Detail Info: [Don't draw grid on List main menu]*/
  261. #endif
  262. #define __MMI_UI_DALMATIAN_EDITOR__ /* Detail Info: [showing a background image if there is no input] */
  263. #endif
  264. #if (defined(__MMI_MAINLCD_176X220__) || defined(__MMI_MAINLCD_128X160__))
  265. //#define  __MMI_UI_DALMATIAN_CALENDAR__
  266. #ifdef __MMI_UI_DALMATIAN_CALENDAR__
  267. #define __MMI_UI_TRANSPARENT_EFFECT_IN_DALMATIAN_CALENDAR__
  268. #endif
  269. #endif
  270. /* Macros added for Dalmatian UI Style End */
  271. /*  Macros added for Techno UI Style Start */
  272. #ifdef __MMI_MAINLCD_240X320__
  273. #define __MMI_UI_TECHNO_IDLESCREEN_BAR__ /* Detail Info: [Techno styled idle screen bar containing clock]*/
  274. //#define __MMI_UI_TECHNO_IDLESCREEN_BAR_HALF_TRANSPARENT_DISPLAY__   //KP Jerry add on 2007-1-5
  275. #if defined (__MMI_TOUCH_SCREEN__)
  276. //KP Jerry modify on 2006-11-2 start
  277. //#define __MMI_TOUCH_IDLESCREEN_SHORTCUTS__ //KP Jerry disable on 2006-11-1        /* Detail Info: [Display Idle Screen shortcuts]*/
  278. #define __MMI_TOUCH_IDLESCREEN_HW_SHORTCUTS__
  279. #ifdef __MMI_TOUCH_IDLESCREEN_HW_SHORTCUTS__
  280. #define TOUCHPANEL_HW_SHORTCUT_AREA_HEIGHT    20
  281. #endif
  282. //KP Jerry modify on 2006-11-2 end
  283. #endif
  284. #endif
  285. #ifndef __MMI_UI_TECHNO_STATUS_ICON__
  286. //#define __MMI_UI_ANIMATED_TITLE_EFFECT__ /* Detail Info: [Title Effect type, should be one of the following. ONCE , CONTINOUS ] */
  287. #endif
  288. #ifdef __MMI_UI_ANIMATED_TITLE_EFFECT__ /* The style can be one of the following: ONCE, CONTINOUS */
  289.  #define __MMI_TITLE_EFFECT_TYPE__ ONCE
  290. #endif
  291. /*  Macros added for Techno UI Style End */
  292. /* Mainmenu-related definition start */
  293. /* Detail Info: [MainMenu type, should be one of the following. LIST , MATRIX , CIRCULAR_3D , PAGE , FIXED_GRID , ANI_BG_LIST] */
  294. #define __MMI_VERSION_2__ /* Detail Info: [Turn on 12-grid main menu]*/
  295. #if defined (__MMI_TOUCH_SCREEN__)
  296. #if defined(__P02_QVGA__) ||defined(__P08_QVGA__) ||defined(__S03_QVGA__)    //KP Jerry add on 2007-1-18
  297. //#define __MMI_BI_DEGREE_MAIN_MENU_STYLE__ //jerson del 20070613 /* Detail Info: [For Two Level main menu ] */
  298. //KP Jerry add on for realign main-menu icons 2006-11-22 start
  299. #ifdef __MMI_MAINLCD_240X320__
  300. #define __MMI_BI_DEGREE_MAIN_MENU_CUSTOMIZED_COORDINATES__
  301. #endif
  302. //KP Jerry add on for realign main-menu icons 2006-11-22 end
  303. #endif      //KP Jerry add on 2007-1-18
  304. #endif
  305. //#if !defined( __MMI_BI_DEGREE_MAIN_MENU_STYLE__) && !defined(__MMI_MAINLCD_240X320__)
  306. #if !defined( __MMI_BI_DEGREE_MAIN_MENU_STYLE__)//082806 240x320 matrix
  307. #define __MMI_MATRIX_MAIN_MENU_OPTIMIZE__   /* Detail Info: [For Speed Up matrix mainmenu display] */
  308. //#define __MMI_MAINMENU_STYLE_CHANGE_EN__ //KP Jerry disable on 2007-1-19 /* Detail Info: [Enable changeable main menu style feature]*/
  309. #define __MMI_MAINMENU_TYPE__ MATRIX /* Detail Info: [MainMenu type, should be one of the following. MATRIX , PAGE , LIST , CIRCULAR_3D , ROTATE , TAB , FIXED_GRID , ANI_BG_LIST] */
  310. /* Detail Info: [The default main menu type you chosed should be one of the following supported types] */
  311. #define __MMI_KP_STYLE_MAIN_MENU_MATRIX__     
  312. #if (defined(__MMI_MAINLCD_176X220__) || defined(__MMI_MAINLCD_128X160__)) && !defined(__MMI_DRAW_MANAGER__)
  313. //#define __MMI_UI_DALMATIAN_MAINMENU__ /* Detail Info: [Dalmatian styled page mainmenu]*/
  314. //#define __MMI_UI_TECHNO_MAINMENU__ /* Detail Info: [Techno styled page mainmenu]*/
  315. #endif
  316. #ifdef __MMI_MAINMENU_STYLE_CHANGE_EN__ /* Detail Info: [Turn off the circular main menu style in changeable main menu style]*/
  317. #define __MMI_MAINMENU_MATRIX_SUPPORT__
  318. //#define __MMI_MAINMENU_PAGE_SUPPORT__
  319. //#define __MMI_MAINMENU_LIST_SUPPORT__
  320. #ifndef __MMI_MAINLCD_128X128__
  321. //#define __MMI_MAINMENU_CIRCULAR_SUPPORT__
  322. #endif
  323. //#define __MMI_MAINMENU_ROTATE_SUPPORT__
  324. #if !defined (__MMI_TOUCH_SCREEN__) && !defined (__MMI_DRAW_MANAGER__)
  325. //#define __MMI_MAINMENU_TAB_SUPPORT__ /* Detail Info: Tab based mainmenu support*/
  326. #ifdef __MMI_MAINMENU_TAB_SUPPORT__
  327. #define __MMI_UI_TITLE_TRANSITION__
  328. #endif
  329. #endif
  330. #else
  331. #if defined(__MMI_UI_TECHNO_MAINMENU__) || defined(__MMI_UI_DALMATIAN_MAINMENU__)
  332. #undef __MMI_MAINMENU_TYPE__
  333. #define __MMI_MAINMENU_TYPE__ PAGE
  334. #endif
  335. #endif /* __MMI_MAINMENU_STYLE_CHANGE_EN__ */
  336. #else
  337. #define __MMI_MAINMENU_TYPE__ LIST /* Detail Info: [MainMenu type, should be one of the following. LIST , MATRIX , CIRCULAR_3D , PAGE , FIXED_GRID , ANI_BG_LIST] */
  338. #endif
  339. #ifndef __MMI_UI_DALMATIAN_MAINMENU__
  340. #define __MMI_UI_MM_HORIZONTAL_PAGE_STYLE__ /* Detail Info: Horizontally navigate PAGE main menu */
  341. #endif
  342. /* Mainmenu definition end */
  343. #if (!defined(MT6205B) && !defined(MT6208))
  344. #define __MMI_UI_LIST_CACHE_BACKGROUND__ /* Defail Info: [cache list menu background in anther GDI layer. */
  345. #endif
  346. #ifdef __MMI_EBOOK_READER__
  347. #define __UI_PAGING_IN_MULTILINE_EDITOR__ /* Defail Info: [Supports paging in multiline editor in view mode] */
  348. #endif
  349. //jerson add begin 20070528
  350. #ifdef __MMI_MAINLCD_176X220__
  351. #define __MMI_SUB_MENU_BUTTON_BG__      
  352. //#define __MMI_SUB_MENU_TITLE_BG__  
  353. #endif
  354. //jerson add end 20070528
  355. //#define __MMI_UI_INTEGRATED_CALENDAR_SUPPORT__ //072406 new calendar
  356. #endif //__MMI_FEATURES_GUI__