www.pudn.com > sunplus-DVDsetup.rar > setup_ui_left.c, change:2004-06-28,size:15421b
void setup_func_left(void)
{
const char *str;
UINT16 line = 0;
#ifdef ARGUS_PDVD_MENU_PLUS
if(full_scrn&SETUP_PLUS)
{
#ifdef DEBUG_SETUP_PLUS
printf("left key press,index_y:%d,index_y2:%d",index_y,index_y2);
#endif
setup_menu_plus_timer = MENU_PLUS_SHOW_TIME;
if(setupLevel == 2)
{
//change string color of current selection item in selection area
/*
if (setup_item_plus[page][index_y][0]==SET_SCALE)
{
//子菜单项转为正常显示
setup_PrepareScaleItem(id, 0);
}
else
*/
if (setup_item_plus[page][index_y][0] == SET_FUNC)
{
submenuStart = index_y+SETUP_MENU_YSTART_PLUS;
//sel = setup_sel_plus[page][index_y];
id = setup_item_plus[page][index_y][index_y2+2];
str = setup_SetItemString();
//将刚才被选中的子菜单项(红色标中的)转为正常或是标中显示(按钮深陷且字体为蓝色)
if ((index_y2+2) == sel)
{//
#ifdef DEBUG_SETUP_PLUS
printf("press left key return\n");
#endif
osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SDEFAULTCOLOR,SBGCOLOR);
}
else
{//???
#ifdef DEBUG_SETUP_PLUS
printf("select and return\n");
#endif
osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SBGCOLOR, 0);
osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SFONTCOLOR, SBGCOLOR);
}
//反显左键返回的菜单项以表示选中
id = setup_item_plus[page][index_y][1];
str = _OsdMessegeFont1[osd_font_mode][id];
osd_draw_setup_button(SETUP_MENU_XSTART_PLUS, index_y+SETUP_MENU_YSTART_PLUS, SETUP_SUB_XSTART_PLUS-SETUP_MENU_XSTART_PLUS-1, SANTIBGCOLOR, 1);
osd_DrawString(SETUP_MENU_XSTART_PLUS+1, index_y+SETUP_MENU_YSTART_PLUS, str, SANTIFONTCOLOR, SANTIBGCOLOR);
setupLevel = 1;
}
}
}
else
{
#endif //end #ifdef ARGUS_PDVD_MENU_PLUS
#ifdef SETUP_PASSWORD_GUI//zhaoyanhua add 2004-1-16 11:15
//in PASSWORD GUI, LEFT/RIGHT/UP/DOWN has no use.
if(passwdGUI_state != NO_GUI_STATE)
return;
#endif
#ifdef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
line=SETUP_MAX_WIDTH*16;
SetOsdCol(0,0,SANTIBGCOLOR,0x78501e90);
#elif defined(SETUP_COLOR_TYPE2)
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE //zhaoyanhua add 2003-11-30 21:38
if(!main_setup)
#endif
{
//SetOsdCol(0,0,SANTIBGCOLOR,0xc0c0c0e0);
SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffc0);
line=SETUP_MAX_WIDTH*16-20;
}
#else
#ifdef HANYANG_SETUPMENU//CAOHUI2004-6-18 17:12
line=SETUP_MAX_WIDTH*16+260;
#else
line=SETUP_MAX_WIDTH*16-20;
#endif
SetOsdCol(mn_osd_col2); //2004-4-17 01:45张宇P
#endif
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE //zhaoyanhua add 03-11-7 15:31left
if (main_setup)
{
switch(index_x)
{
case ONE_KEY_PASS_X :
draw_setup_Btn_HL( 1, ONE_KEY_PASS_X*11, ONE_KEY_PASS_Y*4, 8* 24, 1*32,4,MAIN_SETUP_PAGE_BGCOLOR);
index_x = EXIT_SETUP_MENU_X;
draw_setup_Btn_HL( 1,EXIT_SETUP_MENU_X*14+32, EXIT_SETUP_MENU_Y*4, 9* 24, 1*32,4,SETUP_HL_COLOR);
break;
case SETUP_X:
draw_setup_Btn_HL( 1,SETUP_X*14+28, SETUP_Y*4, 8* 24, 1*32,4,MAIN_SETUP_PAGE_BGCOLOR);
index_x = ONE_KEY_PASS_X;
draw_setup_Btn_HL( 1, ONE_KEY_PASS_X*11, ONE_KEY_PASS_Y*4, 8* 24, 1*32,4,SETUP_HL_COLOR);
break;
case EXIT_SETUP_MENU_X:
draw_setup_Btn_HL( 1,EXIT_SETUP_MENU_X*14+32, EXIT_SETUP_MENU_Y*4, 9* 24, 1*32,4,MAIN_SETUP_PAGE_BGCOLOR);
index_x = ONE_KEY_PASS_X;
draw_setup_Btn_HL( 1, ONE_KEY_PASS_X*11, ONE_KEY_PASS_Y*4, 8* 24, 1*32,4,SETUP_HL_COLOR);
break;
}
return;
}
#endif
if ( (setupLevel==0)
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE
&&(!one_key_pass_flag)
#endif
)
{
// make tab disable
//#ifndef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
#ifdef SPE_SETUP //2004-4-21 02:04张宇P bmmm
//osd_draw_rect((line*page)/6+12, 10, line/6-4, SETUP_BUTTON_HEIGHT+10, 6);//2004-4-20 08:51张宇P bmmm
if(page<3) //2004-4-28 13:18lorenc
osd_draw_rect((line*page)/6+21, 10, line/6+2, SETUP_BUTTON_HEIGHT+10, 6);//2004-4-28 10:36lorenc osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+9, 1);
else
osd_draw_rect((line*page)/6+12, 10, line/6-4, SETUP_BUTTON_HEIGHT+10, 6);//2004-4-28 10:36lorenc osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+9, 1);
#else
osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+9, 1);
#endif
#ifndef SPE_SETUP
if (p_scan==1)
osd_DrawLine((line*page)/6+11, SETUP_BUTTON_HEIGHT+20, (line*(page+1))/6+9, SETUP_BUTTON_HEIGHT+20, SWHITECOLOR, 2);
else
//wangfeng 3-8-27 20:53
osd_DrawLine((line*page)/6+11, SETUP_BUTTON_HEIGHT+20, (line*(page+1))/6+9, SETUP_BUTTON_HEIGHT+20, SWHITECOLOR, 1);
#endif//#ifndef SPE_SETUP
#endif//#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
//#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
#if defined(NEXTPAGE_SYS) //freyman 2004-3-26 0:05
if(page==SysNextPage) page=0;
#endif
#ifdef NO_AUDIO_PAGE
if (page>0)
{
page--;
if(page==AUDPAGE)page--;
}
#else
if (page>0)
page--;
#endif
else
page=MAX_SHOW_PAGE;
#ifndef SETUP_ALL_VALID // alan, 2003/7/18 10:49と
if ( (page==AC3DIGITALPAGE) && ( (SETUP_SPDIF==SPDIFBITSTREAM) || (coding_mode_now!=AUDIF_CODING_MODE_AC3) ) )
{
page--;
}
if ( (page==MULTISPKPAGE) && (cd_type_loaded!=CDDVD) && ( coding_mode_now&(~(AUDIF_CODING_MODE_AC3|AUDIF_CODING_MODE_DTS|AUDIF_CODING_MODE_DTSCD)) ) )
{
page--;
} else if ( (page==MULTISPKPAGE) && (SETUP_SPDIF!=SPDIFSIMULATE) )
{
page--;
}
#endif
#ifdef TWO_CHANNEL_ONLY
if (page==MULTISPKPAGE) page--;
#endif
// make tab enable
// #ifndef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
#ifdef SPE_SETUP //2004-4-21 02:04张宇P bmmm
//osd_draw_rect(line*page/6+13, 10, line/6-4, SETUP_BUTTON_HEIGHT+10, SBGCOLOR);
if(page==0)
{
printf("======== page=%d=======\n",page);
osd_draw_rect(line*page/6+20, 10, line/6-4, SETUP_BUTTON_HEIGHT+10, SBGCOLOR);//2004-4-28 13:02 lorenc
}
else if(page==1||page==2)
{ printf("======== page=%d=======\n",page);
osd_draw_rect(line*page/6+20, 10, line/6+3, SETUP_BUTTON_HEIGHT+10, SBGCOLOR);//2004-4-28 13:02 lorenc
}
else
osd_draw_rect(line*page/6+13, 10, line/6-4, SETUP_BUTTON_HEIGHT+10, SBGCOLOR);
#else
osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+10, SBGCOLOR);
#endif
#endif
// highlight : draw a frame to identify which tab is enable
#ifdef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
SetOsdCol(0,0,SANTIBGCOLOR,0x78501e90);
#endif
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffff);
#endif
/*osd_DrawLine(line*page/6+30,14,line*page/6+80,14,SANTIBGCOLOR,1);
osd_DrawLine(line*page/6+30,50,line*page/6+80,50,SANTIBGCOLOR,1);
osd_DrawLine(line*page/6+30,14,line*page/6+30,50,SANTIBGCOLOR,1);
osd_DrawLine(line*page/6+80,14,line*page/6+80,50,SANTIBGCOLOR,1);*/
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
setup_Showredframe(page);
#endif
setupLevel=1;
ShowSetupPage(0);
setupLevel=0;
}
else
if (setupLevel==2) { //left operation only active when switch to selection area of sub-menu
if (full_scrn&CUSTM) {
if (setup_item[page][index_y][0]==SET_NM) {
char buf[8];
osd_draw_setup_button(SETUP_SUB_XSTART, submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 0);
#ifdef SETUP_6_DIGIT_PASSWORD//zhaoyanhua add 03-10-14 14:50
psprintf(buf, "%06d", UserSet.parent_passwd);
#else
psprintf(buf, "%04d", UserSet.parent_passwd);
#endif
osd_DrawString(SETUP_SUB_XSTART+1, submenuStart+1, buf, SFONTCOLOR, SBGCOLOR);
} else {
id = setup_item[page][index_y][index_y2+2];
#ifdef SUPER_DEFAULT_OSD_LANG //freyman add 2004-2-11 9:10
if((page==CUSTMPAGEINDEX)&&(index_y==CUSTMOSDITEM))
str = lang_names[osd_font_mode][id];
else
#endif
str = _OsdMessegeFont1[osd_font_mode][id];
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE
if(one_key_pass_flag)
{
sel = GetOneKeyPageSel(index_y);
}
else
sel=setup_sel[page][index_y];
#endif
if ((index_y2+2) == sel) {
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SDEFAULTCOLOR, SBGCOLOR);
} else {
setup_DrawItem(2, index_y2+submenuStart+1, 0);
}
}
} else {
#ifdef RATING_8
#ifdef NO_DIGIT_VIDEO_MENU
if ( page!=SYSPAGE&&index_y==3&&page!=AUDPAGE )
#else//NO_DIGIT_VIDEO_MENU
//if ( page!=SYSPAGE&&index_y==3 )//zhaoyanhua modify 2003-11-30 13:42
if((page == SYSPAGE) && (index_y == GRADEITEM))
#endif//NO_DIGIT_VIDEO_MENU
{
submenuStart = SETUP_MENU_YSTART;
}
else
{
submenuStart = index_y+SETUP_MENU_YSTART;
}
#else
submenuStart = index_y+SETUP_MENU_YSTART;
#endif
//change string color of current selection item in selection area
//special item(PASSWORD), page-0, item-4
if (setup_item[page][index_y][0]==SET_NM) {
osd_draw_setup_button(SETUP_SUB_XSTART, submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 0);
show_lock(UserSet.parental_ststus,0);
} else if (setup_item[page][index_y][0]==SET_SCALE) {
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 16:31
if(page == VIDEOPAGE)
{
setup_CookScaleItem(id, 0);
run_save_sel_cmd(page,index_y);
return;
}
else
#endif//VIDEO_SETUP_NEW_GUI
{
setup_PrepareScaleItem(id, 0);
if ((id == STR_OS_BRIGHTNESS) ||
(id == STR_OS_CONTRAST) ||
(id == STR_OS_HUE) ||
(id == STR_OS_SATURATION)
#ifdef DIP_CFG_ENABLE
||(id == STR_OS_DEINTLC)
#endif//#ifdef DIP_CFG_ENABLE
) // robert 030214
{
osd_replace_rect_color(SBGCOLOR,SBGCOLOR);
}
}
} else {
//special item(LANGUAGE)
#ifdef RATING_8
if (page==LANGPAGE || ((page==SYSPAGE) && (index_y==GRADEITEM)) ) {
#else
if (page==LANGPAGE) {
#endif
submenuStart = SETUP_MENU_YSTART; //from 0
}
id = setup_item[page][index_y][index_y2+2];
str = setup_SetItemString();
if ((index_y2+2) == sel) {
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SDEFAULTCOLOR,SBGCOLOR);
} else {
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 0);
osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SFONTCOLOR, SBGCOLOR);
}
}
}
//change string color of current item in sub-menu
id = setup_item[page][index_y][1];
str = _OsdMessegeFont1[osd_font_mode][id];
osd_draw_setup_button(SETUP_MENU_XSTART, index_y+SETUP_MENU_YSTART+1, SETUP_SUB_XSTART-SETUP_MENU_XSTART-1, SANTIBGCOLOR, 1);
osd_DrawString(SETUP_MENU_XSTART+1, index_y+SETUP_MENU_YSTART+1, str, SANTIFONTCOLOR, SANTIBGCOLOR);
setupLevel = 1;
}
#ifdef SETUP_COLOR_TYPE2 //3-10-28 1:43张宇P
if (!(full_scrn&CUSTM))
osd_draw_rect(0, 10+SETUP_BUTTON_HEIGHT*2+10+(SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT)-100, (SETUP_MAX_WIDTH*16), /*(SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT)*/18, 13);//SBGCOLOR);
#endif
#ifdef ARGUS_PDVD_MENU_PLUS
}
#endif //end #ifdef ARGUS_PDVD_MENU_PLUS
#ifdef HANYANG_SETUPMENU //2004-6-21 09:43張宇M
if(page==3)
{
BYTE buf[20];
psprintf(buf, "%s", SETUP_VERSION);
osd_DrawString(SETUP_MENU_XSTART+1,10, buf, 6, SBGCOLOR);
}
#endif
}