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 
}