📄 wgui_categories.c
字号:
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/**
* Copyright Notice
* (c) 2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
* Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
* (It is illegal to remove this copyright notice from this software or any
* portion of it)
*/
/**********************************************************************************
Filename: wgui_categories.c
Author: manju, Vandana Mehtani, Vandana Dhawan
Date Created: August-07-2002
Contains: PixTel UI wrapper routines
High Level Category screen wrappers.
**********************************************************************************/
#include "MMI_features.h"
#define __NEWSIMULATOR
#include "stdC.h"
#include "L4Dr1.h"
#include "PixtelDataTypes.h"
#undef __NEWSIMULATOR
#include "GlobalDefs.h"
#include "EventsGprot.h"
#include "CustDataProts.h"
#include "CustMenuRes.h"
#include "HistoryGprot.h"
#include "FrameworkStruct.h"
#include "TimerEvents.h"
#include "EventsDef.h"
#include "Unicodexdcl.h"
#include "gui_setting.h"
#include "gui_themes.h"
#include "wgui.h"
#include "wgui_softkeys.h"
#include "wgui_menu_shortcuts.h"
#include "wgui_fixed_menus.h"
#include "wgui_fixed_menuitems.h"
#include "wgui_inputs.h"
#include "wgui_status_icons.h"
#include "wgui_datetime.h"
#include "wgui_categories_defs.h"
#include "wgui_categories_idlescreen.h"
#include "wgui_categories_inputs.h"
#include "wgui_categories_MM.h"
#include "wgui_categories_sublcd.h"
#include "wgui_categories_util.h"
#include "wgui_dynamic_menus.h"
#include "wgui_dynamic_menuitems.h"
#include "wgui_asyncdynamic_menus.h"
#include "wgui_asyncdynamic_menuitems.h"
#include "wgui_draw_manager.h"
#include "IdleAppDef.h"
#include "IdleAppProt.h"
#include "WallpaperDefs.h"
#include "ScreenSaverDefs.h"
#include "DebugInitDef.h"
#include "MainMenuDef.h"
#include "gdi_include.h" /* include for graphic lib */
#include "SettingGProts.h"
#include "ShortcutsDefs.h"
#include "SimDetectionGexdcl.h"
#include "PhoneBookTypes.h"
#include "wgui_draw_manager.h" /* Add for Draw Manager */
#include "wgui_touch_screen.h" /* for touch screen apis */
#include "wgui_categories_util.h"//032305 Calvin added
#ifdef __MMI_UI_TAB_PANE__
#include "wgui_tab.h"
#endif
#ifdef __MMI_AUDIO_PLAYER__
// dependent headers for AudioPlayerXXX.h"
#include "gui_data_types.h"
#include "FrameworkStruct.h"
#include "GlobalConstants.h"
#include "mdi_datatype.h"
#include "kal_release.h"
#include "Conversions.h"
#include "FileMgr.h"
#include "AudioPlayerDef.h"
#include "AudioPlayerType.h"
#include "AudioPlayerProt.h"
#include "AudioPlayerMainScreen.h"
#endif /* __MMI_AUDIO_PLAYER__ */
//MTK Elvis for R2L characters
#include "BIDIDEF.h"
#include "BIDIProt.h"
#include "UCS2Prot.h"
//MTK end
#if defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)
/* under construction !*/
/* under construction !*/
#endif
#if defined(__MMI_TOUCH_SCREEN__)
#include "EditorPen.h"
#include "wgui_virtual_keyboard.h"
#endif
#ifdef __MMI_EDITABLE_AUDIO_EQUALIZER__
#ifdef __MMI_TOUCH_SCREEN__
#include "TouchScreenGprot.h"
#endif
#include "SoundEffect.h"
#endif
//PMT HIMANSHU START 20050729
#if defined(__MMI_TOUCH_SCREEN__) && defined(__MMI_WALLPAPER_ON_BOTTOM__)
#include "VolumeHandler.h"
#endif
//PMT HIMANSHU END 20050729
#if (defined(__MTK_TARGET__) && !defined(__MAUI_BASIC__) && !defined(__L1_STANDALONE__) && !defined(EMPTY_MMI))
#include "bmt.h"
#include "pwic.h"
extern kal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type, kal_uint8 gpio_dev_level);
extern void setup_UI_wrappers(void);
#endif/*(!defined(__MAUI_BASIC__) && !defined(__L1_STANDALONE__) && !defined(EMPTY_MMI))*/
#define MMI_CAT401_X_OFFSET 17
/* for NFB progress bar images */
extern U8* nfb_progress_images[];
#ifdef __MMI_BIDI_ALG__
extern U8 visual_str[];
#endif
extern BOOL r2lMMIFlag;
/* image store the image data of left arrow key */
extern U8 inline_select_left_arrow_image[];
/* image store the image data of right arrow key */
extern U8 inline_select_right_arrow_image[];
extern byte matrix_main_menu_highlight_bitmap_data[];
extern S32 GUI_current_fixed_icontext_list_menuitem_column;
extern U16 StopMyTimer(U16 nTimerId);
extern U16 StartMyTimerInt(U16 nTimerId,U32 nTimeDuration,oslTimerFuncPtr TimerExpiry, U8 alignment);
/* Externals for graphics context switching */
extern bitmap main_LCD_device_bitmap;
extern bitmap sub_LCD_device_bitmap;
extern bitmap* current_LCD_device_bitmap;
/* store Main lcd width */
extern S32 MAIN_LCD_device_width;
/* store Main LCD height */
extern S32 MAIN_LCD_device_height;
extern BOOL dynamic_item_text_align_left;
extern FuncPtr gExitFullScreenCallBack;
void UI_set_main_LCD_graphics_context(void);
void UI_set_sub_LCD_graphics_context(void);
extern pBOOL GetShowAOC(void);
extern S32 UI_get_font_height(UI_font_type f);
extern void mtk_show_animation(S32 x,S32 y,byte *image);
extern void mtk_show_animation_frames(S32 x,S32 y,byte *image, S32 start_frame);
extern void UI_draw_horizontal_line(S32 x1,S32 x2,S32 y,color c);
extern void UI_putpixel(S32 x,S32 y,color c);
extern void UI_draw_vertical_line(S32 y1,S32 y2,S32 x,color c);
extern void wgui_setup_singleline_inputbox(S32 x,S32 y,S32 width,S32 height,U8* buffer,S32 buffer_size,U16 category_screen_ID,UI_string_type RSK_label,UI_image_type RSK_icon,U16 input_type,U8 *history_buffer,byte information_bar_flag);
extern void wgui_close_singleline_inputbox(void);
extern void get_singleline_inputbox_category_history(word history_ID,byte *history_buffer,s16 input_type);
extern void move_slide_control_value(slide_control *s, S32 x, S32 y);
extern void (*ExitCategoryFunction)(void);
#ifdef __MMI_UI_LIST_TRANSITION__
extern void set_list_transition(wgui_transition_styles style);
extern wgui_transition_styles get_list_transition(void);
extern void reset_list_transition(void);
#endif
extern void dm_set_scr_bg_image_no_draw(U16 image_id, S8* file_name, S32 x, S32 y, U8 opacity);
#ifdef __MMI_GB__ //OK
#include "gb_wrapper.h"
#endif
U8 category89_string_list[MAX_CATEGORY89_STRINGS][MAX_CATEGORY89_STRING_LENGTH];
#ifdef __MMI_CALORIE__
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
/* Store current menu type..matrix,list,circular */
S32 MMI_current_menu_type=MATRIX_MENU;
S32 volume_level_UI;
#ifdef __MMI_IDLE_FULL_SCREEN__
U16 on_idle_screen=0;
#endif
U8 Category154Align=0;
U8 cat9_show_message=0;
/* a flagused to check if text dispaly in category125 is scrolling or not */
U8 flag_scroll = FALSE;
/* used by category125 to display valeu in dispaly valeu bar beliow title bar */
U8 *disp_valuestr = NULL ;
/* used by categopry 125 */
U8 *disp_barstr = NULL ,*left_value = NULL ,*right_value = NULL ;
S16 status_icon = 0;
/* global variable store the image height,width ,and no_of_pixtel */
S32 no_of_pixel= 0;
/* store category142 image list */
U16 *category_142_image_list=NULL;
/* store the category142 image list inex */
U8 **category_142_image_file_name_list = NULL;
/* store the category142 image filename list inex */
S32 *category_142_image_list_index=NULL;
/* store number of items of category 142 */
S32 category_142_image_list_n_items=0;
/* vertical scroll bar of category 142 */
vertical_scrollbar category142_vbar;
/* list of titles of category 142 */
U8** category_142_list_of_titles=NULL;
#ifdef __MMI_EDITABLE_AUDIO_EQUALIZER__
equalizer_setting_info g_audio_equalizer_current_setting_info; //to store the values of currently accessed equal8izer setting
float one_pixel_represents; //one pixel in each equalizer bar represents what value....
float temp_float_var;
extern void mmi_settings_audio_equalizer_change_sound_level(S16 change);
extern U16 g_audio_equalizer_bar_start_x, g_audio_equalizer_bar_start_y;
extern U16 g_audio_equalizer_bar_width, g_audio_equalizer_bar_height, g_audio_equalizer_dist_btw_bars;
extern U16 g_audio_equalizer_scrollable_ht, g_audio_equalizer_unit_scroll;
#endif //__MMI_EDITABLE_AUDIO_EQUALIZER__
/* category 154 message 1 y postition */
S32 category_154_message1_y=0;
/* category 154 message 2 y position */
S32 category_154_message2_y=0;
scrolling_text scroll_text_cat125 ;
UI_string_type category155_slide_string=NULL;
#if defined (__MMI_WALLPAPER_ON_BOTTOM__)
static UI_image_ID_type idle_scr_bg_ID;
static S8* idle_scr_bg_filename;
static S32 idle_scr_bg_x, idle_scr_bg_y;
static U8 idle_scr_bg_opacity;
#endif
//PMT HIMANSHU START 20050809
extern U16 title_bg_id;
//PMT HIMANSHU END 20050809
/* Category402 */
#define CATEGORY402_PERCENTAGEBAR_HEIGHT 20
U16 category402_value = 0;
U8 *category402_info_string = NULL;
extern void UpdateCategory402Value(U16 value);
/* 061306 dummy category Start */
U32 status_bar_flag[MAX_STATUS_ICON_BARS];
/*****************************************************************************
* FUNCTION
* ExitCategoryDummyScreen
* DESCRIPTION
* Exits the dummy category screen
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void ExitCategoryDummyScreen(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
set_status_icon_bar_type(0, status_bar_flag[0]);
set_status_icon_bar_type(1, status_bar_flag[1]);
} /* end of ExitCategoryDummyScreen */
/*****************************************************************************
* FUNCTION
* ShowCategoryDummyScreen
* DESCRIPTION
* Set some global settings for category without drawing anything on the screen
* PARAMETERS
*
* RETURNS
*
*****************************************************************************/
void ShowCategoryDummyScreen(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -