setup_ui_up.c
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:40k
源码类别:

DVD

开发平台:

C/C++

  1. #ifdef SELECT_MEDIA_IN_SETUPMENU //Maoyong 2004-8-9 21:42
  2. BYTE IsMediaItemUpValid(void)
  3. {
  4.     BYTE iRes = 0;
  5.     if(index_y2 == CARD_ITEM){
  6.         if(!IsNoPluggedUSB() )
  7.             iRes = 1;
  8.     }
  9.     return iRes;
  10. }
  11. void up_skip_media_sub_item(void)
  12. {
  13.     if(index_y2 == CARD_ITEM)  {
  14.         if( IsNoPluggedUSB() ){
  15.             index_y2 -= 2;
  16.             return;
  17.         }
  18.     }
  19.     index_y2 --;
  20. }
  21. #endif //#ifdef SELECT_MEDIA_IN_SETUPMENU
  22. void setup_func_up(void)
  23. {
  24.     BYTE    upperbound;
  25.     const char *str;
  26.     int     i;
  27.     
  28.     #ifdef SUPPORT_FUNCTION_MENU
  29.     if(full_scrn&SETUP_PLUS)
  30.     {
  31.       #ifdef DEBUG_FUNCTION_MENU
  32.       printf("up key press, setupLevel:%d,index_y:%d index_y2:%dn",setupLevel,index_y,index_y2);
  33.       #endif
  34.       
  35.       if(setupLevel==1) 
  36.       {//in the first level menu page  
  37.         
  38.         #ifdef DEBUG_FUNCTION_MENU
  39.         printf("---up in the first menu,index_y2:%dn",index_y2);
  40.         #endif
  41.         #ifdef SUPPORT_DISPLAY_MENU
  42.         if(In_Display_Menu())
  43.           setup_menu_plus_timer = DISPLAY_MENU_SHOW_TIME;
  44.         else
  45.         #endif//end #ifdef SUPPORT_DISPLAY_MENU
  46.         setup_menu_plus_timer = MENU_PLUS_SHOW_TIME;
  47.         
  48.         #ifdef SUPPORT_DISPLAY_MENU
  49.         if(In_Goto_Menu())
  50.         {
  51.           #ifdef DEBUG_DISPLAY_MENU
  52.           printf("up...ir:%d.....n",ir_select_number);
  53.           #endif
  54.           
  55.           if(index_x != 6)
  56.           {
  57.             if(index_x>=10)
  58.             {
  59.              if((index_x == 10) && (ir_select_number<6))
  60.                ir_select_number++;
  61.              else if(ir_select_number < 9)
  62.              {
  63.                if(((goto_time%100)/10) != 6)
  64.                  ir_select_number++;
  65.              }
  66.             
  67.             } 
  68.             else if(ir_select_number < 9)
  69.               ir_select_number++;
  70.             
  71.           }
  72.           
  73.           search_func_input();
  74.           printf(" after ser ir:%d...........n",ir_select_number);
  75.           ShowSetupPage_plus(MENU_REFRESH); 
  76.           #ifdef DEBUG_DISPLAY_MENU
  77.           printf("up...index_x:%d goto_time:%d ir:%d.....n",index_x,goto_time,ir_select_number);
  78.           #endif
  79.           return;
  80.         }
  81.         #endif//end #ifdef SUPPORT_DISPLAY_MENU
  82.             
  83.         if(index_y < MAX_PAGE_ITEM_PLUS) 
  84.         {
  85.             //clear the 2nd level menu
  86.             down_osd_clear_3th_menu();
  87.             
  88.             //调整内容的上升
  89.             {
  90.               if(index_y == 0)
  91.                #ifdef SUPPORT_DISPLAY_MENU
  92.                if(In_Display_Menu())
  93.                  index_y = MAX_PAGE_ITEM_PLUS-2;
  94.                else
  95.                #endif
  96.                 index_y = 4;
  97.               else       
  98.                 index_y --;
  99.         
  100.               //we must skip the invalid item! 
  101.               #ifdef SUPPORT_DISPLAY_MENU
  102.               if(In_Display_Menu())
  103.               {
  104.                 if(display_item_invalid[index_y] == ITEM_INVALID_FLAG)
  105.                 {
  106.                   for(;display_item_invalid[index_y]==ITEM_INVALID_FLAG;index_y--)
  107.                     ;           
  108.                 }
  109.               }
  110.               #endif  
  111.               
  112.               //将菜单项目反显
  113.                id = setup_item_plus[page][index_y][1]; 
  114.                setup_DrawItem(1, index_y+SETUP_MENU_YSTART_PLUS, 1);
  115.              }
  116.              
  117.             #if 0 
  118.             if(index_y < MAX_PAGE_ITEM_PLUS) 
  119.             {
  120.                 if((index_y != 0) && (index_y != 4))
  121.                  down_draw_action_item();
  122.                 
  123.             }     
  124.             #endif     
  125.          }
  126.       }
  127.       else if(setupLevel == 2)
  128.       {//in the 2th level menu page
  129.          #ifdef DEBUG_FUNCTION_MENU
  130.          printf("---up in the 2th menu,index_y2:%dn",index_y2);
  131.          #endif
  132.          
  133.          /*
  134.          if (setup_item_plus[page][index_y][0]==SET_SCALE) 
  135.          {
  136.             //亮度加1且将其显示出来
  137.             setup_CookScaleItem(id, 1);
  138.             //记忆?
  139.             //run_save_sel_cmd(page,index_y);
  140.          }
  141.          else 
  142.          */
  143.          if(setup_item_plus[page][index_y][0] == SET_FUNC)
  144.          {
  145.            setup_menu_plus_timer = MENU_PLUS_SHOW_TIME;
  146.            
  147.            if (index_y2 > 0) 
  148.          {
  149.             sel = setup_sel_plus[page][index_y];
  150.         
  151.             id = setup_item_plus[page][index_y][index_y2+2];
  152.             str = setup_SetItemString();
  153.             if ((index_y2+2) == sel) 
  154.             {
  155.                 //keep upper button to UP mode with SANTIBGCOLOR
  156.                 #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39 
  157.                 osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SBGCOLOR, 1);
  158.                 #endif
  159.                 osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SDEFAULTCOLOR, SBGCOLOR);
  160.             }
  161.             else 
  162.             {
  163.                 //normal UP button
  164.                 #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39 
  165.                 osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SBGCOLOR, 0);
  166.                 #endif
  167.                 osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SFONTCOLOR, SBGCOLOR);
  168.             }
  169.             index_y2--;
  170.             #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39    
  171.             if ((index_y2+2) == sel) 
  172.             {
  173.                 osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SANTIBGCOLOR, 1);
  174.             } 
  175.             else 
  176.             {
  177.                 osd_draw_setup_button(SETUP_SUB_XSTART_PLUS, index_y2+submenuStart, SETUP_MAX_WIDTH_PLUS-SETUP_SUB_XSTART_PLUS, SANTIBGCOLOR, 0);
  178.             }
  179.             #endif
  180.             id = setup_item_plus[page][index_y][index_y2+2];
  181.             str = setup_SetItemString();
  182.             osd_DrawString(SETUP_SUB_XSTART_PLUS+1, index_y2+submenuStart, str, SANTIFONTCOLOR, SANTIBGCOLOR);
  183.          }
  184.        }
  185.     }
  186.     }
  187.     else
  188.     {
  189.     #endif //end #ifdef SUPPORT_FUNCTION_MENU
  190. #ifdef SETUP_PASSWORD_GUI//zhaoyanhua add 2004-1-16 11:15
  191.         //in PASSWORD GUI, LEFT/RIGHT/UP/DOWN has no use.
  192.         if(passwdGUI_state != NO_GUI_STATE)
  193.             return;
  194. #endif          
  195.     
  196. #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
  197.     if(main_setup)
  198.     {
  199.        switch(index_x)
  200.        {
  201.             case EXIT_SETUP_MENU_X:
  202.                 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);      
  203.                 index_x = ONE_KEY_PASS_X;
  204.                 draw_setup_Btn_HL( 1, ONE_KEY_PASS_X*11, ONE_KEY_PASS_Y*4, 8* 24, 1*32,4,SETUP_HL_COLOR);   
  205.                 break;
  206.             case ONE_KEY_PASS_X:
  207.                 break;
  208.             case SETUP_X:
  209.                 break;
  210.         }
  211.         return;
  212.     }
  213. #endif
  214.     
  215.     
  216.     #ifdef  SETUP_COLOR_TYPE1   //wangfeng 2003-08-29 17:28
  217. //    UINT16 line=SETUP_MAX_WIDTH*16;   
  218.     SetOsdCol(0,0,SANTIBGCOLOR,0x78501e90);
  219.          #elif defined(SETUP_COLOR_TYPE2)   
  220.         //SetOsdCol(0,0,SANTIBGCOLOR,0xc0c0c0e0);
  221.         SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffc0);
  222. //    UINT16 line=SETUP_MAX_WIDTH*16-20;
  223.     #else
  224. //    UINT16 line=SETUP_MAX_WIDTH*16-20;    
  225.          #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-2 17:38    
  226.          SetOsdCol(mn_osd_col2);   //2004-4-17 01:45张宇P
  227.          #endif
  228.     #endif
  229.     reset_passwd_cnt();
  230.     if (full_scrn&CUSTM) {
  231.         upperbound=2;
  232.     } else {
  233.         upperbound=0;
  234.     }
  235.     if (setupLevel==0) {
  236.         setupLevel=1;
  237.         index_y_start=0;
  238.         for (i=7;i>=0;i--)
  239.         {
  240.             if (setup_item[page][i][1]==STR_OS_RETURN_MAIN_SETUP)
  241.             {
  242.                 index_y=i;
  243.                 break;
  244.             }
  245.         }
  246.         // highlight : draw a frame to identify which tab is enable
  247.         /*osd_DrawLine(line*page/6+30,14,line*page/6+80,14,SBGCOLOR,1);
  248.         osd_DrawLine(line*page/6+30,50,line*page/6+80,50,SBGCOLOR,1);
  249.         osd_DrawLine(line*page/6+30,14,line*page/6+30,50,SBGCOLOR,1);
  250.         osd_DrawLine(line*page/6+80,14,line*page/6+80,50,SBGCOLOR,1);*/
  251. //      #ifndef SETUP_COLOR_TYPE1   //wangfeng 2003-08-29 17:28
  252.         #if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)&& !defined( QSI_SETUP_MENU_DESIGN)//liweihua 2004-7-5 10:04//zhangyu
  253. #ifndef DVB_MENU_SETUP_STYLE
  254.         setup_Showredframe(page);
  255. #else
  256.         setup_Showredframe(dvbpage);
  257. #endif
  258.         #endif
  259.         
  260.         id = setup_item[page][index_y+index_y_start][1];
  261.         setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 1);
  262.         return;
  263.     } else
  264.         if (setupLevel==1) {
  265.         
  266.         #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
  267.         int iItemType;
  268.         
  269.         for (i=0; i<MAX_PAGE_ITEM; i++)
  270.         {
  271.             iItemType=setup_item[page][i][0];
  272.             if (iItemType == SET_SPACE) continue;
  273.             if (iItemType == SET_NE) break;
  274.         }
  275.         setupItemNum[1] = i;
  276.         #endif
  277.             
  278.             if (index_y==0)
  279.             {
  280. #ifdef  VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 10:41
  281.                 if(page == VIDEOPAGE)
  282.                     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);    
  283.                 else
  284. #endif//VIDEO_SETUP_NEW_GUI         
  285.                 #ifdef  SETUP_COLOR_TYPE1   //wangfeng 2003-08-29 17:28
  286.                 //wangfeng 3-8-27 23:36
  287.                 osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  288.                                SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+30,
  289.                                (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  290.                                (SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT-30,
  291.                                SBGCOLOR);
  292.                 #elif defined(SETUP_COLOR_TYPE2)    
  293.                 osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  294.                                SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  295.                                (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  296.                                (SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT,
  297.                                SBGCOLOR);
  298.                 #else
  299.                  #ifdef HANYANG_SETUPMENU //2004-6-24 05:10張宇P
  300.                     if(page==3)
  301.                 osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  302.                                SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  303.                                (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  304.                         (SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-90,
  305.                                SBGCOLOR);
  306.                      else
  307.                 #endif
  308.                    osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  309.                                SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  310.                                (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  311.                                (SETUP_MAX_LINE-SETUP_MENU_YSTART-1)*SETUP_BUTTON_HEIGHT-30,
  312.                                SBGCOLOR);
  313.                                    
  314.                 #endif
  315.             setupLevel=0;
  316.             id=setup_item[page][index_y][1];
  317.             setup_DrawItem(1, SETUP_MENU_YSTART+1, 0);
  318.                 // highlight : draw a frame to identify which tab is enable
  319.                 #ifdef  SETUP_COLOR_TYPE1   //wangfeng 2003-08-29 17:28
  320.                 SetOsdCol(0,0,SANTIBGCOLOR,0x78501e90);
  321.                                 #elif defined(SETUP_COLOR_TYPE2)
  322.                                 SetOsdCol(0,0,SANTIBGCOLOR,0xc0c0c0e0);
  323.                 #else
  324.             #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-2 17:38
  325.                 SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffff);
  326.                 #endif
  327.             #endif
  328.             /*  osd_DrawLine(line*page/6+30,14,line*page/6+80,14,SANTIBGCOLOR,1);
  329.                 osd_DrawLine(line*page/6+30,50,line*page/6+80,50,SANTIBGCOLOR,1);
  330.                 osd_DrawLine(line*page/6+30,14,line*page/6+30,50,SANTIBGCOLOR,1);
  331.                 osd_DrawLine(line*page/6+80,14,line*page/6+80,50,SANTIBGCOLOR,1);*/
  332.                 //#ifndef   SETUP_COLOR_TYPE1   //wangfeng 2003-08-29 17:28
  333.             #if !defined(SETUP_COLOR_TYPE1)&& !defined(SETUP_COLOR_TYPE2)&& !defined( QSI_SETUP_MENU_DESIGN)//liweihua 2004-7-5 10:04
  334. #ifndef DVB_MENU_SETUP_STYLE
  335.         setup_Showredframe(page);
  336. #else
  337.         setup_Showredframe(dvbpage);
  338. #endif
  339.                 #endif
  340.                 #ifdef SHOW_SETUPMENU_SETUP
  341.                 show_setupmenu();
  342.         #endif //end SHOW_SETUPMENU_SETUP
  343.             } else
  344.             if ( (index_y+index_y_start) > upperbound) {
  345.                 if (full_scrn&CUSTM) {
  346.                     //clear third-level menu
  347. #ifdef  RATING_8
  348.                     if (index_y == 3) 
  349.                     {
  350.                   //  #ifndef   SETUP_COLOR_TYPE1   //zhangyu mark wangfeng 2003-08-29 17:28
  351. //#ifndef SETUP_COLOR_TYPE1
  352.                     #ifdef SETUP_COLOR_TYPE2
  353.                     osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  354.                                    SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  355.                                    (SETUP_MAX_WIDTH-SETUP_SUB_XSTART)*16+16,
  356.                                    (SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT-68,
  357.                                    SBGCOLOR);
  358.                     #elif defined(SETUP_COLOR_TYPE1)
  359.                     osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  360.                                    SETUP_MENU_YSTART,
  361.                                    (SETUP_MAX_WIDTH-SETUP_SUB_XSTART)*16+60,
  362.                                    (SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
  363.                                    SBGCOLOR);
  364.                     #else
  365.                     osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  366.                                    SETUP_MENU_YSTART,
  367.                                    (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  368.                                    (SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
  369.                                    SBGCOLOR);
  370.                     #endif
  371. //#endif
  372.                     ShowCUSTMMsg();                 
  373.                 }
  374.                 else
  375. #endif//end RAGING_8
  376.                 #ifdef SUPER_DEFAULT_OSD_LANG       //freyman add 2004-2-11 9:09
  377.                 if(index_y==CUSTMOSDITEM)
  378.                 {
  379.                     #ifdef SETUP_COLOR_TYPE2
  380.                     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);                    
  381.                     #elif defined(SETUP_COLOR_TYPE1)
  382.                     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); 
  383.                     #else
  384.                     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);
  385.                     #endif
  386.                     if((8-N_OSD_LANGS)<=1)
  387.                         ShowCUSTMMsg();
  388.                 }
  389.                 #endif  //SUPER_DEFAULT_OSD_LANG
  390.                     //wanghaoying mark 2003-10-24 16:16
  391.                     //this rectangle delete the bottom horizontal line
  392.                     {
  393.                      /* osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  394.                         (SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,
  395.                         (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  396.                         (SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
  397.                         SBGCOLOR);
  398.                      */
  399.                          #ifdef SPE_SETUP    //2004-5-10 10:53 linrc add for SPE_SETUP  
  400.                                  //if not use this rectangle,it can't reflesh the setup menu 
  401.                           osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  402.                          (SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,
  403.                          (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  404.                          (SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
  405.                          SBGCOLOR);         
  406.                          #endif   //end SPE_SETUP
  407.                     }
  408.                     //wanghaoying add 2004-6-8 22:15 to clear the >> icon
  409.                     if(index_y==CUSTMPASSWDITEM)
  410.                         osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  411.                              (SETUP_MENU_YSTART+3)*SETUP_BUTTON_HEIGHT,
  412.                              (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  413.                              (SETUP_MAX_LINE-SETUP_MENU_YSTART-2)*SETUP_BUTTON_HEIGHT,
  414.                              SBGCOLOR);
  415.                              
  416.                     id = setup_item[page][index_y][1];
  417.                     setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 0);
  418. #ifdef EASTECH_NEW_SETUP_MENU
  419. osd_draw_rect(mn_r_pm5);  // add by TOM  20040520
  420. #endif
  421.                     index_y--;
  422.                     id = setup_item[page][index_y][1];
  423.                     setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 1);
  424.                     //draw ">>" between sub-mean and it's corresponding selection area
  425.                 #if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE         
  426.  
  427.                 if((id != STR_OS_)&&(!(one_key_pass_flag)))
  428.                 #else
  429.                 //#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
  430.                 #if defined(NEXTPAGE_SYS)       //freyman 2004-3-26 0:04
  431.                     if((id!=STR_OS_NEXT_PAGE)&&(id!=STR_OS_PREV_PAGE))
  432.                 #endif//SAME_DISC_RESUME
  433.                 #endif//end BBK'S NEW_SETUP                             
  434.                 #ifdef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 17:12
  435.                 osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SANTIFONTCOLOR, SBGCOLOR);
  436.                 #else
  437.                 osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SFONTCOLOR, SBGCOLOR);
  438.                 #endif
  439.                     submenuStart = index_y+SETUP_MENU_YSTART;
  440.                     if (setup_item[page][index_y][0]==SET_NM) {
  441.                         char buf[8];
  442.                     
  443.                     #ifdef SETUP_6_DIGIT_PASSWORD //zhaoyanhua add 03-10-14 14:53
  444.                     psprintf(buf, "%06d", UserSet.parent_passwd);
  445.                     #else //4 digit password 
  446.                         psprintf(buf, "%04d", UserSet.parent_passwd);
  447.                     #endif   //end SETUP_6_DIGIT_PASSWORD
  448.                     
  449.                     #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39
  450.                         osd_draw_setup_button(SETUP_SUB_XSTART, (submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
  451.                     #endif
  452.                         
  453.                         osd_DrawString(SETUP_SUB_XSTART+1, submenuStart+1, buf, SDEFAULTCOLOR,SBGCOLOR);
  454.                     } else {
  455.                         //get select item
  456.                         sel = setup_sel[page][index_y];
  457. #ifdef RATING_8
  458.                     if((page == CUSTMPAGEINDEX) && (index_y == 3))
  459.                     {
  460.                             submenuStart = SETUP_MENU_YSTART;
  461.                         }
  462.                     else
  463. #endif
  464. #ifdef SUPER_DEFAULT_OSD_LANG
  465.                     if(index_y==CUSTMOSDITEM)
  466.                     {
  467.                         if((8-N_OSD_LANGS)>=4)
  468.                             submenuStart = index_y + SETUP_MENU_YSTART;
  469.                         else
  470.                             submenuStart = SETUP_MENU_YSTART + (8-N_OSD_LANGS) + 1;
  471.                     }else
  472. #endif
  473.                     submenuStart = index_y+SETUP_MENU_YSTART;
  474.                         //draw third-level menu
  475.                         for (i=2; i<MAX_ITEM_SEL; i++) {
  476.                             id = setup_item[page][index_y][i];
  477.                             if (id==0) break;
  478.                             #ifdef SPE_SETUP    //2004-5-10 9:49 linrc add for when show the CUSTMOSD,the "]"not clear. 
  479.                             ShowSel(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART,sel == i);
  480.                             #else
  481.                             ShowSel(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2,sel == i);
  482.                             #endif
  483.                         }
  484.                         setupItemNum[2] = i - 2;
  485.                     }
  486.                 } else {
  487.                     //normal setup second-level menu page
  488.                     if ( (index_y==0) && (index_y_start>0) ) {
  489.                         index_y_start--;
  490.                         ShowSetupPage(1);
  491.                         return;
  492.                     }
  493.                     //clear third-level menu
  494. #ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 10:15
  495.                 if(page == VIDEOPAGE)
  496.                     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);
  497.                 else    
  498. #endif//VIDEO_SETUP_NEW_GUI                         
  499.                     #ifdef  SETUP_COLOR_TYPE1   //wangfeng 2003-08-29 17:28
  500.                     osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  501.                         SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+30,
  502.                         (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  503.                         (SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-65,
  504.                         SBGCOLOR);
  505. #elif defined(SETUP_COLOR_TYPE2)
  506. #ifdef ADD_DVI311_SETUP
  507. osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  508. SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  509. (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  510. (SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-60,
  511. SBGCOLOR);//Modifed by ChenZhao on 2004-9-23 14:35 -68 >> -60 to clear a big scale in hddvd menu
  512. #else
  513. osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  514. SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  515. (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  516. (SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-68,
  517. SBGCOLOR);
  518. #endif //ADD_DVI311_SETUP
  519.                     #else
  520.                     #ifdef HANYANG_SETUPMENU   //2004-6-24 05:10張宇P
  521.                     if(page==3)
  522.                     osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  523.                         SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  524.                         (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  525.                         (SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-93,
  526.                         SBGCOLOR);
  527.                         else
  528.                         
  529.                      #endif
  530.                      osd_draw_rect((SETUP_SUB_XSTART-1)*16,
  531.                         SETUP_MENU_YSTART*SETUP_BUTTON_HEIGHT+31,
  532.                         (SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
  533.                         (SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT,
  534.                         SBGCOLOR);
  535.                         
  536.                         
  537.                 #endif
  538. #if !defined( SETUP_COLOR_TYPE2)&& !defined(SETUP_COLOR_TYPE1)
  539.                     if (p_scan==1)
  540.                     {   printf("---------no draw line----------n");
  541.                         #ifndef SPE_SETUP
  542.                         osd_DrawLine(250, (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), (SETUP_MAX_WIDTH*16-10), (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), SBLACKCOLOR, 2);
  543.                         #endif                  
  544.                     }
  545.                     else
  546.                     {
  547.                         printf("---------no draw line----------n");
  548.                         #ifndef SPE_SETUP
  549.                         osd_DrawLine(250, (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), (SETUP_MAX_WIDTH*16-10), (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT-12), SBLACKCOLOR, 1);
  550.                     #endif  
  551.                     }
  552.                     #endif  
  553.                     id = setup_item[page][index_y+index_y_start][1];
  554.                     setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 0);
  555.                     index_y--;
  556.                 #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
  557.                     while(setup_item[page][index_y+index_y_start][0]==SET_SPACE)
  558.                     {
  559.                         index_y--;
  560.                     }
  561.                 #else   
  562.                     if (setup_item[page][index_y+index_y_start][0]==SET_SPACE)    index_y--;
  563.                 #endif  
  564. #if !defined(SETUP_ALL_VALID)||defined(ONLY_DOWNMIXOFF_CAN_SET_CE_RE) ||defined(SET_FCR_SPEAKER)  //xulf 2004-01-07               
  565.                     //special case//nonotest 2003-9-5 17:49
  566.                     if (page==MULTISPKPAGE) {
  567.                         if (SETUP_SPK_DOWNMIX!=AC3DOWNMIXOFF) {
  568.                             if ( (index_y+index_y_start) == SPKEND) {
  569.                                 if (index_y_start==0) {
  570.                                     index_y -= (SPKEND-SPKSTART+1);
  571.                                 } else {
  572.                                     index_y = SPKSTART-1;
  573.                                     index_y_start--;
  574.                                     ShowSetupPage(1);
  575.                                     return;
  576.                                 }
  577.                             }
  578.                         }
  579.                     } 
  580.                 #if !defined(ONLY_DOWNMIXOFF_CAN_SET_CE_RE)
  581.                 else 
  582.                 #endif//ONLY_DOWNMIXOFF_CAN_SET_CE_RE
  583.                 
  584. #endif//    #if !defined(SETUP_ALL_VALID)||defined(ONLY_DOWNMIXOFF_CAN_SET_CE_RE)                
  585.                 
  586. #ifdef PROLOGICII_3D_MUTEX//4-2-12 1:23
  587.             if((page==AUDPAGE)&&is_EQ_SOUND_set()&&(index_y==(PROLOGIC_II) )  )
  588.             index_y--;
  589. #endif//PROLOGICII_3D_MUTEX                    
  590. /*#ifdef DVB_MENU_SETUP_STYLE //Maoyong2004-12-22 11:39
  591.             GetUpValidDvbMenuItem();
  592. #endif                */
  593.                 #ifdef ONLY_DOWNMIX_IN_SPEAKER_PAGE//liweihua add 2004-1-2 15:05
  594.                             id = setup_item[page][index_y][1];
  595.                             if((page==MULTISPKPAGE) && (id != STR_OS_RETURN_MAIN_SETUP))
  596.                 {
  597.                                 index_y = 0;//jump to downmix item
  598.                             }
  599.                 #endif                
  600.                 
  601.                 #ifdef  SETUP_ALL_VALID
  602.                 #ifdef KARAOKE_MENU     
  603.                 //wangfeng 2003-10-29 21:37
  604.                 if((page==AUDPAGE)&&(index_y<2)&&(KARAOKE_MENU_FLAG))
  605.                 {
  606.                     index_y=5;
  607.                 }
  608.                 else if((page==AUDPAGE)&&(index_y==5)&&(KARAOKE_MENU_FLAG==0))
  609.                 #ifdef PROLOGIC_ON_51CH
  610.                     if(setup_IsSpkDownmixOff()){
  611.                         index_y=1;
  612.                         }
  613.                     else
  614.                         index_y=0;
  615.                 #else
  616.                     index_y=1;//wangfeng 2003-11-11 13:55
  617.                 #endif
  618.                 #endif
  619.                 #else
  620.                     //#ifndef SETUP_ALL_VALID
  621.                 if (page==AUDPAGE) {
  622.                         if ( (SETUP_SPDIF==SPDIFBITSTREAM) &&
  623.                             //(index_y==KEYITEM) &&
  624.                             (index_y==VOLCTRLEND) && //Jeff 20020723
  625.                             ( ( coding_mode_now&(AUDIF_CODING_MODE_AC3|
  626.                             //AUDIF_CODING_MODE_PCM|   //DTSCD-BITSTREAM MODE, Jeff 20020719
  627.                             AUDIF_CODING_MODE_DTS)
  628.                             )||(cd_subtype==CD_DTS) )//nono 2-7-25 17:29
  629.                             )
  630.                         {
  631.                             index_y -= (VOLCTRLEND-VOLCTRLSTART+1);
  632.                     } 
  633.                         //else
  634.                         //#endif
  635.                     //#ifndef SETUP_ALL_VALID
  636.                     else
  637.                         {
  638.                             if (
  639.                                 (
  640.                                 ( (SETUP_SPK_DOWNMIX==AC3DOWNMIXOFF) &&
  641.                                 (coding_mode_now&(AUDIF_CODING_MODE_AC3|
  642.                                 AUDIF_CODING_MODE_DTS|
  643.                                 AUDIF_CODING_MODE_DTSCD)
  644.                                 )
  645.                                 )
  646.                                 ||(coding_mode_now==AUDIF_CODING_MODE_LPCM)//terry,0512,currently ,we are not surport LPCM key shift
  647.                                 )
  648.                                 &&(index_y==KEYITEM)
  649.                                 )
  650.                             {
  651.                                 index_y--;
  652.                             }
  653.                         }
  654.                     }
  655. #ifndef NO_AC3_DYNAMIC_RANGE
  656.                     else if ( (page==AC3DIGITALPAGE) && //Jeff 20020621
  657.                         (index_y==(AC3DYNAMICITEM1)) &&
  658.                     ( (SETUP_AC3DIGITAL_OUTMODE==AC3OUTMODEITEM)//AC3DYNAMICITEM2) //wanghaoying 2003-11-26 20:00
  659. //                      ||(SETUP_SPK_DOWNMIX!=AC3DOWNMIXOFF)
  660.                         )
  661.                         )
  662.                     {
  663.                         index_y--;
  664. //                      index_y=AC3DYNAMICITEM1-1;
  665.                     }
  666. #endif //NO_AC3_DYNAMIC_RANGE
  667. #endif //#ifndef SETUP_ALL_VALID
  668.                     printf("idd");
  669.                     
  670.                     id = setup_item[page][index_y+index_y_start][1];
  671.                     setup_DrawItem(1, index_y+SETUP_MENU_YSTART+1, 1);
  672.                     //the last active item in sub-menu is "EXIT", so we skip it's drawing selection area
  673.                     if ( (index_y+index_y_start) < (setupItemNum[1]-1)) {
  674.                         //draw ">>" between sub-mean and it's corresponding selection area
  675.                 //#if defined(SAME_DISC_RESUME)||defined(SHOW_STANDBY_TIMER)
  676.                 #if defined(NEXTPAGE_SYS)       //freyman 2004-3-26 0:05
  677.                         if((id!=STR_OS_NEXT_PAGE)&&(id!=STR_OS_PREV_PAGE))
  678.                         #endif                          
  679.                         #ifdef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 17:12
  680.                         osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SANTIFONTCOLOR, SBGCOLOR);
  681.                         #else                           
  682. #ifndef DVB_MENU_SETUP_STYLE
  683.                         osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SFONTCOLOR, SBGCOLOR);
  684. #else
  685.                         if(IsDvbSubMenuPageItem())
  686.                          osd_DrawString(SETUP_SUB_XSTART-1, index_y+SETUP_MENU_YSTART+1, Ch_arrorR, SFONTCOLOR, SBGCOLOR);
  687. #endif
  688.                         #endif
  689.                         
  690.                         #ifdef DVB_MENU_SETUP_STYLE
  691.                         if(IsDvbSetupTimezone() )
  692.                             submenuStart = index_y + SETUP_MENU_YSTART - 1;
  693.                         else                            
  694.                         #endif
  695.                         submenuStart = index_y+SETUP_MENU_YSTART;
  696.                         //special item(PASSWORD), page-0, item-4
  697.                         if (setup_item[page][index_y+index_y_start][0]==SET_NM) {
  698.                             if (UserSet.parental_ststus==C_LOCK) {
  699.                                 setup_sel[page][index_y+index_y_start] = MIN_ITEM_SEL;
  700.                                 str = _OsdMessegeFont1[osd_font_mode][STR_OS_LOCK];
  701.                             } else {
  702.                                 setup_sel[page][index_y+index_y_start] = MIN_ITEM_SEL + 1;
  703.                                 str = _OsdMessegeFont1[osd_font_mode][STR_OS_UNLOCK];
  704.                             }
  705.                             #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39    
  706.                             osd_draw_setup_button(SETUP_SUB_XSTART, (submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
  707.                             #endif
  708.                             
  709.                             osd_DrawString(SETUP_SUB_XSTART+1, (submenuStart)+1, str, SDEFAULTCOLOR,SBGCOLOR);
  710.                             
  711.                         } else
  712.                             if (setup_item[page][index_y+index_y_start][0]==SET_SCALE) {
  713.                         #ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-7 18:36
  714.                             if(page != VIDEOPAGE)
  715.                         #endif//VIDEO_SETUP_NEW_GUI
  716.                                 setup_PrepareScaleItem(id, 0);
  717.                             } 
  718.                             #ifdef SUPPORT_FUNCTION_MENU
  719.                             //#ifdef SUPPORT_SPI
  720.                             else if (setup_item[page][index_y+index_y_start][0] == SET_SHOW) 
  721.                             {
  722.                               //printf("up show mcu version.....n");
  723.                               show_FW_MCU_servoV();
  724.                             }
  725.                             //#endif
  726.                             #endif//end #ifdef SUPPORT_FUNCTION_MENU
  727.                             else {
  728.                                 //special item(LANGUAGE)
  729. #ifdef RATING_8
  730.                                 if (page==LANGPAGE || ((page==SYSPAGE) && (index_y==GRADEITEM)) ) {
  731. #else
  732.                                     if (page==LANGPAGE) {
  733. #endif
  734.                                         submenuStart = SETUP_MENU_YSTART; //from 0
  735.                                     }
  736.                                     //get select item
  737.                         #if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE         
  738.                                 if(one_key_pass_flag)//OENKEYPASSPAGE
  739.                                 {
  740.                                     sel = GetOneKeyPageSel(index_y);
  741.                                 }
  742.                                 else
  743.                                 sel=setup_sel[page][index_y+index_y_start];
  744.                         #else       
  745.                                     sel = setup_sel[page][index_y+index_y_start];
  746.                         #endif
  747.                                     //draw third-level menu
  748.                                     for (i=2; i<MAX_ITEM_SEL; i++) {
  749.                                         const char *str;
  750.                                         id = setup_item[page][index_y+index_y_start][i];
  751.                                         if (id==0) break;
  752.                                         str = setup_SetItemString();
  753.                                         if (sel == i) {
  754.                                             #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39
  755.                                             osd_draw_setup_button(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
  756.                                             #endif
  757.                                             osd_DrawString(SETUP_SUB_XSTART+1, (i-2+submenuStart)+1, str, SDEFAULTCOLOR, SBGCOLOR);
  758.                                         } else {
  759.                                             #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39
  760.                                             osd_draw_setup_button(SETUP_SUB_XSTART, (i-2+submenuStart)+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 0);
  761.                                             #endif
  762.                                             #ifdef SELECT_MEDIA_IN_SETUPMENU //Maoyong 2004-8-10 20:57
  763.                                             if( IsSetupMediaItemDisable(i) )
  764.                                                 osd_DrawString(SETUP_SUB_XSTART+1, (i-2+submenuStart)+1, str, SGRAYCOLOR, SBGCOLOR);
  765.                                             else
  766.                                             #endif
  767.                                             osd_DrawString(SETUP_SUB_XSTART+1, (i-2+submenuStart)+1, str, SFONTCOLOR, SBGCOLOR);
  768.                                         }
  769.                                     
  770.                                     }
  771.                                     setupItemNum[2] = i - 2;
  772.                                 }
  773.                             }
  774.                     }
  775.         }
  776.     } else
  777.         if (setupLevel==2) {
  778.             upperbound=0;
  779.             if (setup_item[page][index_y][0]==SET_SCALE) {
  780. #ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 16:54
  781.                 if(page == VIDEOPAGE)
  782.                     return;
  783.                 else
  784. #endif//VIDEO_SETUP_NEW_GUI     
  785.                 setup_CookScaleItem(id, 1);
  786.                 run_save_sel_cmd(page,index_y);
  787.             } else
  788.                 if ( (index_y2 > upperbound) && (setup_item[page][index_y][0]!=SET_NM) ) {
  789.                     //third-level menu page
  790.                     #if defined(BBK_NEW_SETUP)&&defined(BBK_DV961_DVD) //axel 2004/1/26 04:01 DSS555 need not OENKEYPASSPAGE         
  791.                     if(one_key_pass_flag)
  792.                     {
  793.                         sel = GetOneKeyPageSel(index_y);
  794.                     printf("+++++++++++++ 6666sel = %d,index_y = %d--n");
  795.                     }
  796.                     else
  797.             sel = setup_sel[page][index_y];
  798.                     #else   
  799.                     sel = setup_sel[page][index_y];
  800.                     #endif
  801.                     id = setup_item[page][index_y][index_y2+2];
  802.                     str = setup_SetItemString();
  803.                     if ((index_y2+2) == sel) {
  804.                         //keep upper button to UP mode with SANTIBGCOLOR
  805.                         #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39
  806.                         osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 1);
  807.                         #endif
  808.                         osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SDEFAULTCOLOR, SBGCOLOR);
  809.                     } else {
  810.                         //normal UP button
  811.                         #ifndef QSI_SETUP_MENU_DESIGN//liweihua 2004-7-4 15:39    
  812.                         osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SBGCOLOR, 0);
  813.                         #endif
  814.                         osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SFONTCOLOR, SBGCOLOR);
  815.                     }
  816.                     #ifdef SELECT_MEDIA_IN_SETUPMENU
  817.           if( setup_item[page][index_y][1] == STR_OS_MEDIA_TYPE)
  818.                         up_skip_media_sub_item();
  819.      else
  820.      #endif
  821.                     index_y2--;
  822.                     if ((index_y2+2) == sel) {
  823.                         osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SANTIBGCOLOR, 1);
  824.                     } else {
  825.                         osd_draw_setup_button(SETUP_SUB_XSTART, index_y2+submenuStart+1, SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2, SANTIBGCOLOR, 0);
  826.                     }
  827.                     id = setup_item[page][index_y][index_y2+2];
  828.                     str = setup_SetItemString();
  829.                     osd_DrawString(SETUP_SUB_XSTART+1, index_y2+submenuStart+1, str, SANTIFONTCOLOR, SANTIBGCOLOR);
  830.                 }
  831.         }
  832.     #ifdef SETUP_COLOR_TYPE2   //3-10-28 1:43张宇P
  833.     if (!(full_scrn&CUSTM))
  834. 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);
  835.     #endif          
  836.     #ifdef SUPPORT_FUNCTION_MENU
  837.     }
  838.     #endif //end #ifdef SUPPORT_FUNCTION_MENU        
  839. }