📄 our_main.c
字号:
{MAIN_MENU_MY_OWN_TEXT, setting_child_3},
{MENU_BBK_GAMES_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_WORK_STUDY_TEXT, setting_child_3},
{MAIN_MENU_MY_OWN_TEXT, setting_child_3},
{MENU_BBK_GAMES_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
};
#else
//extern const mmi_frm_hilite_hdlr_struct* mmi_frm_const_hilite_hdlr_table;
MMI_ID_TYPE mm_stringIDs[MAX_MAIN_MENU_ITEMS];
MMI_ID_TYPE mm_iconIDs[MAX_MAIN_MENU_ITEMS];
U16 nMenuItemList[MAX_SUB_MENUS];
S32 n_items;
MMI_ID_TYPE mm_stringIDs2[MAX_MAIN_MENU_ITEMS];
MMI_ID_TYPE mm_iconIDs2[MAX_MAIN_MENU_ITEMS];
U16 nMenuItemList2[MAX_SUB_MENUS];
S32 n_items2;
#endif
UI_string_type OUR_mmi_str[]={ L"Call History",
L"Camera",
L"BBK Room",
L"Work&Study",
L"My fav.",
L"Game",
L"Web",
L"Messaging",
L"Media",
L"Ph. book",
L"IM",
L"Setting",
L"OK",//12
L"Back",//13
};
///(void)
void DO_OUR_3D(int key);
void DO_OUR_3D_1(void);
int key_our=1;
//======================================
void DO_OUR_3D_LEFT()
{
DO_OUR_3D(37);
//key_our=37;
}
void DO_OUR_3D_RIGHT()
{
DO_OUR_3D(39);
//key_our=39;
}
void DO_OUR_3D_UP()
{
DO_OUR_3D(38);
//key_our=38;
}
void DO_OUR_3D_DOWN()
{
DO_OUR_3D(40);
//key_our=40;
}
void DO_OUR_3D_OK()
{
DO_OUR_3D(97);
//key_our=97;
}
void DO_OUR_3D_CANCEL()
{
DO_OUR_3D(98);
//key_our=98;
}
void DO_OUR_3D(int key)
{
key_our=key;
//gui_start_timer( 5, DO_OUR_3D_1);
DO_OUR_3D_1();
}
color UI_COLOR_YELLOW = {0, 255, 255, 100};
void DO_OUR_3D_1(void)
{
int t,tt;
int ret=1;
s32 x,y,w,h;
s32 i1,i2;
stFontAttribute f={0};
//gui_cancel_timer(DO_OUR_3D_1);
tt=drv_get_duration_ms(0);
//draw the screem start=================
while(1)
{
tt=drv_get_duration_ms(tt);
//clear_screen_with_color(UI_COLOR_BLACK);
//================================================
ret=OUR_3D_Main( gdi_act_layer->buf_ptr,key_our, tt);
key_our=0; //key must clear
if(ret) //is the engine stop
{
{
gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);//flash the lcd to put the frame out to user
}
//gui_start_timer( 1, DO_OUR_3D_1);
//return;
}
else
{
break; //the engine stoped
}
}
//do the rest stuffs,font and key event======
if(OUR_MMI_TOP== mmi_state.top_state)//get out of the 3d mmi
{
gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);
GoBackHistory();
return;
}
//===============================================================================
//this is in the first menu and we draw the words on====
if(OUR_MMI_SUB== mmi_state.top_state)
{
//f.size=LARGE_FONT;
f.size=SMALL_FONT;
gui_set_font(&f);
gui_set_text_color(UI_COLOR_WHITE);//
//gui_set_text_border_color(UI_COLOR_GREEN);
for (i2=0; i2 <3; i2++)
{
for (i1=0; i1 <2; i1++)
{
#if 0
UI_string_type str_ptr;
str_ptr=(UI_string_type)GetString(our_3d_mmi_2[bmp_inde[mmi_state.sub_state_line>>1][i2*2+i1]].str_id);
gui_measure_string(str_ptr,&w,&h);
gui_move_text_cursor((LCD_W/2-w)/2+i1*LCD_W/2,130+120*i2-h);
gui_print_text(str_ptr);
#else
UI_string_type str_ptr;
str_ptr=(UI_string_type)GetString(mm_stringIDs[bmp_inde[mmi_state.sub_state_line>>1][i2*2+i1]]);
gui_measure_string(str_ptr,&w,&h);
gui_move_text_cursor((LCD_W/2-w)/2+i1*LCD_W/2,110+120*i2*320/400-h);
gui_print_text(str_ptr);
#endif
}
}
//set zhe left softkey which is changed in the option mode
SetKeyHandler(DO_OUR_3D_OK, KEY_LSK, KEY_EVENT_DOWN);
/*
//draw the ok and back
gui_set_text_color(UI_COLOR_BLACK);//
f.size=MEDIUM_FONT;
gui_set_font(&f);
//ok
gui_measure_string(OUR_mmi_str[12],&w,&h);
gui_move_text_cursor(5,LCD_H-h+2);//
gui_print_bordered_text(OUR_mmi_str[12]);
//back
gui_measure_string(OUR_mmi_str[13],&w,&h);
gui_move_text_cursor(LCD_W-w-5,LCD_H-h+2);//
gui_print_bordered_text(OUR_mmi_str[13]);
*/
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
}
//=============================================================================
//this is in the second menu and we draw the words on====
if(OUR_MMI_OPT== mmi_state.top_state)
{
int start,end;
#if 0
gui_set_text_color(UI_COLOR_YELLOW);//
f.size=LARGE_FONT;
gui_set_font(&f);
i1=(((mmi_state.sub_state_line+1)&7)/2+mmi_state.sub_state_raw*4);
if(i1>n_items)
{
i1=0;
}
gui_measure_string((UI_string_type)GetString(our_3d_mmi_2[i1].str_id),&w,&h);
gui_move_text_cursor((LCD_W-w)/2,40-h);
gui_print_text((UI_string_type)GetString(our_3d_mmi_2[i1].str_id));
f.size=MEDIUM_FONT;
gui_set_font(&f);
gui_set_text_border_color(UI_COLOR_GREEN);
our_3d_mmi_2[i1].third_menu[ mmi_state.opt_select].third_highlight_fun();
SetKeyHandler(DO_OUR_3D_UP, KEY_UP_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_DOWN,KEY_DOWN_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_LEFT, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_RIGHT, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
//SetKeyHandler(DO_OUR_3D_OK, KEY_LSK, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_CANCEL,KEY_RSK,KEY_EVENT_DOWN);
for (i2=0; i2 <6; i2++)
{
UI_string_type str_ptr;
U16 sid;
sid = our_3d_mmi_2[i1].third_menu[i2].str_id;
str_ptr=(UI_string_type)GetString(sid);
gui_measure_string(str_ptr,&w,&h);
gui_move_text_cursor(30,65+40*i2-h);//
gui_print_text(str_ptr);
// gui_measure_string(OUR_mmi_str[i2],&w,&h);
// gui_move_text_cursor(50,95+50*i2-h);//
// gui_print_text(OUR_mmi_str[i2]);
}
#else
gui_set_text_color(UI_COLOR_YELLOW);//
f.size=LARGE_FONT;
gui_set_font(&f);
i1=(((mmi_state.sub_state_line+1)&7)/2+mmi_state.sub_state_raw*4);
if(i1>n_items)
{
i1=0;
}
gui_measure_string((UI_string_type)GetString(mm_stringIDs[i1]),&w,&h);
gui_move_text_cursor((LCD_W-w)/2,30-h);
gui_print_text((UI_string_type)GetString(mm_stringIDs[i1]));
n_items2 = GetNumOfChild_Ext(nMenuItemList[i1]);
GetSequenceStringIds_Ext(nMenuItemList[i1], mm_stringIDs2);
GetSequenceImageIds_Ext(nMenuItemList[i1], mm_iconIDs2);
//SetParentHandler(IDLE_SCREEN_MENU_ID);
//attributes = GetDispAttributeOfItem(IDLE_SCREEN_MENU_ID);
GetSequenceItemIds(nMenuItemList[i1], nMenuItemList2);
// ExecuteCurrHiliteHandler_Ext(nMenuItemList2[mmi_state.opt_select]);
mmi_frm_get_hilite_hdlr(nMenuItemList2[mmi_state.opt_select])();
SetKeyHandler(DO_OUR_3D_UP, KEY_UP_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_DOWN,KEY_DOWN_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_LEFT, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_RIGHT, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
//SetKeyHandler(DO_OUR_3D_OK, KEY_LSK, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_CANCEL,KEY_RSK,KEY_EVENT_DOWN);
mmi_state.opt_select_max=n_items2;
start=(mmi_state.opt_select/6)*6;
end=mmi_state.opt_select_max-start;
if(end>6)
{
end=6;
}
f.size=MEDIUM_FONT;
gui_set_font(&f);
gui_set_text_color(UI_COLOR_YELLOW);//
//gui_set_text_border_color(UI_COLOR_GREEN);
//our_3d_mmi_2[i1].third_menu[ mmi_state.opt_select].third_highlight_fun();
for (i2=0; i2 <end; i2++)
{
UI_string_type str_ptr;
U16 sid;
sid = mm_stringIDs2[i2+start];
str_ptr=(UI_string_type)GetString(sid);
gui_measure_string(str_ptr,&w,&h);
gui_move_text_cursor(30,70+40*i2-h);//
gui_print_text(str_ptr);
// gui_measure_string(OUR_mmi_str[i2],&w,&h);
// gui_move_text_cursor(50,95+50*i2-h);//
// gui_print_text(OUR_mmi_str[i2]);
}
#endif
}
//=======================================================================================
gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);
/**/
}
U8 back_from_history_3d=0;
void EntryMySetting1_exit(void)
{
back_from_history_3d=1;
}
void EntryMySetting2(void)
{
int*my_frame;
s32 i;
EntryNewScreen(MAIN_MENU_SCREENID,EntryMySetting1_exit,EntryMySetting2,NULL);
entry_full_screen();
//=================================
////=================================
//gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);
SetKeyHandler(DO_OUR_3D_UP, KEY_UP_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_DOWN,KEY_DOWN_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_LEFT, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_RIGHT, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_OK, KEY_LSK, KEY_EVENT_DOWN);
SetKeyHandler(DO_OUR_3D_CANCEL,KEY_RSK,KEY_EVENT_DOWN);
SetKeyHandler(GoBackHistory, KEY_2, KEY_EVENT_DOWN);
//=================================
DO_OUR_3D_OK();
//DO_OUR_3D_1();
}
void EntryMySetting1(void)
{
OUR_3D_Init();
n_items = GetNumOfChild_Ext(IDLE_SCREEN_MENU_ID);
GetSequenceStringIds_Ext(IDLE_SCREEN_MENU_ID, mm_stringIDs);
GetSequenceImageIds_Ext(IDLE_SCREEN_MENU_ID, mm_iconIDs);
//SetParentHandler(IDLE_SCREEN_MENU_ID);
//attributes = GetDispAttributeOfItem(IDLE_SCREEN_MENU_ID);
GetSequenceItemIds(IDLE_SCREEN_MENU_ID, nMenuItemList);
EntryMySetting2();
}
#endif //our_3d
#if 0
//
//
//
//
#endif
//#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -