2009-11-17 (1) NVRAM_EF_SYS_CACHE_OCTET_DEFAULT->第11项->控制模式设置 (2)模式设置 MTPNP_AD_Set_Card1Status( ) ->模式设置中设置SIM卡1模式 MTPNP_AD_Set_Card2Status( ) ->模式设置中设置SIM卡2模式 MTPNP_AD_Get_Card1Status( ) ->模式设置中获取SIM卡1当前模式 MTPNP_AD_Get_Card2Status( ) ->模式设置中获取SIM卡2当前模式 例如,判断模式设置中, SIM卡1是否设置有效 If(MTPNP_AD_Get_Card1Status( )= = MTPNP_AD_SIMCARD_ABSENT) MTPNP_AD_Get_UsableSide( ) -> 获取当前的模式设置有效值 例如,if( MTPNP_AD_Get_UsableSide() = =MTPNP_AD_DUALSIM_USABLE) (4)开机步骤检查函数, 大多以mmi_bootup_is_XXX开头,例如 mmi_bootup_is_before_power_on(void); mmi_bootup_is_in_security_check(void); mmi_bootup_is_sim_valid(void); (5)重画电话本快速搜索界面:RedrawCategoryControlledArea200Screen (6)缺省的开机设定值default_power_saving_cnxt[] 包括背光亮度和时间,开关机音量,音视频音量,通话音量和按键音量 |
2009-11-18 (1) 紧急拨号号码EmergencyNumber[] 入口函数EntryScrEmergencyCallDialing( ) (2) VGA:Video Graphic Array,即显示绘图阵列。支持最高分辨率640X480,同时显示16种色彩或256种灰度,在320X240分辨率下可以同时显示256种颜色. QVGA:Quarter VGA 即VGA的4分之一尺寸。就是在液晶屏幕上输出的分辨率是320x240像素。 CIF:(common intermediate format)是常用的标准化图像格式。在H.323协议簇中,规定了视频采集设备的标准采集分辨率。CIF = 352×288像素 QCIF:quarter CIF 分辨率为:176x144 (3)字库 &Pluto_Small,&Pluto_Medium,&Pluto_Large,&alpha_sublcd,&alpha_dialling, &virtual_keyboard 小,中,大,子屏,拨号,虚拟键盘 MTK的字库文件包括*.h的字库,和fontres.c的配置文件 (4)输入法 输入法列表MMI_implement_input_mode_set[] 在wgui_input.c中添加该语言的大小写键盘映射,对已ACSII的前256位应该可以用ASCII码(两者应该相同),其他的写对应的unicode码。 |
2009-11-20 (1)主题中,用图片替换颜色 #if defined(__RICHVIEW_MMI_SUB_MENU_BG_USE_IMG__) UI_FILLED_AREA_TYPE_BITMAP, /*用图片*/ (UI_image_type) __MAINLCD__SUBMENU__SB_BG_GIF,//用全路径来指定图片 #else UI_FILLED_AREA_TYPE_COLOR, /*用颜色*/ UI_IMAGE_ID_NULL, /*或者用(U8*)NULL*/ #endif ADD_APPLICATION_IMAGE2 (IMG_SUBMENU_SB_BG, CUST_IMG_PATH"\\\\MainLCD\\\\SubMenu\\\\SB_BG.gif"," SB_BG.gif "); (2)待机界面 ShowCategory33Screen_ext( ); 状态栏 show_status_icons( ); wgui_status_icon_show_status_icons( ); wgui_status_icon_refresh_fixed_status_icon( );//状态栏刷新函数 show_title_status_icon( ); 快捷方式 RegisterIdleShortcutsKeyHandlers(); SetKeyHandler(EntryIdleShortcutScreen, KEY_ENTER,KEY_EVENT_UP); wgui_cat033_display_shortcut_item( ); wgui_cat033_display_shortcut( ); wgui_cat033_setup_shortcut( ); 网络名称 wgui_cat033_show_details( ); wgui_cat033_show_network_name( ); wgui_cat033_show_network_name2( ); 日期和时间 show_main_LCD_date_time( ); ShowBlackBerryTime();//wgui_clock_show_main_lcd(); 画墙纸 draw_wallpaper( ); |
2009-11-21 (1)主菜单 category14_matrix[]//主菜单控件 coordinate_set14_Matrix[]//主菜单控件坐标 gui_show_fixed_matrix_menu( )//画主菜单 standard_animated_matrix_highlight_handler_full_background( )//画动态菜单高亮菜单项 CFG_UI_MAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH//主菜单选中图片宽度 CFG_UI_MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT//主菜单选中图片高度 MAIN_MENU_TITLE_BG_HEIGHT//主菜单title背景高度 MAIN_MENU_ANIMATION_WIDTH//主菜单动画图片宽度 MAIN_MENU_ANIMATION_HEIGHT//主菜单动画图片高度 MAIN_MENU_BG_X//主菜单背景X坐标 MAIN_MENU_BG_Y //主菜单背景Y坐标 gMainMenuAnimationPos[][]//主菜单各个图片坐标 DrawCatMainMenuCat14ControlledArea( )//主菜单中画title的函数 (2)修改useragent账户 NVRAM_EF_INET_CUSTPACK_DEFAULT[] (3)title draw_title( ) //画title gui_title_oem_show_normal( ) //画title draw_matrix_style_title( )//画主菜单 gui_title_oem_show_background( )//画title背景 MMI_CONTENT_HEIGHT//菜单部分高度 MMI_TITLE_X//title的横坐标 MMI_TITLE_WIDTH//title坐标的宽度 MMI_CONTENT_X//菜单起点坐标横坐标 MMI_CONTENT_Y//菜单起点坐标纵坐标 (4)信号栏 MASTER_SIGINAL_X//主SIM卡信号条横坐标 SLAVE_SIGINAL_X//副SIM卡信号条横坐标 BATTERY_SIGINAL_X//电池信号条横坐标 SIGINAL_ICON_WIDTH//信号条的宽度(宽度) wgui_status_icon_refresh_fixed_status_icon( )//信号条图片的刷新函数 wgui_status_icon_redraw_status_icon_bar( )//信号栏刷新函数 status_icon_draw_background( )//画信号栏背景函数 wgui_status_icon_show_status_icons( )//画信号栏函数 (5)定义屏的大小 LCD_WIDTH//定义屏的宽度 LCD_HEIGHT//定义屏的高度 (6)memory大小 SWFLASH_MEM_SIZE |
2009-11-24 const RangeDetails STMing_16_r_RangeInfo={ 3913, //nNoOfRanges ------------------偏移量的范围 STMing_16_r_RangeData //RangeData ----------数组里面包含字符的起始位置 }; sCustFontData Pluto_ch = { 16, //字符高度 16, //字符宽度 1, //字符之间的间距 32, //每个字符占据的宽度 500,//最大字符数是做什么用? (U8*)NULL, //数组宽度为什么位空? (U32*)NULL, //数组偏移为什么位空? (U8*)STMing_16_r_Data, //该数组大小为522752,里面是字符的数据 (U32*)STMing_16_r_RangeOffset,//数组大小为3913,pRange为字符的偏移量 {字体},//这个是字符的类型 &STMing_16_r_RangeInfo//这个包含个数3913,和//RangeData数组里面包含字符的起始位置 }; |
2009-11-26 (1)输入法图标相关部分 typedef struct { U8 display_flag;//显示的位置 U8 hint_type;//图片或者字串 U16 hint_id; //图片或者字串的ID }mmi_imm_input_mode_hint_item_struct, mmi_imm_get_curr_input_mode_hint_info( )//获取当前的输入法 mmi_imc_pen_vk_icon_display_callback( )//画当前输入法图标(字串) (2)不同语言键盘映射的修改 |
2009-12-2 状态栏: IMG_STATUS_BAR 标题栏: IMG_TITLEBAR_BG MAIN_MENU_PAGE_TITLE_BG// __MMI_MAINMENU_PAGE_SUPPORT__ MAIN_MENU_LIST_TITLE_BG// __MMI_MAINMENU_LIST_SUPPORT__ MAIN_MENU_MATRIX_TITLE_BG//主菜单 IMG_SUBMENU_TB_BG//二级菜单 Softkey栏: IMG_SOFTKEY_BAR MAIN_MENU_MATRIX_SOFTKEY_BG |
2009-12-4 (1)查找问题步骤 字符串à菜单àEnter函数(Show函数和按键注册函数) àShowCategories***Screen函数à查询Categories***[ ]和coordinate_set***[ ] (看包括哪些控件和控件坐标) àdm_setup_and_draw_***( )(每个控件的绘画函数) à跟踪具体的GUI/GDI函数 |
2009-12-9 (1)修改默认最大GPRS个数,需要改动 nvram_meta_abm_gprs_profile_struct//GPRS的nvram结构定义 NVRAM_EF_ABM_GPRS_PROFILE_TOTAL NVRAM_EF_ABM_PS_PROFILE_DEFAULT[ ] MAX_GPRS_PROFILE_NUM//最大的nvram数组个数 (2) 修改MSN默认的GPRS DSM_GPRS_ACCOUNT_NO//MSN默认的GPRS UNET_APN_AL_MAX_APN_NUM//最多支持不同apn通道同存的数目 |
2009-12-10 #define FACTORY_RESTORE_DEFAULT_AUDPLY_VOLUME 15/* AUDIOPLAYER默认改为最大*/ #define FACTORY_RESTORE_DEFAULT_FMRDO_VOLUME 6 /* FM默认改为最大*/ |
2009-12-14UNET_APN_PROFILE_NAME:MSN的gprs名称 |
2009-12-15 一 文件Common_nvram_editor_data_item.h (1) 添加结构体,例如: #ifdef __MMI_MESSAGES_TEMPLATE__ typedef struct { kal_char smsTemplate[NVRAM_SMS_TEMPL_RECORD_SIZE]; } nvram_sms_struct; #endif /* __MMI_MESSAGES_TEMPLATE__ */ (2) 添加 VER_LID #ifdef __MMI_MESSAGES_TEMPLATE__ LID_BIT VER_LID(NVRAM_EF_SMS_LID) nvram_sms_struct *NVRAM_SMS_RECORD_TOTAL { smsTemplate:"SMS Template" { }; }; #endif /* __MMI_MESSAGES_TEMPLATE__ */ 二 文件 Nvram_common_config.c #ifdef __MMI_MESSAGES_TEMPLATE__ ,{ NVRAM_EF_SMS_LID, // NVRAM_SMS_TEMPL_RECORD_SIZE,// NVRAM_SMS_RECORD_TOTAL,// NVRAM_EF_ZERO_DEFAULT,// NVRAM_ATTR_AVERAGE,// NVRAM_CATEGORY_USER | NVRAM_CATEGORY_SHADOW | NVRAM_CATEGORY_FACTORY, "MP0v",// VER(NVRAM_EF_SMS_LID),// "SMS\0",// NVRAM_RESERVED_VALUE } #endif/*__MMI_MESSAGES_TEMPLATE__*/ 三 文件Nvram_common_defs.h (1) 在nvram_lid_commapp_enum中定义NVRAM_EF_SMS_LID (2) 定义NVRAM的SIZE和TOTAL #ifdef __MMI_MESSAGES_TEMPLATE__ //#define NVRAM_SMS_TEMPL_RECORD_SIZE 84 #define NVRAM_SMS_TEMPL_RECORD_SIZE 120 #if defined(__RBTEL_MMI_SMS_MULTILANG_TEMPLATE__) //wenshulong,20071115 #define NVRAM_SMS_RECORD_TOTAL 151 #else #define NVRAM_SMS_RECORD_TOTAL 31 #endif #endif /* __MMI_MESSAGES_TEMPLATE__ */ 四 NVRAM值和对应的全局变量的值交换 (1) 全局变量初始化 ReadRecord()à将nvram值给全局变量 (2) WriteRecord()à将全局变量的值改变传给NVRAM 五 nvram 读写函数 #define WriteRecord( nFileId,//NVRAM LID 标号 nRecordId,//读/写其中的第几项 pBuffer, //全局变量地址 nBufferSize,//每次读写的大小 pError) #define ReadRecord ( nFileId, //NVRAM LID 标号 nRecordId, //读/写其中的第几项 pBuffer, //全局变量地址 nBufferSize, //每次读写的大小 pError) |
2009-12-16 (1)dm_register_vkpad_callback( )//虚拟键盘的回调函数 (2) 虚拟键盘 |
2009-12-18 (1)编译modis常关特性 ANALOG_TV_CHIP = NONE FM_RADIO_WITH_TV_CHIP = FALSE SUPPORT_MAGIC_SOUND = TRUE 第三方的SP INPUT_METHOD = NONE MOTION_SENSOR_SUPPORT = NONE MANUAL_TEST = FALSE #手动测试 FM_AUTO_CHARGER_TST_SUPPORT = FALSE #充电测试 IS_FLASHLIGHT_EXIST =FALSE #照相闪光灯 DUAL_TFLASH = FALSE #双T-Flash IS_SINGLE_ELECTRIC_TORCH_EXIST =FALSE #手电筒和闪光灯用不同LED IS_FLASH_ELECTRIC_TORCH_EXIST =FLASE #手电筒和闪光灯用同一颗LED PHB_SIM_ENTRY = 100 # Phonebook Entry Number in SIM: 100, 200 PHB_PHONE_ENTRY = 300 #500 # Phonebook Entry Number in NVRAM: 100, 200 PHB_LN_ENTRY = 20 # Call log; Last Number Entry Number: 10, 20, 50 TOUCH_PANEL_SUPPORT = NONE RF_MODULE = MT6139_CUSTOM INPUT_METHOD = MMI_CSTAR_V2_DEMO (2) MMI_multiline_inputbox |
2009-12-19 (1)对号图标 CK_V.gif (2)显示上午(AM图片),下午 ShowAmPm( ) 实时的显示时间的函数 ShowNumPicStr2( ) (3)拨号界面的绘画 DrawCate16CategoryControlArea2( ); ShowCategory16Screen( ); (4) 视频录像播放时,关闭状态栏 __VDOREC_FEATURE_SHOW_STATUS_BAR__ (5)中间件功能 __MMI_WGUI_CSK_ENABLE__ (3)模拟时钟作为墙纸 PhnsetConstSysWallpaperList( ) (4)短信 MMI_multiline_inputbox MMI_multiline_inputbox.normal_text_color//短信字体颜色 (5)搜网界面 SCR_ID_SAT_WAITSCREEN (6)主菜单高亮 main_menu_custom_highlight_handler( ); (7)时钟显示 gui_clock_show_analog_clock_dial( ); (8)来电界面 mmi_ucm_entry_incoming_call( ); (9)日历 ORGANIZER_CALENDER_MENU ClndrPreEntryApp( ); |
2009-12-21 主菜单快捷方式 gShctCandList[ ] |
2009-12-25 (1)设置系统初始值时间 DEFAULT_HARDWARE_YEAR DRV_POWERON( ) #define AUD_TIMER_PERIOD 2000 (2)手机插入电脑界面 EntryUsbDetectQueryScr( ) (3)时间显示函数 void update_mainlcd_dt_display(void); void update_sublcd_dt_display(void); void show_main_LCD_dt_display(void); void show_sub_LCD_dt_display(void); (4)模式设置 void EntryFlightModeIdleScreen(void) // Entry idle screen in flight mode MTPNP_PFAL_Rearrange_StatusBar( )//不同卡的模式下SIM卡栏目更新 (5)音乐播放格式 if (MR_SOUND_MIDI == type) format = MDI_FORMAT_SMF; else if (MR_SOUND_MP3 == type) format = MDI_FORMAT_DAF; else if (MR_SOUND_WAV == type) format = MDI_FORMAT_WAV; else if(MR_SOUND_PCM == type) format = MDI_FORMAT_PCM_8K; else if(MR_SOUND_M4A == type) format = MDI_FORMAT_M4A; else if(MR_SOUND_AMR == type) format = MDI_FORMAT_AMR; else if(MR_SOUND_AMR_WB == type) format = MDI_FORMAT_AMR_WB; else format = MDI_NO_OF_FORMAT; (6)修改滚动文字 gui_redraw_scrolling_text( ); (7)自动测试死机的问题 FM_Autotest_Stop_Test( ) (8)菜单快捷方式 gui_shortcut_show( ) |
2009-12-28 (1)开机界面 SCR_CHARGER_POWER_ON (2)关机界面 SCR_CHARGING_COMPLETE |
2009-12-29 (1)显示USB界面 ShowUsbScr( ) (2)TITLE滚动显示 gui_title_show_scrolling( ) gui_title_oem_show_normal( ) gui_title_show( )// TITLE显示 wgui_title_set_no_icon_shct( )// TITLE菜单指示数字 |
2009-12-30 (1) mmi_ime_word_code_to_symbol( ) (2)编模拟器 关掉SP,motion_sensor,电视,打开收音机 |
2009-12-30 (1)画title 画非滚动title: S32 gui_title_oem_show_normal(gui_title_struct *t, U32 part),在该函数里,先画一遍背景,再画ICON,再画TEXT。如果信号强度图片和电池电量图片不占用title层,则MMI_TITLE_X=0,MMI_TITLE_WIDTH=MAIN_LCD_DEVICE_WIDTH;如果不是则MMI_TITLE_X要右移,MMI_TITLE_WIDTH<IN_LCD_DEVICE_WIDTH. 如果不想画title的数字快捷方式,则把函数gui_title_set_no_icon_shct( )置成FALSE。 如果出现标题重叠,应该是没有画背景;如果显示不全,很可能是剪切区域重叠。 (2)画pop框 CFG_UI_POP_UP_DIALOG_X, CFG_UI_POP_UP_DIALOG_Y , CFG_UI_POP_UP_DIALOG_WIDTH , CFG_UI_POP_UP_DIALOG_HEIGHT 定义了pop框的起始位置和大小。其中文字pop框里的文字显示在dm_setup_and_draw_multiline_inputbox( )函数,通过设置一块剪切区域,然后画上要显示的字符串。其中文字pop框里的图片显示在dm_setup_and_draw_image ( )函数,通过设置一块剪切区域,然后画上居中画上图片。如果文字显示不全,可能是文字剪切区域不够大或者文字剪切区域和图片剪切区域重叠,导致文字被盖。如果图片显示不全,可能是图片的剪切区域比图片本身要小。 |
2009-12-31 (1)画status_icons 在数组MMI_status_icons[MAX_STATUS_ICONS]里面,定义了每个状态栏图片的默认大小和图片名称,wgui_status_icon_arrange_status_icons( )函数计算每个状态栏图片的默认位置,其中主卡信号图片和电池电量图片采用时默认值。wgui_status_icon_show_status_icons( )函数先把要画的图标画一层背景,然后画出改图标。wgui_status_icon_show_status_icon_bar(status_bar_ID )显示画该status_bar. (2)显示时间—>控件 时间显示类型显示在DT_DISPLAY_TYPE[ ]枚举变量中,在每个SHOW_SCREEN里面,通过set_dt_display( )函数设置要显示的时间界面类型,然后通过函数show_main_LCD_dt_display( )函数画出时间。 (3) IsChineseSet( )//检测当前语言是否是中文 |
2010-1-12 register_fixed_matrix_loop_keys( );//定义菜单上下左右定义 SetupCategoryKeyHandlers( );//定义缺省的左右键的按键定义 |
mmi_nmgr_ctrl_tbl[ ] //提醒数组 |
2010-2-26 gui_EMS_input_box_insert_character //输入区插入单个字符 gui_draw_ems_single_character //输入区画单个字符 |
2010-3-11 话机设置—输入法 void mmi_ime_set_ime_by_lang(U8* lang_contry_code)//输入法过滤主函数 HintPhnsetPreferedInputMethod//HINT函数 EntryScrPreferedInputMethodList//预设输入法主界面 SelectInputMethodHandler//左键设置输入法函数 PhnsetLangLSKHandler//设置语言界面 菜单滚动显示 gui_fixed_icontext_list_menuitem_start_scroll 菜单显示 gui_show_fixed_icontext_list_menuitem 菜单双行显示 gui_show_fixed_icontext_list_menuitem_263screen_two_line 输入法关联字显示区域 mmi_imui_update_selection_area inline菜单高亮函数调用关系(从上到下的调用关系) inline_text_edit_handle_down_arrow inline_fixed_list_goto_next_item gui_fixed_list_menu_switch_highlighted_item Cat57HighlightHandler wgui_inline_edit_default_list_highlight_handler gui_fixed_list_menu_goto_next_item gui_fixed_list_menu_switch_highlighted_item gui_highlight_fixed_icontext_menuitem inline菜单类型 #define INLINE_ITEM_TYPE_MASK 0x000000FF #define INLINE_ITEM_TYPE_CAPTION 0x00000001 #define INLINE_ITEM_TYPE_DISPLAY_ONLY 0x00000002 #define INLINE_ITEM_TYPE_TEXT_EDIT 0x00000003 #define INLINE_ITEM_TYPE_FULL_SCREEN_EDIT 0x00000004 #define INLINE_ITEM_TYPE_SELECT 0x00000005 #define INLINE_ITEM_TYPE_USER_DEFINED_SELECT 0x00000006 #define INLINE_ITEM_TYPE_DATE 0x00000007 #define INLINE_ITEM_TYPE_TIME 0x00000008 #define INLINE_ITEM_TYPE_TIME_PERIOD 0x00000009 #define INLINE_ITEM_TYPE_DOW_SELECT 0x0000000A #define INLINE_ITEM_TYPE_IP4_EDIT 0x0000000B 当前菜单项内容 GUI_current_fixed_icontext_menuitem_data 菜单中断显示,不滚动显示 UI_MENUITEM_TRUNCATE_CONTENT |
2010-3-17 //闹钟界面日历显示 show_DOW_select( ) //日历界面日期显示 mmi_clndr_get_weekday( ) |
MTK调试基本标志量 current_fixed_list_menuitem_display_index == -1//表示为高亮菜单 MMI_fixed_list_menu.highlighted_item //高亮菜单项 MMI_fixed_list_menu.item_display_function//当前菜单的显示函数 wgui_inline_items[MMI_fixed_list_menu.highlighted_item].handler//inline高亮菜单处理函数 |
MTK调试基本函数 gui_list_show_text()//显示列表菜单文字 gui_show_fixed_icontext_menuitem( )//显示菜单项 gdi_image_codec_draw( )//画图函数 handle_inline_item_location()// //inline菜单处理函数 mmi_frm_execute_curr_key_handler_int ( ) |
MTK调试关键词 Mmi_current Gui_show Gui_set Gui_draw |