www.pudn.com > sunplus-DVDsetup.rar > setup_ui_up.c, change:2004-06-28,size:34226b
void setup_func_up(void)
{
BYTE upperbound;
const char *str;
int i;
#ifdef ARGUS_PDVD_MENU_PLUS
if(full_scrn&SETUP_PLUS)
{
#ifdef DEBUG_SETUP_PLUS
printf("up key press, setupLevel:%d,index_y:%d index_y2:%d\n",setupLevel,index_y,index_y2);
#endif
if(setupLevel==1)
{//in the first level menu page
#ifdef DEBUG_SETUP_PLUS
printf("---up in the first menu,index_y2:%d\n",index_y2);
#endif
setup_menu_plus_timer = MENU_PLUS_SHOW_TIME;
if(index_y MAX_PAGE_ITEM_PLUS)
{
//clear the 2nd level menu
down_osd_clear_3th_menu();
//调整内容的上升
{
if(index_y == 0)
index_y = 4;
else
index_y --;
//将菜单项目反显
id = setup_item_plus[page][index_y][1];
setup_DrawItem(1, index_y+SETUP_MENU_YSTART_PLUS, 1);
}
#if 0
if(index_y MAX_PAGE_ITEM_PLUS)
{
if((index_y != 0) && (index_y != 4))
down_draw_action_item();
}
#endif
}
}
else if(setupLevel == 2)
{//in the 2th level menu page
#ifdef DEBUG_SETUP_PLUS
printf("---up in the 2th menu,index_y2:%d\n",index_y2);
#endif
/*
if (setup_item_plus[page][index_y][0]==SET_SCALE)
{
//亮度加1且将其显示出来
setup_CookScaleItem(id, 1);
//记忆?
//run_save_sel_cmd(page,index_y);
}
else
*/
if(setup_item_plus[page][index_y][0] == SET_FUNC)
{
setup_menu_plus_timer = MENU_PLUS_SHOW_TIME;
if (index_y2 > 0)
{
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)
{
//keep upper button to UP mode with SANTIBGCOLOR
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
{
//normal UP button
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);
}
index_y2--;
if ((index_y2+2) == sel)
{
osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SANTIBGCOLOR, 1);
}
else
{
osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SANTIBGCOLOR, 0);
}
id = setup_item_plus[page][index_y][index_y2+2];
str = setup_SetItemString();
osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SANTIFONTCOLOR, SANTIBGCOLOR);
}
}
}
}
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
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE //zhaoyanhua add 03-11-7 16:02
if(main_setup)
{
switch(index_x)
{
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;
case ONE_KEY_PASS_X:
break;
case SETUP_X:
break;
}
return;
}
#endif
#ifdef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
// UINT16 line=SETUP_MAX_WIDTH*16;
SetOsdCol(0,0,SANTIBGCOLOR,0x78501e90);
#elif defined(SETUP_COLOR_TYPE2)
//SetOsdCol(0,0,SANTIBGCOLOR,0xc0c0c0e0);
SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffc0);
// UINT16 line=SETUP_MAX_WIDTH*16-20;
#else
// UINT16 line=SETUP_MAX_WIDTH*16-20;
SetOsdCol(mn_osd_col2); //2004-4-17 01:45张宇P
#endif
reset_passwd_cnt();
if (full_scrn&CUSTM) {
upperbound=2;
} else {
upperbound=0;
}
if (setupLevel==0) {
setupLevel=1;
index_y_start=0;
for (i=7;i>=0;i--)
{
if (setup_item[page][i][1]==STR_OS_RETURN_MAIN_SETUP)
{
index_y=i;
break;
}
}
// highlight : draw a frame to identify which tab is enable
/*osd_DrawLine(line*page/6+30,14,line*page/6+80,14,SBGCOLOR,1);
osd_DrawLine(line*page/6+30,50,line*page/6+80,50,SBGCOLOR,1);
osd_DrawLine(line*page/6+30,14,line*page/6+30,50,SBGCOLOR,1);
osd_DrawLine(line*page/6+80,14,line*page/6+80,50,SBGCOLOR,1);*/
// #ifndef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)//zhangyu
setup_Showredframe(page);
#endif
id = setup_item[page][index_y+index_y_start][1];
setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 1);
return;
} else
if (setupLevel==1) {
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE //calculate setupItemNum[1] true value.zhaoyanhua add 03-11-7 14:03
int iItemType;
for (i=0; i<MAX_PAGE_ITEM; i++)
{
iItemType=setup_item[page][i][0];
if (iItemType == SET_SPACE) continue;
if (iItemType == SET_NE) break;
}
setupItemNum[1] = i;
#endif
if (index_y==0)
{
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 10:41
if(page == VIDEOPAGE)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,(index_y +SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT+30,(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,SETUP_BUTTON_HEIGHT,SBGCOLOR);
else
#endif//VIDEO_SETUP_NEW_GUI
#ifdef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
//wangfeng 3-8-27 23:36
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+30,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT-30,
SBGCOLOR);
#elif defined(SETUP_COLOR_TYPE2)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
#else
#ifdef HANYANG_SETUPMENU //2004-6-24 05:10張宇P
if(page==3)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-90,
SBGCOLOR);
else
#endif
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT-30,
SBGCOLOR);
#endif
setupLevel=0;
id=setup_item[page][index_y][1];
setup_DrawItem(1, SETUP_MENU_YSTART+1, 0);
// 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);
#elif defined(SETUP_COLOR_TYPE2)
SetOsdCol(0,0,SANTIBGCOLOR,0xc0c0c0e0);
#else
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);*/
//#ifndef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
setup_Showredframe(page);
#endif
#ifdef SHOW_SETUPMENU_SETUP
show_setupmenu();
#endif //end SHOW_SETUPMENU_SETUP
} else
if ( (index_y+index_y_start) > upperbound) {
if (full_scrn&CUSTM) {
//clear third-level menu
#ifdef RATING_8
if (index_y == 3)
{
// #ifndef SETUP_COLOR_TYPE1 //zhangyu mark wangfeng 2003-08-29 17:28
//#ifndef SETUP_COLOR_TYPE1
#ifdef SETUP_COLOR_TYPE2
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART)*16+16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT-68,
SBGCOLOR);
#elif defined(SETUP_COLOR_TYPE1)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART)*16+60,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
#else
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
#endif
//#endif
ShowCUSTMMsg();
}
else
#endif//end RAGING_8
#ifdef SUPER_DEFAULT_OSD_LANG //freyman add 2004-2-11 9:09
if(index_y==CUSTMOSDITEM)
{
#ifdef SETUP_COLOR_TYPE2
osd_draw_rect((SETUP_SUB_XSTART-1)*16,(SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,(SETUP_MAX_WIDTH-SETUP_SUB_XSTART)*16+16, (SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT-68,SBGCOLOR);
#elif defined(SETUP_COLOR_TYPE1)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,SETUP_MENU_YSTART+32,(SETUP_MAX_WIDTH-SETUP_SUB_XSTART)*16+60,(SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT,SBGCOLOR);
#else
osd_draw_rect((SETUP_SUB_XSTART-1)*16,(SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,(SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT,SBGCOLOR);
#endif
if((8-N_OSD_LANGS)=1)
ShowCUSTMMsg();
}
#endif //SUPER_DEFAULT_OSD_LANG
//wanghaoying mark 2003-10-24 16:16
//this rectangle delete the bottom horizontal line
{
/* osd_draw_rect((SETUP_SUB_XSTART-1)*16,
(SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
*/
#ifdef SPE_SETUP //2004-5-10 10:53 linrc add for SPE_SETUP
//if not use this rectangle,it can't reflesh the setup menu
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
(SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
#endif //end SPE_SETUP
}
//wanghaoying add 2004-6-8 22:15 to clear the >> icon
if(index_y==CUSTMPASSWDITEM)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
(SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
id = setup_item[page][index_y][1];
setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 0);
index_y--;
id = setup_item[page][index_y][1];
setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 1);
//draw ">>" between sub-mean and it's corresponding selection area
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE
if((id != STR_OS_)&&(!(one_key_pass_flag)))
#else
//#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
#if defined(NEXTPAGE_SYS) //freyman 2004-3-26 0:04
if((id!=STR_OS_NEXT_PAGE)&&(id!=STR_OS_PREV_PAGE))
#endif//SAME_DISC_RESUME
#endif//end BBK'S NEW_SETUP
osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SFONTCOLOR, SBGCOLOR);
submenuStart = index_y+SETUP_MENU_YSTART;
if (setup_item[page][index_y][0]==SET_NM) {
char buf[8];
#ifdef SETUP_6_DIGIT_PASSWORD //zhaoyanhua add 03-10-14 14:53
psprintf(buf, "%06d", UserSet.parent_passwd);
#else //4 digit password
psprintf(buf, "%04d", UserSet.parent_passwd);
#endif //end SETUP_6_DIGIT_PASSWORD
osd_draw_setup_button(SETUP_SUB_XSTART, (submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, submenuStart+1, buf, SDEFAULTCOLOR,SBGCOLOR);
} else {
//get select item
sel = setup_sel[page][index_y];
#ifdef RATING_8
if((page == CUSTMPAGEINDEX) && (index_y == 3))
{
submenuStart = SETUP_MENU_YSTART;
}
else
#endif
#ifdef SUPER_DEFAULT_OSD_LANG
if(index_y==CUSTMOSDITEM)
{
if((8-N_OSD_LANGS)>=4)
submenuStart = index_y + SETUP_MENU_YSTART;
else
submenuStart = SETUP_MENU_YSTART + (8-N_OSD_LANGS) + 1;
}else
#endif
submenuStart = index_y+SETUP_MENU_YSTART;
//draw third-level menu
for (i=2; i<MAX_ITEM_SEL; i++) {
id = setup_item[page][index_y][i];
if (id==0) break;
#ifdef SPE_SETUP //2004-5-10 9:49 linrc add for when show the CUSTMOSD,the "]"not clear.
ShowSel(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART,sel == i);
#else
ShowSel(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2,sel == i);
#endif
}
setupItemNum[2] = i - 2;
}
} else {
//normal setup second-level menu page
if ( (index_y==0) && (index_y_start>0) ) {
index_y_start--;
ShowSetupPage(1);
return;
}
//clear third-level menu
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 10:15
if(page == VIDEOPAGE)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,(index_y +SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT+30,(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,SETUP_BUTTON_HEIGHT,SBGCOLOR);
else
#endif//VIDEO_SETUP_NEW_GUI
#ifdef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+30,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-65,
SBGCOLOR);
#elif defined(SETUP_COLOR_TYPE2)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-68,
SBGCOLOR);
#else
#ifdef HANYANG_SETUPMENU //2004-6-24 05:10張宇P
if(page==3)
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-93,
SBGCOLOR);
else
#endif
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT,
SBGCOLOR);
#endif
#if !defined( SETUP_COLOR_TYPE2)&& !defined(SETUP_COLOR_TYPE1)
if (p_scan==1)
{ printf("---------no draw line----------\n");
#ifndef SPE_SETUP
osd_DrawLine(250, (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), (SETUP_MAX_WIDTH*16-10), (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), SBLACKCOLOR, 2);
#endif
}
else
{
printf("---------no draw line----------\n");
#ifndef SPE_SETUP
osd_DrawLine(250, (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), (SETUP_MAX_WIDTH*16-10), (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), SBLACKCOLOR, 1);
#endif
}
#endif
id = setup_item[page][index_y+index_y_start][1];
setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 0);
index_y--;
#if (defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD))||defined(QSI_SETUP_MENU)//liweihua 2004-6-15 for QSI //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE //zhaoyanhua 03-11-7 11:19
while(setup_item[page][index_y+index_y_start][0]==SET_SPACE)
{
index_y--;
}
#else
if (setup_item[page][index_y+index_y_start][0]==SET_SPACE) index_y--;
#endif
#if !defined(SETUP_ALL_VALID)||defined(ONLY_DOWNMIXOFF_CAN_SET_CE_RE) ||defined(SUPPORT_APOGEE_AMP) //xulf 2004-01-07
//special case//nonotest 2003-9-5 17:49
if (page==MULTISPKPAGE) {
if (SETUP_SPK_DOWNMIX!=AC3DOWNMIXOFF) {
if ( (index_y+index_y_start) == SPKEND) {
if (index_y_start==0) {
index_y -= (SPKEND-SPKSTART+1);
} else {
index_y = SPKSTART-1;
index_y_start--;
ShowSetupPage(1);
return;
}
}
}
}
#if !defined(ONLY_DOWNMIXOFF_CAN_SET_CE_RE)
else
#endif//ONLY_DOWNMIXOFF_CAN_SET_CE_RE
#endif// #if !defined(SETUP_ALL_VALID)||defined(ONLY_DOWNMIXOFF_CAN_SET_CE_RE)
#ifdef PROLOGICII_3D_MUTEX//4-2-12 1:23
if((page==AUDPAGE)&&is_EQ_SOUND_set()&&(index_y==(PROLOGIC_II) ) )
index_y--;
#endif//PROLOGICII_3D_MUTEX
#ifdef ONLY_DOWNMIX_IN_SPEAKER_PAGE//liweihua add 2004-1-2 15:05
id = setup_item[page][index_y][1];
if((page==MULTISPKPAGE) && (id != STR_OS_RETURN_MAIN_SETUP))
{
index_y = 0;//jump to downmix item
}
#endif
#ifdef SETUP_ALL_VALID
#ifdef KARAOKE_MENU
//wangfeng 2003-10-29 21:37
if((page==AUDPAGE)&&(index_y<2)&&(KARAOKE_MENU_FLAG))
{
index_y=5;
}
else if((page==AUDPAGE)&&(index_y==5)&&(KARAOKE_MENU_FLAG==0))
#ifdef PROLOGIC_ON_51CH
if(setup_IsSpkDownmixOff()){
index_y=1;
}
else
index_y=0;
#else
index_y=1;//wangfeng 2003-11-11 13:55
#endif
#endif
#else
//#ifndef SETUP_ALL_VALID
if (page==AUDPAGE) {
if ( (SETUP_SPDIF==SPDIFBITSTREAM) &&
//(index_y==KEYITEM) &&
(index_y==VOLCTRLEND) && //Jeff 20020723
( ( coding_mode_now&(AUDIF_CODING_MODE_AC3|
//AUDIF_CODING_MODE_PCM| //DTSCD-BITSTREAM MODE, Jeff 20020719
AUDIF_CODING_MODE_DTS)
)||(cd_subtype==CD_DTS) )//nono 2-7-25 17:29
)
{
index_y -= (VOLCTRLEND-VOLCTRLSTART+1);
}
//else
//#endif
//#ifndef SETUP_ALL_VALID
else
{
if (
(
( (SETUP_SPK_DOWNMIX==AC3DOWNMIXOFF) &&
(coding_mode_now&(AUDIF_CODING_MODE_AC3|
AUDIF_CODING_MODE_DTS|
AUDIF_CODING_MODE_DTSCD)
)
)
||(coding_mode_now==AUDIF_CODING_MODE_LPCM)//terry,0512,currently ,we are not surport LPCM key shift
)
&&(index_y==KEYITEM)
)
{
index_y--;
}
}
}
#ifndef NO_AC3_DYNAMIC_RANGE
else if ( (page==AC3DIGITALPAGE) && //Jeff 20020621
(index_y==(AC3DYNAMICITEM1)) &&
( (SETUP_AC3DIGITAL_OUTMODE==AC3OUTMODEITEM)//AC3DYNAMICITEM2) //wanghaoying 2003-11-26 20:00
// ||(SETUP_SPK_DOWNMIX!=AC3DOWNMIXOFF)
)
)
{
index_y--;
// index_y=AC3DYNAMICITEM1-1;
}
#endif //NO_AC3_DYNAMIC_RANGE
#endif //#ifndef SETUP_ALL_VALID
id = setup_item[page][index_y+index_y_start][1];
setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 1);
//the last active item in sub-menu is "EXIT", so we skip it's drawing selection area
if ( (index_y+index_y_start) (setupItemNum[1]-1)) {
//draw ">>" between sub-mean and it's corresponding selection area
//#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
#if defined(NEXTPAGE_SYS) //freyman 2004-3-26 0:05
if((id!=STR_OS_NEXT_PAGE)&&(id!=STR_OS_PREV_PAGE))
#endif
osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SFONTCOLOR, SBGCOLOR);
submenuStart = index_y+SETUP_MENU_YSTART;
//special item(PASSWORD), page-0, item-4
if (setup_item[page][index_y+index_y_start][0]==SET_NM) {
if (UserSet.parental_ststus==C_LOCK) {
setup_sel[page][index_y+index_y_start] = MIN_ITEM_SEL;
str = _OsdMessegeFont1[osd_font_mode][STR_OS_LOCK];
} else {
setup_sel[page][index_y+index_y_start] = MIN_ITEM_SEL + 1;
str = _OsdMessegeFont1[osd_font_mode][STR_OS_UNLOCK];
}
osd_draw_setup_button(SETUP_SUB_XSTART, (submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, (submenuStart)+1, str, SDEFAULTCOLOR,SBGCOLOR);
} else
if (setup_item[page][index_y+index_y_start][0]==SET_SCALE) {
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-7 18:36
if(page != VIDEOPAGE)
#endif//VIDEO_SETUP_NEW_GUI
setup_PrepareScaleItem(id, 0);
} 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
}
//get select item
#if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE
if(one_key_pass_flag)//OENKEYPASSPAGE
{
sel = GetOneKeyPageSel(index_y);
}
else
sel=setup_sel[page][index_y+index_y_start];
#else
sel = setup_sel[page][index_y+index_y_start];
#endif
//draw third-level menu
for (i=2; i<MAX_ITEM_SEL; i++) {
const char *str;
id = setup_item[page][index_y+index_y_start][i];
if (id==0) break;
str = setup_SetItemString();
if (sel == i) {
osd_draw_setup_button(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, (i-2+submenuStart)+1, str, SDEFAULTCOLOR, SBGCOLOR);
} else {
osd_draw_setup_button(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 0);
osd_DrawString(SETUP_SUB_XSTART+1, (i-2+submenuStart)+1, str, SFONTCOLOR, SBGCOLOR);
}
}
setupItemNum[2] = i - 2;
}
}
}
}
} else
if (setupLevel==2) {
upperbound=0;
if (setup_item[page][index_y][0]==SET_SCALE) {
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 16:54
if(page == VIDEOPAGE)
return;
else
#endif//VIDEO_SETUP_NEW_GUI
setup_CookScaleItem(id, 1);
run_save_sel_cmd(page,index_y);
} else
if ( (index_y2 > upperbound) && (setup_item[page][index_y][0]!=SET_NM) ) {
//third-level menu page
#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);
printf("+++++++++++++ 6666sel = %d,index_y = %d--\n");
}
else
sel = setup_sel[page][index_y];
#else
sel = setup_sel[page][index_y];
#endif
id = setup_item[page][index_y][index_y2+2];
str = setup_SetItemString();
if ((index_y2+2) == sel) {
//keep upper button to UP mode with SANTIBGCOLOR
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 {
//normal UP button
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);
}
index_y2--;
if ((index_y2+2) == sel) {
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SANTIBGCOLOR, 1);
} else {
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SANTIBGCOLOR, 0);
}
id = setup_item[page][index_y][index_y2+2];
str = setup_SetItemString();
osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SANTIFONTCOLOR, SANTIBGCOLOR);
}
}
#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
}