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

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_status_icons.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   MAUI
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   This file is intends for status icon bars control.
  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.  * removed!
  59.  * removed!
  60.  *
  61.  * removed!
  62.  * removed!
  63.  * removed!
  64.  *
  65.  * removed!
  66.  * removed!
  67.  * removed!
  68.  *
  69.  * removed!
  70.  * removed!
  71.  * removed!
  72.  *
  73.  * removed!
  74.  * removed!
  75.  * removed!
  76.  *
  77.  * removed!
  78.  * removed!
  79.  * removed!
  80.  *
  81.  * removed!
  82.  * removed!
  83.  * removed!
  84.  *
  85.  * removed!
  86.  * removed!
  87.  * removed!
  88.  *
  89.  * removed!
  90.  * removed!
  91.  * removed!
  92.  *
  93.  * removed!
  94.  * removed!
  95.  * removed!
  96.  *
  97.  * removed!
  98.  * removed!
  99.  * removed!
  100.  *
  101.  * removed!
  102.  * removed!
  103.  * removed!
  104.  *
  105.  * removed!
  106.  * removed!
  107.  * removed!
  108.  *
  109.  * removed!
  110.  * removed!
  111.  * removed!
  112.  *
  113.  * removed!
  114.  * removed!
  115.  * removed!
  116.  *
  117.  * removed!
  118.  * removed!
  119.  * removed!
  120.  *
  121.  * removed!
  122.  * removed!
  123.  * removed!
  124.  *
  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.  *
  196.  * removed!
  197.  * removed!
  198.  * removed!
  199.  * removed!
  200.  * removed!
  201.  */
  202. /**********************************************************************************
  203.    Filename:      wgui_status_icons.h
  204.    Author:        manju
  205.    Date Created:  August-07-2002
  206.    Contains:      PixTel UI wrapper routines
  207.                Status Icon wrappers
  208. **********************************************************************************/
  209. #ifndef __WGUI_STATUS_ICONS_H__
  210. #define __WGUI_STATUS_ICONS_H__
  211. #ifdef __cplusplus
  212. extern "C"
  213. {
  214. #endif /* __cplusplus */ 
  215. #include "wgui_categories.h"
  216. #ifdef __MMI_TOUCH_SCREEN__
  217. #ifndef _TOUCH_SCREEN_GPROT_H
  218. #error "please include TouchScreenGprot.h before wgui_status_icons.h"
  219. #endif 
  220. #endif /* __MMI_TOUCH_SCREEN__ */ 
  221. #define MAX_STATUS_ICON_BARS           3        /* 1 to ?         */
  222. #define STATUS_ICON_TIMER_RATE            500   /* Milliseconds   */
  223.     /* Bear, move from wgui_status_icons.c - for wgui.c to include */
  224. #define MMI_N_STATUS_ICONS_LIST1 12
  225. #define MMI_N_STATUS_ICONS_LIST2 8
  226. #define MMI_N_STATUS_ICONS_LIST3 6
  227. #ifdef __MMI_LCD_PARTIAL_ON__
  228. #define MMI_N_STATUS_ICONS_PARTIAL_DISPLAY      4
  229.     extern S16 MMI_status_icons_list_partial_display[MMI_N_STATUS_ICONS_PARTIAL_DISPLAY];
  230.     extern S16 MMI_status_icons_partial_display_n_icons;
  231. #endif /* __MMI_LCD_PARTIAL_ON__ */ 
  232.     enum STATUS_ICON_FORCE_DISPLAY
  233.     {
  234.         DEFAULT_BOTH,
  235.         MAINLCD_ONLY,
  236.         SUBLCD_ONLY
  237.     };
  238.     /* Icon names that the applications must use when they call                                  
  239.        ShowStatusIcon or HideStatusIcon                   */
  240.     enum STATUS_ICON_LIST
  241.     {
  242.         STATUS_ICON_SIGNAL_STRENGTH = 0,
  243.         STATUS_ICON_BATTERY_STRENGTH,
  244.     #ifdef __MMI_WLAN_FEATURES__
  245.     STATUS_ICON_WLAN_SIGNAL,
  246.     #endif
  247.     #ifndef __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__     /* 022505 Calvin added */
  248.         STATUS_ICON_ALTERNATE_LINE_L1,
  249.         STATUS_ICON_ALTERNATE_LINE_L2,
  250.     #endif /* __MMI_STATUS_ICON_SIGNAL_WITH_LINE_SWITCH__ */ 
  251.     #if defined(__GSM_RAT__) && defined(__WCDMA_RAT__) /* 112805 3G icon Calvin */
  252.         STATUS_ICON_3G,
  253.         STATUS_ICON_2G,
  254.     #endif /* defined(__GSM_RAT__) && defined(__WCDMA_RAT__) */ 
  255.     #ifdef __MMI_VOIP__//091806 voip icon
  256.         STATUS_ICON_VOIP,
  257.     #endif /* __MMI_VOIP__ */ 
  258.         STATUS_ICON_ROAMING,
  259.         STATUS_ICON_CALL_DIVERT_L1L2,
  260.         STATUS_ICON_CALL_DIVERT_L1,
  261.         STATUS_ICON_CALL_DIVERT_L2,
  262.         STATUS_ICON_MUTE,
  263.         STATUS_ICON_INCOMING_SMS,
  264.         STATUS_ICON_MMS_UNREAD,
  265.         STATUS_ICON_MMS_BUSY,
  266.         STATUS_ICON_VIBRATION,
  267.         STATUS_ICON_SILENT,
  268.         STATUS_ICON_RING,
  269.         STATUS_ICON_VIBRATE_AND_RING,
  270.         STATUS_ICON_VIBRATE_THEN_RING,
  271.         STATUS_ICON_GPRS_SERVICE,
  272.         STATUS_ICON_GPRS_ATT_NO_PDP_INDICATOR,  /* 010406 G icon Calvin */
  273.         STATUS_ICON_EARPHONE_INDICATOR,
  274.         STATUS_ICON_ALARM,
  275.         STATUS_ICON_VOICE_RECORD,
  276.         STATUS_ICON_KEYPAD_LOCK,
  277.         STATUS_ICON_MISSED_CALL,
  278.         STATUS_ICON_UNREAD_VOICE_L1L2,
  279.         STATUS_ICON_UNREAD_VOICE_L1,
  280.         STATUS_ICON_UNREAD_VOICE_L2,
  281.         STATUS_ICON_UNREAD_FAX_L1L2,
  282.         STATUS_ICON_UNREAD_FAX_L1,
  283.         STATUS_ICON_UNREAD_FAX_L2,
  284.         STATUS_ICON_UNREAD_EMAIL_L1L2,
  285.         STATUS_ICON_UNREAD_EMAIL_L1,
  286.         STATUS_ICON_UNREAD_EMAIL_L2,
  287.         STATUS_ICON_IMPS_MSG,
  288.         STATUS_ICON_IMPS_LOGIN,
  289.         STATUS_ICON_WAP,
  290.         STATUS_ICON_POC,                        /* 030705 Calvin added */
  291.         STATUS_ICON_BT,
  292.         STATUS_ICON_BT_CON,
  293.         STATUS_ICON_BT_ND,
  294.         STATUS_ICON_IR,
  295.         STATUS_ICON_STOP_WATCH,
  296.         STATUS_ICON_CHAT_INDICATION_ROOM1,
  297.         STATUS_ICON_CHAT_INDICATION_ROOM2,
  298.         STATUS_ICON_NETWORK_CIPHER_GSM,         /* 021505 Calvin added */
  299.         STATUS_ICON_NETWORK_CIPHER_GPRS,        /* 021505 Calvin added */
  300.         STATUS_ICON_JAVA_PAUSE,                 /* 031005 Calvin added */
  301.         /* 101205 new icon Calvin Start */
  302.     #ifdef __MMI_BG_SOUND_EFFECT__
  303.         STATUS_ICON_BG_SOUND,
  304.     #endif 
  305.     #ifdef __MMI_AUDIO_3D_EFFECT__
  306.         STATUS_ICON_3D_SOUND,
  307.     #endif 
  308.     #ifdef __MMI_HOMEZONE_STATUS_ICON__
  309.         STATUS_ICON_HOMEZONE,
  310.         STATUS_ICON_CITYZONE,
  311.     #endif /* __MMI_HOMEZONE_STATUS_ICON__ */ 
  312.     #ifdef __CTM_SUPPORT__
  313.         STATUS_ICON_TTY_INDICATOR,
  314.     #endif 
  315.         /* 101205 new icon Calvin End */
  316.         STATUS_ICON_SUBLCD_SIGNAL_STRENGTH,
  317.         STATUS_ICON_SUBLCD_BATTERY_STRENGTH,
  318.         STATUS_ICON_SUBLCD_SMS,
  319.         STATUS_ICON_SUBLCD_RING,
  320.         STATUS_ICON_SUBLCD_VIBRATE,
  321.         STATUS_ICON_SUBLCD_VIBRATE_AND_RING,
  322.         STATUS_ICON_SUBLCD_VIBRATE_THEN_RING,
  323.         STATUS_ICON_SUBLCD_SILENT,
  324.         STATUS_ICON_SUBLCD_ALARM,
  325.         STATUS_ICON_SUBLCD_MISSED_CALL,
  326.         MAX_STATUS_ICONS
  327.     };
  328.     typedef struct _MMI_status_icon
  329.     {
  330.         S32 x, y;               /* Offset within a status icon bar                    */
  331.         S32 width, height;      /* For quick lookup                             */
  332.         MMI_ID_TYPE icon_ID;    /* MMI_ID_TYPE of the icon                         */
  333.         U32 flags;              /* Internal flags: See flag names below               */
  334.         U8 state;               /* For icons with multiple states                     */
  335.         U8 group_ID;            /* 0: No group, 1,2,3 ... Groups                   */
  336.         U8 priority;            /* 0: No priority, 1,2,3...Highest to Lowest priorities  */
  337.         PU8 icon_data;          /* For quick lookup                             */
  338.         S16 n_frames;           /* For quick lookup                             */
  339.         S16 current_frame;      /* For animated icons                              */
  340.     } MMI_status_icon;
  341. #define  STATUS_ICON_ANIMATE              0x00000001
  342. #define STATUS_ICON_REVERSE_ANIMATE       0x00000002
  343. #define STATUS_ICON_FORWARD_ANIMATE       0x00000004
  344. #define STATUS_ICON_BLINK              0x00000008
  345. #define STATUS_ICON_DISABLED           0x00000010
  346. #define STATUS_ICON_DISPLAY               0x00000020
  347.     typedef struct _MMI_status_icon_bar
  348.     {
  349.         S32 x, y;                   /* Icons are offset from this position                */
  350.         U32 flags;                  /* all the icons between them.                        */
  351.         S32 x1, y1, x2, y2;         /* Area occupied by the status bar: Used for hiding      */
  352.         U8 group_ID;                /* 0: No group, 1,2,3 ... Groups                   */
  353.         S16 n_icons;                /* Number of icons in the list of icons               */
  354.         S16 *icon_list;             /* Pointer to the list of icons (Icon IDs used here)     */
  355.         bitmap *graphics_context;   /* Pointer to the graphics context (Sub/Main LCD)        */
  356.         U8 *layer_buffer;           /* Layer buffer on which the status icon bar is drawn    */ //061506 double buffer
  357.         GDI_HANDLE layer_handle;    /* Layer handle on which the status icon bar is drawn    */ 
  358.     } MMI_status_icon_bar;
  359. #define STATUS_ICON_BAR_DISPLAY           0x00000001
  360. #define STATUS_ICON_BAR_ARRANGE_VERTICAL  0x00000002
  361. #define STATUS_ICON_BAR_ARRANGE_HORIZONTAL   0x00000004
  362. #define STATUS_ICON_BAR_ARRANGE_ASCENDING 0x00000000
  363. #define STATUS_ICON_BAR_ARRANGE_DESCENDING   0x00000008
  364. #define STATUS_ICON_BAR_ARRANGE_PRIORITY  0x00000010
  365. #define STATUS_ICON_BAR_DISABLE_BACKGROUND   0x00000020
  366. #define STATUS_ICON_BAR_ENABLE_DOUBLE_BUFFER   0x00000040
  367.     /* Distance in pixels between a status icon and its adjacent status icons  */
  368. #define STATUS_ICON_X_GAP              2
  369. #define STATUS_ICON_Y_GAP              2
  370. #define SUBLCD_STATUS_ICON_X_GAP       1
  371.     extern MMI_status_icon MMI_status_icons[];
  372.     extern MMI_status_icon_bar MMI_status_icon_bars[];
  373.     /* Globals  */
  374.     extern void (*MMI_hide_status_icon_bars[]) (void);
  375.     extern U8 status_icon_display_ON;
  376.     extern U8 status_icon_blink_animate_ON;
  377.     extern U8 MMI_status_icons_blink_animate_ON_state;
  378.     void register_hide_status_icon_bar(U8 status_bar_ID, void (*f) (void));
  379.     extern void clear_hide_status_icon_bars(void);
  380.     extern void arrange_status_icons(void);
  381.     extern void show_status_icon(S16 icon_ID);
  382.     extern void hide_status_icon(S16 icon_ID);
  383.     extern void animate_status_icon(S16 icon_ID);
  384.     extern void forward_animate_status_icon(S16 icon_ID);
  385.     extern void reverse_animate_status_icon(S16 icon_ID);
  386.     extern void blink_status_icon(S16 icon_ID);
  387.     extern void disable_status_icon(S16 icon_ID);
  388.     extern void enable_status_icon(S16 icon_ID);
  389.     extern void set_status_icon_state(S16 icon_ID, U8 state);
  390.     extern void reset_status_icon_state(S16 icon_ID);
  391.     extern void set_status_icon_display(S32 state);
  392.     extern void reset_status_icon_display(void);
  393.     extern void show_status_icons(void);
  394.     extern void hide_status_icons(void);
  395.     extern void status_icon_timer_callback(void);
  396.     extern void setup_status_icon_blink_animate(void);
  397.     extern void show_status_icon_bar(U8 status_bar_ID);
  398.     extern void hide_status_icon_bar(U8 status_bar_ID);
  399.     extern void get_status_icon_bar_clip(U8 status_bar_ID, S32 *x1, S32 *y1, S32 *x2, S32 *y2);
  400.     extern void set_status_icon_bar_clip(U8 status_bar_ID, S32 x1, S32 y1, S32 x2, S32 y2);
  401.     extern void set_status_icon_bar_type(U8 status_bar_ID, U32 flags);
  402.     extern U32 get_status_icon_bar_type(U8 status_bar_ID);//061306 dummy category
  403.     extern void set_status_icon_bar_layer(U8 status_bar_ID, GDI_HANDLE gdi_layer);//061506 double buffer
  404.     extern U32 get_status_icon_bar_layer(U8 status_bar_ID);
  405.     extern void reset_status_icons(void);
  406.     extern void initialize_status_icons(void);
  407.     extern void close_status_icons(void);
  408.     extern void refresh_status_icon_display(void);
  409.     /* START VIJAY PMT 20060105 */
  410. #ifdef __MMI_UI_STATUS_BAR_AT_BOTTOM__
  411.     extern pBOOL whether_status_bar_at_bottom(void);
  412.     extern void set_status_bar_at_bottom(void);
  413.     extern void reset_status_bar_at_bottom(void);
  414. #endif /* __MMI_UI_STATUS_BAR_AT_BOTTOM__ */ 
  415.     /* END VIJAY PMT 20060105 */
  416. #if defined(__MMI_UI_TECHNO_STATUS_ICON__)
  417.     extern void refresh_fixed_status_icon(S16 icon_id, S16 bar_id);
  418.     extern S32 NumberOfDisplayedIcons(void);
  419.     extern void ChangeStatusIconImageWithoutReArrange(S16 icon_ID, U16 image_ID);
  420. #endif /* defined(__MMI_UI_TECHNO_STATUS_ICON__) */ 
  421.     /* PMT VIKAS START 20050707 */
  422. #ifdef __MMI_UI_DALMATIAN_STATUSBAR__
  423. #define STATUS_BAR_SHUFFLE_TIMER 2000
  424.     /* void gui_set_status_bar_theme(MMI_status_icon_bar *b, UI_status_bar_theme *t); */
  425.     extern void shuffle_status_bars(void);
  426.     extern void swap_status_bar_positions(S32 *x, S32 *y);
  427.     extern void enable_statusbar_fill_background(void);
  428.     extern void disable_statusbar_fill_background(void);
  429. #ifdef __MMI_MAINLCD_176X220__
  430. #define STATUS_TITLE_GAP 0
  431. #endif 
  432.     /* PMT VIKAS START 20050913 */
  433. #if defined(__MMI_MAINLCD_128X128__) || defined (__MMI_MAINLCD_128X160__) || defined(__MMI_MAINLCD_240X320__)
  434.     /* PMT VIKAS END 20050913 */
  435. #define STATUS_TITLE_GAP 2
  436. #endif /* defined(__MMI_MAINLCD_128X128__) || defined (__MMI_MAINLCD_128X160__) || defined(__MMI_MAINLCD_240X320__) */ 
  437. #endif /* __MMI_UI_DALMATIAN_STATUSBAR__ */ 
  438.     /* PMT VIKAS END 20050707 */
  439.     /* Application specific APIs  */
  440.     /* void PopulateStatusIconResources(void); */
  441.     extern void ShowStatusIcon(S16 icon_ID);
  442.     extern void HideStatusIcon(S16 icon_ID);
  443.     extern void UpdateStatusIcons(void);
  444.     extern void UpdateSubLCDStatusIcons(void);
  445.     extern void ChangeStatusIconLevel(S16 icon_ID, U8 level_percentage);
  446.     extern void ChangeStatusIconImage(S16 icon_ID, U16 image_ID);       /* 022505 Calvin added */
  447.     extern void AnimateStatusIcon(S16 icon_ID);
  448.     extern void BlinkStatusIcon(S16 icon_ID);
  449.     /* 030705 Calvin removed */
  450.     //void LockStatusIconDisplay(void);
  451.     //void UnlockStatusIconDisplay(void);
  452.     /* Calvin end */
  453.     extern void arrange_status_icons1(void);
  454.     /* MTK JL add 040311 new sublcd color interface screen */
  455.     extern void show_sublcd_status_background(S32 start_x, S32 start_y, S32 end_x, S32 end_y, U8 is_status_bar);
  456.     extern void show_mainlcd_status_bar_background(U16 start_x, U16 start_y, U16 end_x, U16 end_y);
  457.     extern void set_status_icons_display(MMI_BOOL state);
  458.     extern void wgui_status_icon_set_display_layer(GDI_HANDLE display_layer);
  459.     extern GDI_HANDLE wgui_status_icon_get_display_layer(void);
  460.     extern void wgui_status_icon_reset_display_layer(void);
  461. #ifdef __MMI_TOUCH_SCREEN__
  462.     typedef enum
  463.     {
  464.         WGUI_STATUS_ICON_BAR_PEN_SELECT_ICON,
  465.         WGUI_STATUS_ICON_BAR_PEN_LONG_PRESS_ICON,
  466.         WGUI_STATUS_ICON_BAR_PEN_EVENT_MAX,
  467.         WGUI_STATUS_ICON_BAR_PEN_NONE
  468.     } wgui_status_icon_bar_pen_enum;
  469.     extern void wgui_register_status_icon_pen_event_hdlr(
  470.                     S16 icon_id,
  471.                     wgui_status_icon_bar_pen_enum event_type,
  472.                     FuncPtr f);
  473.     extern MMI_BOOL wgui_execute_status_icon_pen_event_hdlr(S16 icon_id, wgui_status_icon_bar_pen_enum event_type);
  474.     extern void wgui_reset_status_icon_pen_event_hdlr(void);
  475.     extern BOOL wgui_status_icon_translate_pen_event(
  476.                     mmi_pen_event_type_enum pen_event,
  477.                     S16 x,
  478.                     S16 y,
  479.                     S16 *icon_id,
  480.                     wgui_status_icon_bar_pen_enum *event_type);
  481. #endif /* __MMI_TOUCH_SCREEN__ */ 
  482. #ifdef __cplusplus
  483. }
  484. #endif 
  485. #endif /* __WGUI_STATUS_ICONS_H__ */