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

MTK

开发平台:

C/C++

  1. /*******************************************************************************
  2. *  Modification Notice:
  3. *  --------------------------
  4. *  This software is modified by MediaTek Inc. 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_softkeys.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *   Maui_Software
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  softkey related funtions
  47.  *
  48.  * Author:
  49.  * -------
  50.  * -------
  51.  *
  52.  *------------------------------------------------------------------------------
  53.  * $Log$
  54.  *
  55.  * removed!
  56.  * removed!
  57.  * 
  58.  *
  59.  * removed!
  60.  * removed!
  61.  * 
  62.  *
  63.  * removed!
  64.  * removed!
  65.  * 
  66.  *
  67.  * removed!
  68.  * removed!
  69.  * 
  70.  *
  71.  * removed!
  72.  * removed!
  73.  * 
  74.  *
  75.  * removed!
  76.  * removed!
  77.  * 
  78.  *
  79.  */
  80. /**
  81.  * Copyright Notice
  82.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  83.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  84.  *  (It is illegal to remove this copyright notice from this software or any
  85.  *  portion of it)
  86.  */
  87. /**********************************************************************************
  88.    Filename:      wgui_softkeys.h
  89.    Author:        manju
  90.    Date Created:  August-07-2002
  91.    Contains:      PixTel UI wrapper routines header for softkeys
  92. **********************************************************************************/
  93. #ifndef __WGUI_SOFTKEYS_H__
  94. #define __WGUI_SOFTKEYS_H__
  95. #include "MMI_features.h"
  96. #ifdef __cplusplus
  97. extern "C"
  98. {
  99. #endif /* __cplusplus */ 
  100. #include "wgui.h"
  101. #define  MMI_left_softkey  MMI_softkeys[MMI_LEFT_SOFTKEY]
  102. #define MMI_right_softkey  MMI_softkeys[MMI_RIGHT_SOFTKEY]
  103. #ifdef __MMI_WGUI_CSK_ENABLE__
  104. #define  MMI_center_softkey   MMI_softkeys[MMI_CENTER_SOFTKEY]
  105. #endif 
  106. #define WGUI_SOFTKEY_STRING_GAP  4
  107.     typedef enum
  108.     {
  109.         MMI_LEFT_SOFTKEY,
  110.         MMI_RIGHT_SOFTKEY,
  111.     #ifdef __MMI_WGUI_CSK_ENABLE__
  112.         MMI_CENTER_SOFTKEY,
  113.     #endif 
  114.         WGUI_MAX_SOFTKEYS
  115.     } WGUI_SOFTKEY_ENUM;
  116.     extern S32 MMI_softkey_width;
  117.     extern S32 MMI_softkey_height;
  118.     extern U8 left_softkey_keyboard_handler_active;
  119.     extern U8 right_softkey_keyboard_handler_active;
  120. #ifdef __MMI_GUI_CSK_ENABLE__
  121.     extern U8 center_softkey_keyboard_handler_active;
  122. #endif 
  123. #define resize_left_softkey_by_string_length( S )  resize_softkey_by_string_length(S,MMI_LEFT_SOFTKEY)
  124. #define resize_right_softkey_by_string_length( S ) resize_softkey_by_string_length(S,MMI_RIGHT_SOFTKEY)
  125. #define resize_left_softkey(WIDTH, HEIGHT )     resize_softkey(WIDTH, HEIGHT,MMI_LEFT_SOFTKEY)
  126. #define resize_right_softkey( WIDTH, HEIGHT )      resize_softkey(WIDTH, HEIGHT,MMI_RIGHT_SOFTKEY)
  127. #define set_left_softkey_label( S )             set_softkey_label(S,MMI_LEFT_SOFTKEY)
  128. #define set_right_softkey_label( S )            set_softkey_label(S,MMI_RIGHT_SOFTKEY)
  129. #define set_left_softkey_icon( ICON )           set_softkey_icon(ICON,MMI_LEFT_SOFTKEY)
  130. #define set_right_softkey_icon( ICON )          set_softkey_icon(ICON,MMI_RIGHT_SOFTKEY)
  131. #define change_left_softkey(S,I)             change_softkey(S,I,MMI_LEFT_SOFTKEY)
  132. #define change_right_softkey(S,I)               change_softkey(S,I,MMI_RIGHT_SOFTKEY)
  133. #define set_left_softkey_function(FUNC, KEY_TYPE)  set_softkey_function(FUNC,KEY_TYPE,MMI_LEFT_SOFTKEY)
  134. #define set_right_softkey_function(FUNC, KEY_TYPE) set_softkey_function(FUNC,KEY_TYPE,MMI_RIGHT_SOFTKEY)
  135. #define execute_left_softkey_function(KEY_TYPE) execute_softkey_function(KEY_TYPE,MMI_LEFT_SOFTKEY)
  136. #define execute_right_softkey_function(KEY_TYPE)   execute_softkey_function(KEY_TYPE,MMI_RIGHT_SOFTKEY)
  137. #define set_left_softkey(S, FUNC, KEY_TYPE)     set_softkey(S, FUNC, KEY_TYPE, MMI_LEFT_SOFTKEY)
  138. #define set_right_softkey(S, FUNC, KEY_TYPE)    set_softkey(S, FUNC, KEY_TYPE, MMI_RIGHT_SOFTKEY)
  139. #define clear_left_softkey()                 clear_softkey_display_functions(MMI_LEFT_SOFTKEY)
  140. #define clear_right_softkey()                clear_softkey_display_functions(MMI_RIGHT_SOFTKEY)
  141. #define show_left_softkey()                  show_softkey(MMI_LEFT_SOFTKEY)
  142. #define show_right_softkey()                 show_softkey(MMI_RIGHT_SOFTKEY)
  143. #define redraw_left_softkey()                redraw_softkey(MMI_LEFT_SOFTKEY)
  144. #define redraw_right_softkey()               redraw_softkey(MMI_RIGHT_SOFTKEY)
  145. #ifdef __MMI_WGUI_CSK_ENABLE__ //082106 redraw ceter key
  146. #define redraw_center_softkey()               redraw_softkey(MMI_CENTER_SOFTKEY)
  147. #endif
  148. #define register_hide_left_softkey(FUNC)        register_hide_softkey(FUNC, MMI_LEFT_SOFTKEY)
  149. #define register_hide_right_softkey(FUNC)       register_hide_softkey(FUNC, MMI_RIGHT_SOFTKEY)
  150. #define register_left_softkey_handler()         register_softkey_handler(MMI_LEFT_SOFTKEY)
  151. #define register_right_softkey_handler()        register_softkey_handler(MMI_RIGHT_SOFTKEY)
  152. #define clear_left_softkey_handler()            clear_softkey_handler(MMI_LEFT_SOFTKEY)
  153. #define clear_right_softkey_handler()           clear_softkey_handler(MMI_RIGHT_SOFTKEY)
  154. #define reset_left_softkey()                 reset_softkey(MMI_LEFT_SOFTKEY)
  155. #define reset_right_softkey()                reset_softkey(MMI_RIGHT_SOFTKEY)
  156.     extern void create_softkeys(void);
  157.     extern void register_softkey_handler(WGUI_SOFTKEY_ENUM key);
  158.     extern void register_center_softkey_to_enter_key(void);
  159.     extern void set_softkey_label(UI_string_type s, WGUI_SOFTKEY_ENUM key);
  160.     extern void set_softkey_icon(PU8 i, WGUI_SOFTKEY_ENUM key);
  161.     extern void change_softkey(U16 s, U16 i, WGUI_SOFTKEY_ENUM key);
  162.     void set_softkey_function(void (*f) (void), MMI_key_event_type k, WGUI_SOFTKEY_ENUM key);
  163.     extern void execute_softkey_function(MMI_key_event_type k, WGUI_SOFTKEY_ENUM key);
  164.     extern FuncPtr get_softkey_function(MMI_key_event_type k, WGUI_SOFTKEY_ENUM key);
  165.     void set_softkey_function(void (*f) (void), MMI_key_event_type k, WGUI_SOFTKEY_ENUM key);
  166.     extern void show_softkey(WGUI_SOFTKEY_ENUM key);
  167.     extern void redraw_softkey(WGUI_SOFTKEY_ENUM key);
  168.     void register_hide_softkey(void (*f) (void), WGUI_SOFTKEY_ENUM key);
  169.     extern void clear_softkey_display_functions(WGUI_SOFTKEY_ENUM key);
  170.     extern void resize_softkey_by_string_length(UI_string_type s, WGUI_SOFTKEY_ENUM key);
  171.     extern void left_softkey_down(void);
  172.     extern void left_softkey_up(void);
  173.     extern void right_softkey_down(void);
  174.     extern void right_softkey_up(void);
  175.     extern void update_softkey_state_no_redraw( U16 KeyCode, U16 KeyType);
  176.     extern void reset_softkeys(void);
  177.     extern void reset_softkey(WGUI_SOFTKEY_ENUM key);
  178.     extern void clear_softkey_handler(WGUI_SOFTKEY_ENUM key);
  179.     extern void enable_softkey_background(void);
  180.     extern void disable_softkey_background(void);
  181.     /* For Draw Manager  */
  182.     extern void move_softkey(S32 x, S32 y, WGUI_SOFTKEY_ENUM key);
  183.     extern void resize_softkey(S32 width, S32 height, WGUI_SOFTKEY_ENUM key);
  184.     extern void restore_softkeys(void);
  185.     extern void set_softkey_flags_on(S32 flag, WGUI_SOFTKEY_ENUM key);
  186.     extern void set_softkey_flags_off(S32 flag, WGUI_SOFTKEY_ENUM key);
  187. #ifdef __MMI_UI_DALMATIAN_SOFTKEYS__
  188.     void gui_register_button_shuffle(void (*f) (void));
  189.     extern void gui_call_shuffle(void);
  190.     extern void shuffle_draw_white(void);
  191. #endif /* __MMI_UI_DALMATIAN_SOFTKEYS__ */ 
  192. #ifdef __MMI_TOUCH_SCREEN__
  193.     extern BOOL translate_softkey_pen_event(
  194.                     WGUI_SOFTKEY_ENUM key,
  195.                     mmi_pen_event_type_enum pen_event,
  196.                     S16 x,
  197.                     S16 y,
  198.                     gui_button_pen_enum *button_event);
  199. #endif /* __MMI_TOUCH_SCREEN__ */ 
  200.     extern void wgui_softkey_get_dimension(WGUI_SOFTKEY_ENUM key, S32 *width, S32 *height);
  201.     extern void wgui_softkey_get_position(WGUI_SOFTKEY_ENUM key, S32 *x, S32 *y);
  202. #ifdef __cplusplus
  203. }
  204. #endif 
  205. #endif /* __WGUI_SOFTKEYS_H__ */