您的位置:首页 > 其它

如何提高菜单滚动速度

2012-11-02 09:34 288 查看
在gui_effect_oem.c中添加如下函数

static void modified_gui_list_menu_smooth_scrolling_goto_next_item(void) // YY add

{

/*----------------------------------------------------------------*/

/* Local Variables */

/*----------------------------------------------------------------*/



/*----------------------------------------------------------------*/

/* Code Body */

/*----------------------------------------------------------------*/

if(Is_KeyRepeat()||MMI_fixed_list_menu.highlighted_item+1==MMI_fixed_list_menu.n_items){

gui_set_current_list_effect(0);

}

switch (g_gui_list_menu_smooth_scrolling_menu_type)

{

case GUI_MENU_TYPE_FIXED:

fixed_list_goto_next_item();

break;



case GUI_MENU_TYPE_DYNAMIC:

dynamic_list_goto_next_item();

break;



case GUI_MENU_TYPE_ASYNCDYNAMIC:

asyncdynamic_list_goto_next_item();

break;



#ifdef __MMI_FTE_SUPPORT__

case GUI_MENU_TYPE_INLINE:

inline_fixed_list_goto_next_item();

break;

#endif



default:

break;

}

#define LIST_EFFECT_TYPE__(A) MMI_UI_LIST_HIGHLIGHT_EFFECT_##A

#define LIST_EFFECT_TYPE_(A) LIST_EFFECT_TYPE__(A)

#define LIST_EFFECT_TYPE(A) LIST_EFFECT_TYPE_(A)







gui_set_current_list_effect(LIST_EFFECT_TYPE_(UI_LIST_EFFECT_TYPE));

}



修改如下函数:

static void gui_list_menu_smooth_scrolling_goto_next_item(void)

{



static int ReEntry=0;

if(ReEntry) return;

ReEntry++;

if(Is_KeyRepeat()){

gui_start_timer(20,gui_list_menu_smooth_scrolling_goto_next_item);

}

modified_gui_list_menu_smooth_scrolling_goto_next_item();

ReEntry--;

}



在keybrd.c中添加函数:



BOOL Is_KeyRepeat(void)

{

return (g_key_cntx.curr_key_type==KEY_EVENT_REPEAT);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: