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

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) 2002
  8. *
  9. *******************************************************************************/
  10. /*******************************************************************************
  11.  * Filename:
  12.  * ---------
  13.  * Wgui_categories_util.h
  14.  *
  15.  * Project:
  16.  * --------
  17.  *   MAUI
  18.  *
  19.  * Description:
  20.  * ------------
  21.  *   This file is intends for common utilities for categoires.
  22.  *
  23.  * Author:
  24.  * -------
  25.  * -------
  26.  *
  27.  *==============================================================================
  28.  *     HISTORY
  29.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  30.  *------------------------------------------------------------------------------
  31.  * removed!
  32.  * removed!
  33.  * removed!
  34.  *
  35.  * removed!
  36.  * removed!
  37.  * removed!
  38.  *
  39.  * removed!
  40.  * removed!
  41.  * removed!
  42.  *
  43.  * removed!
  44.  * removed!
  45.  * removed!
  46.  *
  47.  * removed!
  48.  * removed!
  49.  * removed!
  50.  *
  51.  * removed!
  52.  * removed!
  53.  * removed!
  54.  *
  55.  * removed!
  56.  * removed!
  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.  * removed!
  87.  * removed!
  88.  * removed!
  89.  * removed!
  90.  * removed!
  91.  * removed!
  92.  * removed!
  93.  * removed!
  94.  * removed!
  95.  * removed!
  96.  * removed!
  97.  * removed!
  98.  * removed!
  99.  * removed!
  100.  * removed!
  101.  * removed!
  102.  * removed!
  103.  * removed!
  104.  * removed!
  105.  * removed!
  106.  * removed!
  107.  * removed!
  108.  * removed!
  109.  * removed!
  110.  * removed!
  111.  * removed!
  112.  * removed!
  113.  * removed!
  114.  * removed!
  115.  * removed!
  116.  * removed!
  117.  * removed!
  118.  * removed!
  119.  * removed!
  120.  * removed!
  121.  * removed!
  122.  * removed!
  123.  * removed!
  124.  * removed!
  125.  * removed!
  126.  * removed!
  127.  * removed!
  128.  * removed!
  129.  * removed!
  130.  * removed!
  131.  * removed!
  132.  * removed!
  133.  * removed!
  134.  * removed!
  135.  * removed!
  136.  * removed!
  137.  * removed!
  138.  * removed!
  139.  * removed!
  140.  * removed!
  141.  * removed!
  142.  * removed!
  143.  * removed!
  144.  * removed!
  145.  * removed!
  146.  * removed!
  147.  * removed!
  148.  * removed!
  149.  * removed!
  150.  * removed!
  151.  * removed!
  152.  * removed!
  153.  * removed!
  154.  * removed!
  155.  * removed!
  156.  * removed!
  157.  * removed!
  158.  * removed!
  159.  * removed!
  160.  * removed!
  161.  * removed!
  162.  * removed!
  163.  * removed!
  164.  * removed!
  165.  * removed!
  166.  * removed!
  167.  * removed!
  168.  * removed!
  169.  * removed!
  170.  * removed!
  171.  * removed!
  172.  * removed!
  173.  * removed!
  174.  * removed!
  175.  * removed!
  176.  * removed!
  177.  * removed!
  178.  * removed!
  179.  * removed!
  180.  * removed!
  181.  * removed!
  182.  * removed!
  183.  * removed!
  184.  * removed!
  185.  * removed!
  186.  * removed!
  187.  * removed!
  188.  * removed!
  189.  * removed!
  190.  * removed!
  191.  * removed!
  192.  * removed!
  193.  * removed!
  194.  * removed!
  195.  * removed!
  196.  * removed!
  197.  * removed!
  198.  * removed!
  199.  * removed!
  200.  * removed!
  201.  *
  202.  *------------------------------------------------------------------------------
  203.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  204.  *==============================================================================
  205.  *******************************************************************************/
  206. #ifndef __WGUI_CATEGORIES_UTIL_H__
  207. #define __WGUI_CATEGORIES_UTIL_H__
  208. #include "MMI_features.h"
  209. #include "CustMenuRes.h"
  210. #include "gui_config.h"
  211. #include "wgui.h"
  212. #include "wgui_softkeys.h"
  213. #include "wgui_menu_shortcuts.h"
  214. #include "wgui_fixed_menus.h"
  215. #include "wgui_fixed_menuitems.h"
  216. #include "wgui_inputs.h"
  217. #include "wgui_datetime.h"
  218. #include "wgui_inline_edit.h"
  219. /* For Dynamic menus */
  220. #include "wgui_dynamic_menus.h"
  221. #include "wgui_dynamic_menuitems.h"
  222. #include "wgui_asyncdynamic_menus.h"
  223. #include "wgui_asyncdynamic_menuitems.h"
  224. #include "wgui_categories_defs.h"
  225. /***************************************************************************** 
  226. * Typedef 
  227. *****************************************************************************/
  228. typedef enum
  229. {CONF_NONE = 0,
  230.     CONF_ACTIVE = 1,
  231.     CONF_HOLD = 2
  232. } CATEGORY_CM_CONFERENCE_STATES;
  233. typedef struct _list_menu_category_history
  234. {
  235.     U16 history_ID;
  236. #ifdef __MMI_DICTIONARY__
  237.     S32 highlighted_item;
  238.     S32 first_displayed_item;
  239.     S32 last_displayed_item;
  240.     S32 displayed_items;
  241. #else /* __MMI_DICTIONARY__ */ 
  242.     S16 highlighted_item;
  243.     S16 first_displayed_item;
  244.     S16 last_displayed_item;
  245.     S16 displayed_items;
  246. #endif /* __MMI_DICTIONARY__ */ 
  247.     U32 flags;
  248.     S8 state;   /* MTK 2004-02-13 Wilson, To keep current screen state in history buffer. */
  249. } list_menu_category_history;
  250. typedef struct _list_menu_category_history140
  251. {
  252.     U16 history_ID;
  253.     S16 highlighted_item;
  254.     S16 first_displayed_item;
  255.     S16 last_displayed_item;
  256.     S16 displayed_items;
  257.     U32 flags;
  258.     S32 no_of_items;
  259.     S8 state;   /* MTK 2004-02-18 Wilson, To keep current screen state in history buffer. */
  260.     /* Leo add for reduce cat140 history size, 20050628 */
  261.     U8 list_of_states[MAX_FIXED_TWOSTATE_MENU_ITEMS];
  262.     //      fixed_twostate_menuitem_type Cat140_MMI_fixed_twostate_menuitems[MAX_FIXED_TWOSTATE_MENU_ITEMS];
  263.     //Leo end 20050628
  264. } list_menu_category_history_cat140;
  265. typedef struct _matrix_menu_category_history
  266. {
  267.     U16 history_ID;
  268.     S16 highlighted_item;
  269.     S16 highlighted_column;
  270.     S16 highlighted_row;
  271.     S16 displayed_columns;
  272.     S16 displayed_rows;
  273.     S16 first_displayed_column;
  274.     S16 first_displayed_row;
  275.     U32 flags;
  276. } matrix_menu_category_history;
  277. typedef struct _object_list_category_history
  278. {
  279.     U16 history_ID;
  280.     S16 index;
  281. } object_list_category_history;
  282. typedef struct _list_matrix_menu_category_history
  283. {
  284.     list_menu_category_history list_menu_history;
  285.     matrix_menu_category_history matrix_menu_history;
  286. } list_matrix_menu_category_history;
  287. #define MMI_MAX_SLIDE_CONTROL 3
  288. typedef struct _slide_control_category_history
  289. {
  290.     U16 n_items;
  291.     U16 history_ID;
  292.     S32 value[MMI_MAX_SLIDE_CONTROL];
  293.     U16 current_focus;
  294. } slide_control_category_history;
  295. /* SLIM Version Menu Style */
  296. typedef enum
  297. {
  298.     WGUI_LIST_MENU_SLIM_STYLE_DEFAULT,  /* By system setting */
  299.     WGUI_LIST_MENU_SLIM_STYLE_NO_ICON,  /* Disable icon display */
  300.     WGUI_LIST_MENU_SLIM_STYLE_NUMBER,   /* Auto numbering */
  301.     WGUI_LIST_MENU_SLIM_STYLE_DRAW_ICON
  302. } wgui_list_menu_slim_style_enum;
  303. /* PMT NEERAJ START 20050425 */
  304. /* TRANSITION_STYLES */
  305. typedef enum
  306. {
  307.     WGUI_TRANSITION_NONE = 0,   /* No Transition */
  308.     WGUI_TRANSITION_L2R = 1,    /* Lef to Right */
  309.     WGUI_TRANSITION_R2L = 2,    /* Right to Left */
  310.     WGUI_TRANSITION_T2D = 3,    /* Top To Down */
  311.     WGUI_TRANSITION_D2T = 4     /* Down To Top */
  312. } wgui_transition_styles;
  313. /* PMT NEERAJ END 20050425 */
  314. /* PMT VIKAS START 20050720 */
  315. /*   Animted title effect   */
  316. #ifdef __MMI_UI_ANIMATED_TITLE_EFFECT__
  317. #define TITLE_IMAGE_ANIMATION_TIMER 50
  318. #define SHIFT_TITLE_IMAGE 5
  319. typedef enum
  320. {
  321.     MMI_UI_TITLE_IMAGE_ANIMATE_ONCE = 0,    /* Title will animate once */
  322.     MMI_UI_TITLE_IMAGE_ANIMATE_CONTINOUS    /* Title will animate continously */
  323. } wgui_title_effect_styles;
  324. #endif /* __MMI_UI_ANIMATED_TITLE_EFFECT__ */ 
  325. /* PMT VIKAS END 20050720 */
  326. #define WGUI_ORDER_TEXT_IMAGE 0x00000000
  327. #define WGUI_ORDER_IMAGE_TEXT 0x00000001
  328. #define WGUI_MAX_POP_UP_DESCRIPTION_STRINGS      MAX_FIXED_ICONTEXT_MENU_ITEMS
  329. #define GDI_TRANSFORM_GRADIENT_COLOR(Color)  gdi_act_color_from_rgb(255,Color.r,Color.g,Color.b),gdi_act_color_from_rgb(255,(Color.r>>1),(Color.g>>1),(Color.b>>1))
  330. /* PMT HIMANSHU START 20050625 */
  331. #if defined(__MMI_UI_TECHNO_STATUS_ICON__)
  332. #define TITLE_TEXT_GAP 2
  333. #endif 
  334. /* PMT HIMANSHU END */
  335. #define MMI_BEFORE_SCREEN                             0x00000000
  336. #define MMI_LEAVE_FULL_SCREEN                         0x00000001
  337. #define MMI_LEAVE_FULL_IDLE_SCREEN                    0x00000002
  338. #define MMI_IN_FULL_SCREEN                            0x00000004
  339. #define MMI_IN_NORMAL_SCREEN                          0x00000008
  340. #define MMI_IN_NORMAL_SCREEN_WITHOUT_STATUSBAR        0x00000010
  341. #define MMI_IN_IDLE_SCREEN                            0x00000020
  342. #define MMI_LEAVE_BG_ON_BOTTOM_SCREEN                 0x00000040        /* 092005 redraw status Calvin */
  343. /***************************************************************************** 
  344. * Extern Global Variable
  345. *****************************************************************************/
  346. extern U32 category_screen_layout_flags;
  347. extern S32 MMI_matrix_bar_height;
  348. extern S32 MMI_matrix_bar_width;
  349. extern S32 MMI_matrix_bar_x;
  350. extern S32 MMI_matrix_bar_y;
  351. extern S32 MMI_title_height;
  352. extern S32 MMI_title_width;
  353. extern S32 MMI_title_x;
  354. extern S32 MMI_title_y;
  355. extern S32 MMI_button_bar_height;
  356. extern S32 MMI_thick_menuitem_height;
  357. extern S32 MMI_menuitem_height;
  358. extern void (*UI_hide_animation_frame_function) (void);
  359. /* high level wrappers  */
  360. extern UI_string_type MMI_title_string;
  361. extern UI_string_type MMI_message_string;
  362. extern PU8 MMI_title_icon;
  363. extern PU8 MMI_title_icon2;
  364. extern PU8 MMI_message_icon;
  365. extern S32 MMI_menu_shortcut_number;
  366. extern UI_string_type MMI_highlighted_item_text;
  367. extern S32 MMI_current_menu_type;
  368. /* extern S32 MMI_main_menu_type; */
  369. extern S16 MMI_current_input_type;
  370. /* extern S16 MMI_saved_input_type; */
  371. extern U8 flag_scroll;
  372. extern U8(*test_change_input_mode) (void);
  373. extern U8 MMI_english_input_mode_flag;
  374. extern stFontAttribute UI_DEFAULT_FONT;
  375. extern void (*MMI_list_highlight_handler) (S32 item_index);
  376. extern void (*MMI_matrix_highlight_handler) (S32 item_index);
  377. extern void (*MMI_circular_3D_highlight_handler) (S32 item_index);
  378. extern void (*wgui_inputbox_RSK_function) (void);
  379. extern void (*ExitCategoryFunction) (void);
  380. extern void (*RedrawCategoryFunction) (void);
  381. extern void (*RedrawSpellingOrCandidateBoxesFunction) (void);
  382. extern U8 *(*GetCategoryHistory) (U8 *history_buffer);
  383. extern S32(*GetCategoryHistorySize) (void);
  384. /* Globals  */
  385. extern gdi_handle animation_handle;
  386. /*** Store the value of height, width , x, y position of title bar ,status icons
  387. popup dialog in global variables these valeu r also #define in wgui.h */
  388. /* Bear - 040228 move init value to wgui.c */
  389. extern S32 MMI_matrix_bar_height;
  390. extern S32 MMI_matrix_bar_x;
  391. extern S32 MMI_matrix_bar_y;
  392. extern S32 MMI_matrix_bar_width;
  393. extern S32 MMI_title_height;
  394. extern S32 MMI_title_width;
  395. extern S32 MMI_title_x;
  396. extern S32 MMI_title_y;
  397. extern S32 MMI_button_bar_height;
  398. extern S32 MMI_menuitem_height;
  399. extern S32 MMI_pop_up_dialog_x;
  400. extern S32 MMI_pop_up_dialog_y;
  401. extern S32 MMI_pop_up_dialog_width;
  402. extern S32 MMI_pop_up_dialog_height;
  403. extern S32 MMI_pop_up_dialog_full_height;
  404. extern U8 wgui_switch_title_with_status_bar;    /* 0: Title, 1: Status icons  */
  405. extern U8 wgui_category_screen_no_buttons;
  406. /* Store the clipping value of current image */
  407. extern S32 wgui_image_clip_x1;
  408. extern S32 wgui_image_clip_y1;
  409. extern S32 wgui_image_clip_x2;
  410. extern S32 wgui_image_clip_y2;
  411. /* Support for displaying animations in Category screens:
  412.    These functions allow the display of a single animated
  413.    icon in any category screen. The position of the icon
  414.    is decided by the category screen                  */
  415. extern PU8 _MMI_animated_icon;
  416. extern U8 *_MMI_animated_icon_name;
  417. extern S32 _MMI_animated_icon_x;
  418. extern S32 _MMI_animated_icon_y;
  419. extern UI_animated_image_handle _MMI_animated_icon_handle;
  420. extern UI_pop_up_description wgui_pop_up_description;
  421. /* store number of strigs of pop up */
  422. extern S32 wgui_pop_up_descriptions_n_strings;
  423. /* store current index of popup */
  424. extern S32 wgui_current_pop_up_description_index;
  425. /* store number of popup */
  426. extern S32 wgui_pop_up_descriptions_n_items;
  427. /* store flag of popup */
  428. extern U8 wgui_pop_up_description_flag;
  429. extern wgui_pop_up_description_string_type wgui_pop_up_description_strings[WGUI_MAX_POP_UP_DESCRIPTION_STRINGS];
  430. extern U8 *checklist_category_menu_item_states;
  431. extern S32 item_checked;
  432. extern void (*checkbox_toggle_DONE_RSK_function) (void);
  433. extern void (*checkbox_toggle_BACK_RSK_function) (void);
  434. /** Store the title string of current main lcd scrren */
  435. extern UI_string_type MMI_title_string;
  436. /** Store the address of title icon display on current main lcd scrren title bar */
  437. extern PU8 MMI_title_icon;
  438. /** Store the address of title icon display on current main lcd scrren title bar */
  439. extern PU8 MMI_title_icon2;
  440. /* Store the scrolling text of title bar */
  441. extern scrolling_text scrolling_title_text;
  442. /* Scrolling title support */
  443. /** global variables store value of x,y,width of title bar text , icon to scroll the text on title bar */
  444. extern S32 scrolling_title_icon_x;
  445. extern S32 scrolling_title_icon_y;
  446. /* Store the message of current multibox dispaly on main lcd */
  447. extern UI_string_type MMI_message_string;
  448. extern UI_string_type MMI_message_string2;
  449. /** Store the address of icon display on content area of current main lcd scrren */
  450. extern PU8 MMI_message_icon;
  451. extern PU8 MMI_message_icon2;
  452. /* store teh current shorcut number display on right side of title bar in case of menu screen */
  453. extern S32 MMI_menu_shortcut_number;
  454. /* Store the text of current highlighted item in menu */
  455. extern UI_string_type MMI_highlighted_item_text;
  456. /* high level wrappers  */
  457. extern PU8 MMI_mm_animation;
  458. extern U8 gMMI_UI_U8_flag_1, gMMI_UI_U8_flag_2;
  459. extern U16 gMMI_UI_U16_var_1, gMMI_UI_U16_var_2;
  460. extern S32 gMMI_UI_S32_var_1, gMMI_UI_S32_var_2, gMMI_UI_S32_var_3, gMMI_UI_S32_var_4;
  461. extern void *gMMI_UI_ptr_1, *gMMI_UI_ptr_2, *gMMI_UI_ptr_3, *gMMI_UI_ptr_4;
  462. /* varbale of type slide_control used in slide control screen */
  463. extern slide_control *MMI_current_slide_control;
  464. /* extern slide_control MMI_slide_control1,MMI_slide_control2; */
  465. extern slide_control MMI_slide_control[MMI_MAX_SLIDE_CONTROL];
  466. /* store current slide control value */
  467. extern S32 *MMI_current_slide_control_value;
  468. #if (0)
  469. /* under construction !*/
  470. /* under construction !*/
  471. /* under construction !*/
  472. /* under construction !*/
  473. #endif /* (0) */ 
  474. extern S32 *MMI_slide_control_value[MMI_MAX_SLIDE_CONTROL];
  475. extern S32 gOnFullScreen;
  476. /* Add for Draw Manager */
  477. extern S32 g_gui_current_catid;
  478. /***************************************************************************** 
  479. * Extern Global Function
  480. *****************************************************************************/
  481. extern U8 *dummy_get_history(U8 *buffer);
  482. extern S32 dummy_get_history_size(void);
  483. extern PU8 get_image(MMI_ID_TYPE i);
  484. extern U8 *get_audio(MMI_ID_TYPE i, U8 *type, U32 *filelen);  /* 101205 audio resource Calvin added */
  485. extern UI_string_type get_string(MMI_ID_TYPE i);
  486. extern UI_string_type get_string_lang(MMI_ID_TYPE i, S8 *ssc_str);
  487. extern void initialize_category_screens(void);
  488. extern void reset_category_functions(void);
  489. extern void SetCategoryScreenLayout(U32 flags);
  490. extern void wgui_show_animation(void);
  491. extern void wgui_show_transparent_animation(void);
  492. extern void wgui_set_animation(S32 x, S32 y, MMI_ID_TYPE img);
  493. extern void wgui_set_animation_y(S32 x, S32 y, MMI_ID_TYPE img);
  494. extern void wgui_set_animation_image(S32 x, S32 y, PU8 img);
  495. extern void wgui_set_animation_image_y(S32 x, S32 y, PU8 img);
  496. extern void wgui_measure_set_animation(S32 x, S32 y, S32 *width, S32 *height, MMI_ID_TYPE img);
  497. extern void wgui_measure_set_animation_y(S32 x, S32 y, S32 *width, S32 *height, MMI_ID_TYPE img);
  498. extern void wgui_measure_set_animation_image(S32 x, S32 y, S32 *width, S32 *height, PU8 img);
  499. extern void wgui_measure_set_animation_image_y(S32 x, S32 y, S32 *width, S32 *height, PU8 img);
  500. extern void wgui_hide_animation(void);
  501. extern void wgui_fill_rectangle_clip(S32 x1, S32 y1, S32 x2, S32 y2, color c);
  502. extern void clear_screen(void);
  503. extern void clear_screen_with_color(color c);
  504. extern void clear_buttonbar(void);
  505. extern void set_button_bar_height(S32 height);
  506. extern void clear_contentarea(void);
  507. extern void draw_arrow_indication(S8 left, S8 right, S8 up, S8 down);
  508. extern void SetHighlightedItem(S32 item_index);
  509. extern S32 GetHighlightedItem(void);
  510. extern UI_string_type get_item_text(S32 index);
  511. extern UI_string_type get_dynamic_item_text(S32 index);
  512. #ifdef ENABLE_BOTTOM_NAVIGATION_KEYS
  513. extern void gui_show_key_navigation(S32 index);
  514. extern void gui_show_navigation_keys(void);
  515. #endif /* ENABLE_BOTTOM_NAVIGATION_KEYS */ 
  516. extern void DisableCategoryScreenScrollBar(void);
  517. extern void SetupCategoryKeyHandlers(void);
  518. extern void entry_full_screen(void);
  519. extern void leave_full_screen(void);
  520. extern void in_idle_screen(void);
  521. extern void leave_idle_screen(void);
  522. extern MMI_BOOL if_full_screen_hide_status_icons(void);
  523. extern void reset_title_status_icon(void);
  524. extern void close_title_status_icon(void);
  525. extern void show_title_status_icon(void);
  526. extern U8 history_valid(U16 history_ID, U16 category_screen_ID);
  527. extern void change_list_menu_category_history(U8 *history_buffer, S32 new_highlighted_index, S32 new_n_items, U8 flag);
  528. extern void create_list_menu_category_history(
  529.                 S32 history_ID,
  530.                 U8 *history_buffer,
  531.                 S32 new_highlighted_index,
  532.                 S32 new_n_items,
  533.                 U8 flag);
  534. extern U8 set_list_menu_category_history(U16 history_ID, U8 *history_buffer);
  535. extern void set_list_menu_category_history_state(U16 history_ID, U8 *history_buffer, S8 state);        /* MTK 2004-02-12 Wilson */
  536. extern void change_cat184_list_menu_history_highlighted_item(S32 index, U8 *history_buffer);   /* MTK Leo add, for SMS updating list */
  537. extern void get_list_menu_category_history(U16 history_ID, U8 *history_buffer);
  538. extern S32 get_list_menu_category_history_size(void);
  539. extern S8 get_list_menu_category_history_state(U16 history_ID, U8 *history_buffer);    /* MTK 2004-02-12 Wilson */
  540. extern U8 set_matrix_menu_category_history(U16 history_ID, U8 *history_buffer);
  541. extern void get_matrix_menu_category_history(U16 history_ID, U8 *history_buffer);
  542. extern U8 set_object_list_category_history(U16 history_ID, U8 *history_buffer, S32 *index);
  543. extern void get_object_list_category_history(U16 history_ID, U8 *history_buffer, S32 *index);
  544. extern void get_slide_control_category_history(U16 history_ID, U8 *history_buffer);
  545. extern U8 set_slide_control_category_history(U16 history_ID, U8 *history_buffer);
  546. /* MTK Leo add 20050225, for new list_matrix menu style */
  547. #ifdef __MMI_BI_DEGREE_MAIN_MENU_STYLE__
  548. extern U8 set_list_matrix_menu_category_history(U16 history_ID, U8 *history_buffer);
  549. extern void get_list_matrix_menu_category_history(U16 history_ID, U8 *history_buffer);
  550. #endif /* __MMI_BI_DEGREE_MAIN_MENU_STYLE__ */ 
  551. /* MTK Leo add 20050225 end */
  552. extern U8 set_dialer_inputbox_category_history(U16 history_ID, U8 *history_buffer);
  553. extern void get_dialer_inputbox_category_history(U16 history_ID, U8 *history_buffer);
  554. extern void wgui_pen_set_curr_menuitem_wait_longpress(void);
  555. extern void wgui_save_key_handlers(void);
  556. extern void wgui_execute_key_handler(S32 key_code, S32 key_event);
  557. extern void wgui_restore_key_handlers(void);
  558. extern void hide_status_icons_bar0(void);
  559. extern void hide_status_icons_bar1(void);
  560. /* 041205 Calvin added to support wallpaper ob bottom */
  561. extern void hide_status_icons_bar0_by_transparent(void);
  562. extern void wgui_set_wallpaper_on_bottom(MMI_BOOL state);
  563. extern void wgui_reset_wallpaper_on_bottom(void);
  564. extern MMI_BOOL wgui_is_wallpaper_on_bottom(void);
  565. /* Calvin end */
  566. /* 071205 Calvin added */
  567. extern void wgui_set_disable_shortcut_display(void);
  568. extern void wgui_reset_disable_shortcut_display(void);
  569. extern BOOL wgui_is_disable_shortcut_display(void);
  570. /* 071205 Calvin end */
  571. extern void ShowStatusIconsTitle(void);
  572. extern void show_softkey_background(void);
  573. extern void MMI_hide_left_softkey(void);
  574. extern void MMI_hide_right_softkey(void);
  575. extern void register_default_hide_softkeys(void);
  576. extern void register_default_hide_softkeys_to_transparent(void);
  577. extern void ChangeLeftSoftkey(U16 s, U16 i);
  578. extern void ChangeRightSoftkey(U16 s, U16 i);
  579. extern void EnableLeftSoftkey(U16 s, U16 i);
  580. extern void DisableLeftSoftkey(U16 s, U16 i);
  581. extern void EnableRightSoftkey(U16 s, U16 i);
  582. extern void DisableRightSoftkey(U16 s, U16 i);
  583. extern void SetLeftSoftkeyAlwaysKeyUpByPen(void);
  584. extern void SetRightSoftkeyAlwaysKeyUpByPen(void);
  585. extern void SetLeftSoftkeyFunction(void (*f) (void), MMI_key_event_type k);
  586. extern void SetRightSoftkeyFunction(void (*f) (void), MMI_key_event_type k);
  587. #ifdef __MMI_WGUI_CSK_ENABLE__
  588. extern void ChangeCenterSoftkey(U16 s, U16 i);
  589. extern void EnableCenterSoftkey(U16 s, U16 i);
  590. extern void ResetCenterSoftkey(void);
  591. extern void SetCenterSoftkeyAlwaysKeyUpByPen(void);
  592. extern void SetCenterSoftkeyFunction(void (*f) (void), MMI_key_event_type k);
  593. #endif /* __MMI_WGUI_CSK_ENABLE__ */ 
  594. /* 030705 Calvin added */
  595. extern void ChangeLeftSoftkeyByStringLength(UI_string_type s, PU8 i);
  596. extern void ChangeRightSoftkeyByStringLength(UI_string_type s, PU8 i);
  597. extern void ChangeLeftSoftkeyByString(UI_string_type s, PU8 i);
  598. extern void ChangeRightSoftkeyByString(UI_string_type s, PU8 i);
  599. /* Calvin end */
  600. extern void resize_fixed_list_to_content_height(void);
  601. extern void toggle_check_list_handle_left_softkey_up(void);
  602. extern void special_check_list_handle_left_softkey_up(void);
  603. extern void toggle_check_list_handle_item_select(S32 h);
  604. void SetCheckboxToggleRightSoftkeyFunctions(void (*done_function) (void), void (*back_function) (void));
  605. extern void standard_check_list_handle_item_select(S32 h);
  606. extern void standard_check_list_handle_left_softkey_up(void);
  607. extern void standard_check_list_handle_left_softkey_up(void);
  608. extern void radio_list_handle_item_select(S32 h);
  609. extern void radio_list_handle_item_select_no_draw(S32 h);
  610. extern UI_string_type get_asyncdynamic_item_text(S32 index);
  611. extern void asyncdynamic_list_highlight_handler(S32 item_index);
  612. extern void set_asyncdynamic_pop_up_descriptions(S32 highlighted_item);
  613. void RegisterHighlightHandler(void (*f) (S32 item_index));
  614. extern void MMI_dummy_highlight_handler(S32 item_index);
  615. extern void ClearHighlightHandler(void);
  616. extern void standard_list_highlight_handler(S32 item_index);
  617. extern void toggle_check_list_highlight_handler(S32 item_index);
  618. extern void standard_check_list_highlight_handler(S32 item_index);
  619. extern void standard_radio_list_highlight_handler(S32 item_index);
  620. extern void inputbox_radio_list_highlight_handler(S32 item_index);
  621. extern void dynamic_list_highlight_handler(S32 item_index);
  622. extern void standard_stop_watch_list_highlight_handler(S32 item_index);
  623. extern void standard_matrix_highlight_handler(S32 item_index);
  624. extern void standard_animated_list_highlight_handler(S32 item_index);
  625. extern void standard_animated_matrix_highlight_handler(S32 item_index);
  626. extern void standard_noshortcut_matrix_highlight_handler(S32 item_index);
  627. // #if(UI_MAIN_MENU_CATEGORY_TYPE==UI_MAIN_MENU_CATEGORY_TYPE2)//032305 Calvin removed
  628. extern void standard_animated_matrix_highlight_handler_type2(S32 item_index);
  629. // #endif
  630. #ifdef __MMI_MATRIX_MAIN_MENU_FULL_BACKGROUND__ /* 060505 Calvin added */
  631. extern void standard_animated_matrix_highlight_handler_full_background(S32 item_index);
  632. #endif 
  633. extern void wgui_display_fixed_text_list_pop_up_description(void);
  634. extern void wgui_display_dynamic_text_list_pop_up_description(void);
  635. extern void wgui_display_asyncdynamic_text_list_pop_up_description(void);
  636. extern void wgui_handle_fixed_text_list_pop_up_description(S32 x, S32 y, S32 width, S32 height);
  637. extern void set_pop_up_descriptions(S32 n_strings, S32 n_items, S32 highlighted_item);
  638. extern void set_dynamic_pop_up_descriptions(S32 highlighted_item);
  639. extern void reset_pop_up_descriptions(void);
  640. #ifdef __MMI_UI_HINT_TOGGLE_TRANSITION__
  641. extern void wgui_setup_pop_up_description_transition(void);
  642. #endif 
  643. extern void wgui_override_list_menu_slim_style(wgui_list_menu_slim_style_enum style);
  644. extern void wgui_restore_list_menu_slim_style(void);
  645. extern PU8 wgui_get_list_menu_icon(int index, MMI_ID_TYPE default_image_id);
  646. extern PU8 wgui_get_list_menu_icon_if_not_empty(int index, MMI_ID_TYPE default_image_id);
  647. extern void wgui_slide_control_set_focus(slide_control *s);
  648. extern void wgui_show_slide_control(void);
  649. extern void wgui_show_slide_control_focus(void);
  650. extern void wgui_hide_slide_control_focus(void);
  651. extern void wgui_slide_control_previous(void);
  652. extern void wgui_slide_control_next(void);
  653. extern void wgui_show_slide_control_value(S32 x1, S32 y1, S32 x2, S32 y2, S32 value);
  654. extern void wgui_slide_control_set_value(S32 value);
  655. extern void show_fixed_matrix_bar(void);
  656. extern U16 GetRootTitleIcon(U16 ItemId);
  657. extern void draw_title(void);
  658. extern void wgui_stop_title_animation(void);
  659. extern void draw_title_wap(void);   /* 070705 Calvin added */
  660. extern void draw_title_left_align(void);
  661. /* PMT NEERAJ START 20050616 */
  662. #ifdef __MMI_UI_TITLE_TRANSITION__
  663. extern void set_title_transition_based_on_keys(void);
  664. extern void set_title_transition(wgui_transition_styles style);
  665. extern wgui_transition_styles get_title_transition(void);
  666. extern void reset_title_transition(void);
  667. extern void draw_transition_tite(void);
  668. /* PMT VIKAS START 20051209 */
  669. extern S32 is_mmi_title_transition_on_keys(void);
  670. #define TITLE_TRANSITION_STYLE_NON_BLOCKING 1
  671. #define TITLE_TRANSITION_NON_BLOCKING_TIMER 10
  672. #if(TITLE_TRANSITION_STYLE_NON_BLOCKING)
  673. #define TITLE_TRANSITION_WITH_PREVIOUS_TITLE_MOVEMENT
  674. #ifdef TITLE_TRANSITION_WITH_PREVIOUS_TITLE_MOVEMENT
  675. #define MAX_TITLE_AREA_HEIGHT_FOR_TRANSITION (MMI_TITLE_HEIGHT + MMI_MENUITEM_HEIGHT)
  676. #endif 
  677. extern void draw_transition_title_non_blocking(void);
  678. extern void wgui_stop_transition_title_non_blocking(void);
  679. extern void save_copy_original_title_x(void);
  680. extern S32 is_in_nonblocking_title_transition(void);
  681. extern void wgui_title_tranisition_abort_cleanup_function(void);
  682. extern void enable_title_transition(void);
  683. extern void disable_title_transition(void);
  684. extern S32 is_enable_title_transition(void);
  685. #ifdef TITLE_TRANSITION_WITH_PREVIOUS_TITLE_MOVEMENT
  686. extern S32 get_prev_menu_shortcut(void);
  687. extern void reset_prev_menu_shortcut(void);
  688. extern void set_prev_menu_shortcut(S32 menu_shortcut_index);
  689. extern void get_bitmap_for_title_transition(void);
  690. #else /* TITLE_TRANSITION_WITH_PREVIOUS_TITLE_MOVEMENT */ 
  691. extern void set_previous_title_shortcut(S32 shortcut_no);
  692. extern void draw_previous_title_for_transition(void);
  693. #endif /* TITLE_TRANSITION_WITH_PREVIOUS_TITLE_MOVEMENT */ 
  694. #endif /* (TITLE_TRANSITION_STYLE_NON_BLOCKING) */ 
  695. /* PMT VIKAS END 20051209 */
  696. #else /* __MMI_UI_TITLE_TRANSITION__ */ 
  697. #define TITLE_TRANSITION_STYLE_NON_BLOCKING 0
  698. #define TITLE_TRANSITION_NON_BLOCKING_TIMER 10
  699. #endif /* __MMI_UI_TITLE_TRANSITION__ */ 
  700. /* PMT NEERAJ END 20050616 */
  701. extern void move_title(S32 s32X, S32 s32Y);
  702. extern void resize_title(S32 s32Width, S32 s32Height);
  703. extern void ChangeTitleString(U8 *string);
  704. extern void ChangeTitleIcon(U16 image_ID);
  705. extern void ChangeTitle(U16 image_ID, U8 *string);
  706. extern void draw_scrolling_title(void);
  707. extern void draw_scrolling_title_background(S32 x1, S32 y1, S32 x2, S32 y2);
  708. extern void scrolling_title_timer_callback(void);
  709. extern void setup_scrolling_title(void);
  710. extern void close_scrolling_title(void);
  711. extern void MMI_apply_current_theme(void);
  712. extern void show_vertical_bar(S32 volume_level);
  713. extern void show_vertical_bar_previous(void);
  714. extern void show_vertical_bar_next(void);
  715. extern void set_multiline_inputbox_change(void);
  716. extern S32 get_mutliline_inputbox_change_status(void);
  717. extern void set_multiline_inputbox_change_callback(void);
  718. extern void fixed_matrix_loop_key_handler(S32 vkey_code, S32 key_state);
  719. extern void register_fixed_matrix_loop_keys(void);
  720. /* PMT HIMANSHU START 20050625 */
  721. #if defined(__MMI_UI_TECHNO_STATUS_ICON__)
  722. extern void show_signal_battery_icons(void);
  723. #endif 
  724. //PMT HIMANSHU END
  725. //PMT NEERAJ START 20050712
  726. #ifdef __MMI_UI_HINTS_IN_MENUITEM__
  727. extern UI_string_type wgui_get_current_pop_up_description_string(void);
  728. extern void set_force_all_hints_in_menuitem(void);
  729. extern void reset_force_all_hints_in_menuitem(void);
  730. extern S32 is_set_force_all_hints_in_menuitem(void);
  731. extern void set_force_hints_on_highlight_in_menuitem(void);
  732. extern void reset_force_hints_on_highlight_in_menuitem(void);
  733. extern S32 is_set_force_hints_on_highlight_in_menuitem(void);
  734. extern void set_force_icon_on_highlight_only_in_menuitem(void);
  735. extern void reset_force_icon_on_highlight_only_in_menuitem(void);
  736. extern S32 is_set_force_icon_on_highlight_only_in_menuitem(void);
  737. extern void reset_all_force_flags_for_hints(void);
  738. #endif /* __MMI_UI_HINTS_IN_MENUITEM__ */ 
  739. /* PMT NEERAJ END 20050712 */
  740. /* PMT VIKAS START 20050720 */
  741. #ifdef __MMI_UI_ANIMATED_TITLE_EFFECT__
  742. extern void wgui_stop_animate_title(void);
  743. extern void wgui_start_animate_title(void);
  744. extern void disable_animated_title_effect(void);
  745. extern void enable_animated_title_effect(void);
  746. extern void wgui_draw_animate_title_image(S32 x1, S32 y1, S32 x2, S32 y2);
  747. extern void wgui_animate_title_image(void);
  748. extern void wgui_draw_animate_title_image_frame_0(S32 x1, S32 y1, S32 x2, S32 y2);
  749. extern S32 is_enable_animated_title_effect(void);
  750. #endif /* __MMI_UI_ANIMATED_TITLE_EFFECT__ */ 
  751. /* PMT VIKAS END 20050720 */
  752. /* PMT HIMANSHU START 20050815 */
  753. #if defined(__MMI_TOUCH_SCREEN__)
  754. extern FuncPtr gMMI_touch_title_button1_down_handler;
  755. extern FuncPtr gMMI_touch_title_button1_up_handler;
  756. extern FuncPtr gMMI_touch_title_button2_down_handler;
  757. extern FuncPtr gMMI_touch_title_button2_up_handler;
  758. extern void register_touch_button_handlers(FuncPtr f1_up, FuncPtr f1_down, FuncPtr f2_up, FuncPtr f2_down);
  759. #endif /* defined(__MMI_TOUCH_SCREEN__) */ 
  760. extern void wgui_set_touch_title_bar_buttons(void);
  761. extern void wgui_reset_touch_title_bar_buttons(void);
  762. extern MMI_BOOL wgui_is_touch_title_bar_buttons(void);
  763. /* PMT HIMANSHU END 20050815 */
  764. #endif /* __WGUI_CATEGORIES_UTIL_H__ */