www.pudn.com > sunplus-DVDsetup.rar > setup_ui_right.c, change:2004-06-28,size:16639b
void setup_func_right(void)
{
#ifdef SETUP_DONGLI459 //dingzhy for tonic 2004-2-10 22:56
if(ShowPasswordErr)
ShowPasswordErr=0;
#endif
const char *str;
UINT16 line = 0;
#ifdef ARGUS_PDVD_MENU_PLUS
if(full_scrn&SETUP_PLUS)
{
#ifdef DEBUG_SETUP_PLUS
printf("right key press,index_y:%d,index_y2:%d",index_y,index_y2);
#endif
setup_menu_plus_timer = MENU_PLUS_SHOW_TIME;
if(index_y != 2)
return;
//if(setup_item_plus[page][index_y][0] == SET_FUNC)
{//LCD mode
//change string color of current selection item in selection area
submenuStart = index_y + SETUP_MENU_YSTART_PLUS;
{
BYTE i;
//绘制箭头
osd_DrawString(SETUP_SUB_XSTART_PLUS-1, index_y+SETUP_MENU_YSTART_PLUS, Ch_arrorR, SFONTCOLOR, SBGCOLOR);
//将子菜单绘出来!
for (i=2; i<MAX_ITEM_SEL_PLUS; i++)
{
sel = setup_sel_plus[page][index_y];
id = setup_item_plus[page][index_y][i];
if (id==0) break;
ShowSel(SETUP_SUB_XSTART_PLUS, (i-2+submenuStart), SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS,sel == i);
}
}
//将之前标中的菜单项转为正常显示
osd_draw_setup_button(SETUP_MENU_XSTART_PLUS, index_y+SETUP_MENU_YSTART_PLUS, SETUP_SUB_XSTART_PLUS-SETUP_MENU_XSTART_PLUS-1, SBGCOLOR, 1);
id = setup_item_plus[page][index_y][1];
str = _OsdMessegeFont1[osd_font_mode][id];
osd_DrawString(SETUP_MENU_XSTART_PLUS+1, index_y+SETUP_MENU_YSTART_PLUS, str, SDEFAULTCOLOR,SBGCOLOR);
sel=setup_sel_plus[page][index_y];
index_y2 = sel-2;
//反显子菜单的菜单项以表示选中
id = setup_item_plus[page][index_y][index_y2+2];
str = setup_SetItemString();
osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SANTIBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SANTIFONTCOLOR, SANTIBGCOLOR);
setupLevel = 2;
}
}
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
UINT16 line=SETUP_MAX_WIDTH*16;
SetOsdCol(0,0,SANTIBGCOLOR,0x78501e90);
#elif defined(SETUP_COLOR_TYPE2)
UINT16 line=SETUP_MAX_WIDTH*16-20;
SetOsdCol(0,0,SANTIBGCOLOR,0xc0c0c0e0);
#else
UINT16 line=SETUP_MAX_WIDTH*16-20;
SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffc0);
#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//caoh2004-6-18 11:17
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 //right
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 = SETUP_X;
draw_setup_Btn_HL( 1,SETUP_X*14+28, SETUP_Y*4, 8* 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 = 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 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 = SETUP_X;
draw_setup_Btn_HL( 1,SETUP_X*14+28, SETUP_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
)
{
//#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
#if defined(NEXTPAGE_SYS) //freyman 2004-3-26 0:06
if(page==SysNextPage) page=0;
#endif
// make tab disable
#ifndef SETUP_COLOR_TYPE1
#ifdef SETUP_COLOR_TYPE2
osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+7, 13);
#else
#ifndef SPE_SETUP //2004-4-21 02:05张宇P bmmm
osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+9, 1);
#endif
#endif
#endif
// #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:05张宇P bmmm
// 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);
if(page<3)
#ifdef HANYANG_SETUPMENU//caoh2004-6-18 11:35
osd_draw_rect((line*page)/6+20, 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+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);
#endif
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
if (p_scan==1)
{
printf("-----no draw line---\n");
#ifndef SPE_SETUP //2004-4-21 02:05张宇P bmmm
osd_DrawLine((line*page)/6+11, SETUP_BUTTON_HEIGHT+20, (line*(page+1))/6+9, SETUP_BUTTON_HEIGHT+20, SWHITECOLOR, 2);
#endif
}
else
{
printf("-----no draw line---\n");
#ifndef SPE_SETUP //2004-4-21 02:05张宇P bmmm
osd_DrawLine((line*page)/6+11, SETUP_BUTTON_HEIGHT+20, (line*(page+1))/6+9, SETUP_BUTTON_HEIGHT+20, SWHITECOLOR, 1);
#endif
}
#endif
#ifdef NO_AUDIO_PAGE
if (page=MAX_SHOW_PAGE)
{
page++;
if(page==AUDPAGE)page++;
}
#else
if (page=MAX_SHOW_PAGE)
page++;
#endif
#ifndef SETUP_ALL_VALID // alan, 2003/7/18 10:49と
if ( (page==MULTISPKPAGE)&&(cd_subtype!=CD_DTS) && (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++;
}
if ( (page==AC3DIGITALPAGE) && ( (SETUP_SPDIF==SPDIFBITSTREAM) || (coding_mode_now!=AUDIF_CODING_MODE_AC3) ) )
{
page++;
}
#endif
#ifdef TWO_CHANNEL_ONLY
if (page==MULTISPKPAGE) page++;
#endif
if (page>MAX_SHOW_PAGE)
page=0;
//wangfeng 3-8-27 22:11
//#ifndef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
/*#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
osd_draw_rect(line*page/6+13, 11+1, line/6-4, SETUP_BUTTON_HEIGHT+10, SBGCOLOR);
#endif
*/
//#ifndef SETUP_COLOR_TYPE2
#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
#ifdef SPE_SETUP //2004-4-21 02:06张宇P bmmm
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//#if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)
// 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
setupLevel=1;
ShowSetupPage(0);
setupLevel=0;
}
else
//right operation only active when switch to menu of sub-menu
if (setupLevel==1) {
if (index_y==(setupItemNum[1]-1)) return;
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 16:31
if(page == VIDEOPAGE)//when setupLevel =1 RIGHT has no use.
return;
#endif//VIDEO_SETUP_NEW_GUI
#ifndef SETUP_PASSWORD_GUI//zhaoyanhua add 2004-1-16 9:43
//check GRADE
if ( (page==SYSPAGE) && (index_y==GRADEITEM) ) {
if (UserSet.parental_ststus==C_LOCK) return;
}
#endif//SETUP_PASSWORD_GUI
id = setup_item[page][index_y][1];
//#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
#if defined(NEXTPAGE_SYS) //freyman 2004-3-26 0:06
if (id==STR_OS_NEXT_PAGE) return;
if (id==STR_OS_PREV_PAGE) return;
#endif
#ifdef VGA_CTRL_FORMAT //wangfeng,2003-10-20 23:07
if (setup_IsVGAOn()) return;
#endif
//change string color of current item in sub-menu
osd_draw_setup_button(SETUP_MENU_XSTART, index_y+SETUP_MENU_YSTART+1, SETUP_SUB_XSTART-SETUP_MENU_XSTART-1, SBGCOLOR, 1);
id = setup_item[page][index_y][1];
str = _OsdMessegeFont1[osd_font_mode][id];
osd_DrawString(SETUP_MENU_XSTART+1, index_y+SETUP_MENU_YSTART+1, str, SDEFAULTCOLOR,SBGCOLOR);
//change string color of current selection item in selection area
submenuStart = index_y + SETUP_MENU_YSTART;
#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];
#else
sel=setup_sel[page][index_y];
#endif
index_y2 = sel-2;
if (full_scrn&CUSTM) {
//special item(PASSWORD), page-0, item-4
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, SANTIBGCOLOR, 1);
#ifdef SETUP_6_DIGIT_PASSWORD //zhaoyanhua add 03-10-14 14:52
psprintf(buf, "%06d", UserSet.parent_passwd);
#else //4 digit password
psprintf(buf, "%04d", UserSet.parent_passwd);
#endif //end SETUP_6_DIGIT_PASSWORD
osd_DrawString(SETUP_SUB_XSTART+1, submenuStart+1, buf, SANTIFONTCOLOR, SANTIBGCOLOR);
}
else
{
id = setup_item[page][index_y][index_y2+2];
#ifdef RATING_8
if ( page!=SYSPAGE&&index_y==3 )
{
submenuStart = SETUP_MENU_YSTART;
}
else
#endif
submenuStart = index_y+SETUP_MENU_YSTART;
#ifdef SUPER_DEFAULT_OSD_LANG //freyman add 2004-2-11 9:10
if(index_y==CUSTMOSDITEM)
{
id = setup_item[page][index_y][index_y2+2];
submenuStart = SETUP_MENU_YSTART + (8-N_OSD_LANGS)+1;
str = setup_SetItemString();
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SANTIBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SANTIFONTCOLOR, SANTIBGCOLOR);
}
else
#endif
setup_DrawItem(2, index_y2+submenuStart+1, 1);
}
} else {
//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, SANTIBGCOLOR, 1);
show_lock(UserSet.parental_ststus,1);
} else
if (setup_item[page][index_y][0]==SET_SCALE) {
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(0, 0, (SETUP_MAX_WIDTH*16), (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT), SBGCOLOR, 12);
osd_replace_rect_color(SBGCOLOR, SBGCOLOR);//15);
}
setup_PrepareScaleItem(id, 1);
} 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();
osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SANTIBGCOLOR, 1);
osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SANTIFONTCOLOR, SANTIBGCOLOR);
}
}
#ifdef SHOW_STANDBY_TIMER//suqiaoli add 2003-8-5
if (setup_item[page][index_y][1]==STR_OS_VFD_TIME)
{
reset_standby_timer_pos();
}
#endif
setupLevel = 2;
}
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 16:31
else if(setupLevel == 2)
{
if(page == VIDEOPAGE)
{
setup_CookScaleItem(id, 1);
run_save_sel_cmd(page,index_y);
return;
}
}
#endif //VIDEO_SETUP_NEW_GUI
#ifdef SETUP_COLOR_TYPE2 //3-10-28 1:44张宇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
}