📄 our_main.c
字号:
BMP_IFO[(0)]);
}
// for (i1=0; i1 <2; i1++)
{
OUR_Draw_bmp16_SBLT( 0,LCD_H-20,LCD_W,20,
1,1,31,15,
video_buffer, LCD_W,
BMP_IFO[(0)]);
}
OUR_Draw_falsh_board16(((mmi_state.sub_state_line&1)*120),20+(mmi_state.sub_state_raw*120*LCD_H/400),120,120*LCD_H/400,10,
OUR_RGB32(00,0,50),
OUR_RGB32(050,255,150),
video_buffer, LCD_W
);/**/
}
void OUR_draw_bmp_OPT( OUR_3D_OBJ_PTR obj,UCHAR *video_buffer, int lpitch)
{
UINT i1=0,i2=0,i3=0;
OUR_mmset_box16(0,0,240,320,video_buffer, LCD_W,OPT_BACK_CLR);
i2=0;
i3=mmi_state.opt_select;
//OUR_mmset_box16(10,50+i2*40,220,5,video_buffer, LCD_W,OPT_BACK_CLR);
while(i3>5)
{
i3-=6;
}
for (i2=0; i2 <6; i2++)
{
if (i2==i3)
{
OUR_Draw_bmp16_SBLT( 9*LCD_W/240,45+i2*40,221,35,
1,1,255,63,
video_buffer, LCD_W,
obj->bmp_info[0]);
}
else
{
OUR_Draw_bmp16_SBLT( 9*LCD_W/240,45+i2*40,221,35,
1,1,255,63,
video_buffer, LCD_W,
obj->bmp_info[1]);
}
//OUR_mmset_box16(10,96+i2*40,220,9,video_buffer, LCD_W,OPT_BACK_CLR);
}
//OUR_mmset_box16(10,55+i2*40,220,5,video_buffer, LCD_W,OPT_BACK_CLR);
OUR_Draw_bmp16_SBLT(0,0,LCD_W,40*LCD_W/240,
1,1,31,15,
video_buffer, LCD_W,
BMP_IFO[(0)]);
OUR_Draw_bmp16_SBLT( 0,360*LCD_H/400+1,LCD_W,40*LCD_H/400-1,
1,1,31,15,
video_buffer, LCD_W,
BMP_IFO[(0)]);
}
void OUR_draw_bmp_OPT_MOVE( OUR_3D_OBJ_PTR obj,int move_x,UCHAR *video_buffer, int lpitch)
{
UINT i1=0,i2=0,i3=0;
video_buffer+=(LCD_H)*(LCD_W)/4;
i2=0;
i3=mmi_state.opt_select;
OUR_mmset_box16(move_x+215,5,26,241,video_buffer, LCD_W,OPT_BACK_CLR);
//OUR_mmset_box16(0,0,240,300,video_buffer, LCD_W,OPT_BACK_CLR);
for (i2=0; i2 <6; i2++)
{
{
OUR_Draw_bmp16_SBLT( move_x,5+i2*40,221,35,
1,1,255,63,
video_buffer, LCD_W,
obj->bmp_info[1]);
OUR_Draw_bmp16_SBLT( move_x+240,5+i2*40,221,35,
1,1,255,63,
video_buffer, LCD_W,
obj->bmp_info[1]);
}
}
}
OUR_3D_MMI_STATE* OUR_3D_get_mmi_state(void)
{
return &mmi_state;
}
int OUR_THIRD_mmi(UCHAR *video_buffer1, int key, int FPS)
{
char work_string[50]; // temp string
int a[5];
int video_step;
// UINT clr;
int i;
static int start,end;
int ret=0;
static int key_old;
UCHAR *video_buffer=video_buffer1;
//==========================================================
if(OUR_MMI_OPT==mmi_state.top_state)
{
if(key==38)//up
{
key_old=key;
mmi_state.opt_select--;
if(mmi_state.opt_select<0)
{
mmi_state.opt_select=mmi_state.opt_select_max-1;
if(!((mmi_state.opt_select)%6))//turn to the last pag
{
x2[0]=0;
}
}
}
else if(key==40)//down
{
key_old=key;
mmi_state.opt_select++;
if(mmi_state.opt_select>mmi_state.opt_select_max-1)
{
mmi_state.opt_select=0;
x2[0]=0;
}
}
else if(key==37)//left
{
key_old=key;
if(mmi_state.opt_select<6)
{
mmi_state.opt_select=mmi_state.opt_select_max/6*6+mmi_state.opt_select;
if(mmi_state.opt_select>mmi_state.opt_select_max-1)
{
mmi_state.opt_select=mmi_state.opt_select_max-1;
}
}
else
{
mmi_state.opt_select-=6;
}
for(i=0;i<6;i++)
{
x2[i]=0;
}
x2[mmi_state.opt_select%6]=170;
end=0;
}
else if(key==39)//right
{
key_old=key;
if(mmi_state.opt_select>mmi_state.opt_select_max-7)
{
if((mmi_state.opt_select/6)==(mmi_state.opt_select_max/6))
{
mmi_state.opt_select=mmi_state.opt_select%6;
}
else
{
mmi_state.opt_select=mmi_state.opt_select_max-1;
}
}
else
{
mmi_state.opt_select+=6;
}
for(i=0;i<6;i++)
{
x2[i]=0;
}
x2[mmi_state.opt_select%6]=170;
end=170+34;
}
else if(key==97)//in
{
key_old=key;
//if((mmi_state.opt_select==0)&&(x2[0]==170))
{
OUR_draw_bmp_OPT(&global.obj2, video_buffer, LCD_W);
/*
a[0]=mmi_state.opt_select;a[1]=start;a[2]=end;
OUR_sprintf(work_string,"sel=%x s=%x e=%x", a);
OUR_Draw_Text16(0,15,OUR_RGB16(255,255,255),work_string,video_buffer1, LCD_W*2);*/
return 0;
}
}
}
else
{
return 0;
}
//========================================
if(key_old==39)//the right key is pressed but the amo is not end
{
if(end>0)
{
end-=34;
OUR_draw_bmp_OPT_MOVE(&global.obj2,-end, video_buffer1, LCD_W);
/*
a[0]=mmi_state.opt_select;a[1]=start;a[2]=end;
OUR_sprintf(work_string,"sel=%x s=%x e=%x", a);
OUR_Draw_Text16(0,15,OUR_RGB16(255,255,255),work_string,video_buffer1, LCD_W*2);*/
return 1;
}
else
{
key_old==0;
}
}
if(key_old==37)
{
if(end<170+34)
{
end+=34;
OUR_draw_bmp_OPT_MOVE(&global.obj2,-end, video_buffer1, LCD_W);
/*
a[0]=mmi_state.opt_select;a[1]=start;a[2]=end;
OUR_sprintf(work_string,"sel=%x s=%x e=%x", a);
OUR_Draw_Text16(0,15,OUR_RGB16(255,255,255),work_string,video_buffer1, LCD_W*2); */
return 1;
}
else
{
key_old==0;
}
}
//==========================================================
//clr=OUR_RGB16BIT565(20, 20, 100);
//clr=(clr<<16)+clr;
video_step=global.cam_work2.hight*4*LCD_W;
start=(mmi_state.opt_select/6)*6;
end=mmi_state.opt_select_max-start;
if(end>6)
{
end=6;
}
for(i=0;i<end;i++)
{
if((mmi_state.opt_select==start+i) )
{
if(x2[i]<170)
{
x2[i]+=34;
}
}
else if(x2[i]>0)
{
x2[i]-=34;
}
}
if(x2[0]>0&&x2[0]<170)
{
if(((key_old==40) &&( mmi_state.opt_select==start))//down
||((key_old==38) &&(( mmi_state.opt_select!=start)//up
||(mmi_state.opt_select==(mmi_state.opt_select_max-1)))))
{
OUR_draw_bmp_OPT_MOVE(&global.obj2,-x2[0], video_buffer1, LCD_W);
/*
a[0]=mmi_state.opt_select;a[1]=start;a[2]=end;
OUR_sprintf(work_string,"sel=%x s=%x e=%x", a);
OUR_Draw_Text16(0,15,OUR_RGB16(0,255,255,255),work_string,video_buffer1, LCD_W*2);*/
return 1;
}
}
for(i=0;i<end;i++)
{
video_buffer+=video_step;
if(x2[i]<=0 ||x2[i]>=170 )
{
continue;
}
ret++;
// // OUR_mmset_box16(10,55+i2*50,220,5,video_buffer, LCD_W,clr);
OUR_mmset((UINT*)(video_buffer),OPT_BACK_CLR+(OPT_BACK_CLR<<16),video_step/4);
OUR_XYZ_Rotation_OBJ( x2[i],0, 0,&global.obj2,OBJ_R_XYZ);
OUR_BACHFACE_OBJ_LIT32(&global.obj2,&global.cam_work2,lit_list);
OUR_POINT_CHANGE_OBJ(&global.obj2,&global.cam_work2);
/*OUR_BOX_OUT_clear16(18,20,
OPT_BACK_CLR,
video_buffer, LCD_W
); */
OUR_Draw_OBJ( &global.obj2, video_buffer, LCD_W,CLOR_MOD);
}
if(ret==0)
{
OUR_draw_bmp_OPT(&global.obj2, video_buffer1, LCD_W);
}
/*
a[0]=mmi_state.opt_select;a[1]=start;a[2]=end;
OUR_sprintf(work_string,"sel=%x s=%x e=%x", a);
OUR_Draw_Text16(0,15,OUR_RGB16(0,255,255,255),work_string,video_buffer1, LCD_W*2);*/
return ret;
}
//==================================================================================
//==============================================
///====by mjb =====================================================
//#define OUR_3D_ 1
#define OUR_3D_mmi_struct 0
#if OUR_3D_
//#include "GlobalMenuHandlers.h"
//#include "our_main.c"
/*
*/
#if OUR_3D_mmi_struct
typedef void (*OUR_3D_mmi_funptr)(void);
typedef struct
{
U16 str_id;
OUR_3D_mmi_funptr third_highlight_fun;
}THIRD_STRUCT;
typedef struct
{
U16 str_id;
THIRD_STRUCT* third_menu;
}SECOND_STRUCT;
extern void highlight_mainmenu_profiles(void);
extern void HighlightLcddisplaySet(void);
extern void HighlightPhnsetTimeAndDate(void);
extern void HighlightPhnsetScr(void);
extern void HighlightManageCalls(void);
THIRD_STRUCT setting_child_3[]={
{MAIN_MENU_PROFILES_TEXT, HighlightManageCalls},//highlight_mainmenu_profiles
{STR_DISPLAY_SETTING, HighlightLcddisplaySet},
{STR_MENU9141_TIME_AND_DATE, HighlightPhnsetTimeAndDate},
{STR_MENU9141_TIME_AND_DATE, HighlightPhnsetScr},//STRING_MTPNP_PHONE_SETTING
{STR_MENU9100_CALL_SETTING, HighlightManageCalls},
{STR_MENU9166_AUTO_KEYPAD_LOCK, HighlightLcddisplaySet},
};
SECOND_STRUCT our_3d_mmi_2[]={
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},//STR_SCR_CALL_HISTORY_MAIN_MENU_CAPTION
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_BBK_SPACE_TEXT, setting_child_3},
{MAIN_MENU_WORK_STUDY_TEXT, setting_child_3},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -