⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osddrawt100.lst

📁 T116 源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 773   2                      OSDDrawNum(EepVideo.cContrast,V_CONTRAST_MAX,NUM_STAT,GAUGE_Y,COL_TITLE,DRAW_BLANK|0x03); 
 774   2                      break;
 775   2              case idSHARPMENU_VIDEO:
 776   2              case idSHARP_VIDEO:
 777   2                      OSDDrawGauge(EepVideo.cSharp,V_SHARP_MAX,0,GAUGE_Y,COL_GAUGE);
 778   2                      OSDDrawNum(EepVideo.cSharp,0,NUM_STAT,GAUGE_Y,COL_TITLE,DRAW_BLANK|0x03);  
 779   2                      break;
 780   2              case idSATMENU_VIDEO:
 781   2                      OSDDrawGauge(EepVideo.cSat,V_SAT_MAX,0,GAUGE_Y,COL_GAUGE);
 782   2                      OSDDrawNum(EepVideo.cSat,V_SAT_MAX,NUM_STAT,GAUGE_Y,COL_TITLE,DRAW_BLANK|0x03);
 783   2                      break;
 784   2              case idHUEMENU_VIDEO:
 785   2                      OSDDrawGauge(EepVideo.cHue,V_HUE_MAX,0,GAUGE_Y, COL_GAUGE);
 786   2                      OSDDrawNum(EepVideo.cHue,V_HUE_MAX,NUM_STAT,GAUGE_Y,COL_TITLE,DRAW_BLANK|0x03); 
 787   2                      break;
 788   2              case idTIMEMENU_VIDEO:
 789   2                      EepVideo.cB2=I2CReadByte(TW101,0xb2);
 790   2                      EepVideo.cB8=I2CReadByte(TW101,0xb8);
 791   2                      OSDDrawNum(EepVideo.cB2,0,NUM_STAT-10,GAUGE_Y,COL_TITLE,DRAW_BLANK|0x03); 
 792   2                      OSDDrawNum(EepVideo.cB8,0,NUM_STAT,GAUGE_Y,COL_TITLE,DRAW_BLANK|0x03); 
 793   2                      break;
 794   2              default:        break;
 795   2              }       
 796   1      }
 797          
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 14  

 798          #define GAUGE_TOTAL_FONT_L              24  //Long
 799          #define GAUGE_TOTAL_FONT_S      16  //Short
 800          #define GAUGE_STAT_L                    2
 801          #define GAUGE_STAT_S                    4
 802          //#define NUM_STAT                              21   // mark by Sherman 05'10'23
 803          void OSDDrawGauge(uCHAR cVal, uCHAR cMax, uCHAR x, uCHAR y, uCHAR cColor)
 804          {
 805   1              bit bLastBar;
 806   1              //Init Part
 807   1              if((m_cOSDFunc&0xF0)==idCOLORMENU)
 808   1              {
 809   2                      m_cBuff[3]=GAUGE_TOTAL_FONT_S;
 810   2                      m_wBuff[0]=(unsigned long)cVal*GAUGE_TOTAL_FONT_S;
 811   2              }
 812   1              else
 813   1              {
 814   2                      m_cBuff[3]=GAUGE_TOTAL_FONT_L;
 815   2                      m_wBuff[0]=(unsigned long)cVal*GAUGE_TOTAL_FONT_L;
 816   2              }
 817   1              m_cBuff[0]=m_wBuff[0]/cMax;
 818   1              m_cBuff[1]=(m_wBuff[0]%cMax)*100/cMax;
 819   1      
 820   1              if(m_cBuff[0]==0)
 821   1              {
 822   2                      if(m_cBuff[1]>=0 && m_cBuff[1]<=24)
 823   2                              m_cBuff[2]=BAR_S_MIN;
 824   2                      else if(m_cBuff[1]>=25 && m_cBuff[1]<=49)
 825   2                              m_cBuff[2]=BAR_S_1;
 826   2                      else if(m_cBuff[1]>=50 && m_cBuff[1]<=74)
 827   2                              m_cBuff[2]=BAR_S_2;
 828   2                      else if(m_cBuff[1]>=75 && m_cBuff[1]<=99)
 829   2                              m_cBuff[2]=BAR_S_MAX;
 830   2              }
 831   1              else if(m_cBuff[0]==m_cBuff[3]-1)
 832   1              {
 833   2                      if(m_cBuff[1]>=0 && m_cBuff[1]<=24)
 834   2                              m_cBuff[2]=BAR_E_MIN;
 835   2                      else if(m_cBuff[1]>=25 && m_cBuff[1]<=49)
 836   2                              m_cBuff[2]=BAR_E_1;
 837   2                      else if(m_cBuff[1]>=50 && m_cBuff[1]<=74)
 838   2                              m_cBuff[2]=BAR_E_2;
 839   2                      else if(m_cBuff[1]>=75 && m_cBuff[1]<=99)
 840   2                              m_cBuff[2]=BAR_E_MAX;
 841   2              }
 842   1              else
 843   1              {
 844   2                      if(m_cBuff[1]>=0 && m_cBuff[1]<=24)
 845   2                              m_cBuff[2]=BAR_MIN;
 846   2                      else if(m_cBuff[1]>=25 && m_cBuff[1]<=49)
 847   2                              m_cBuff[2]=BAR_1;
 848   2                      else if(m_cBuff[1]>=50 && m_cBuff[1]<=74)
 849   2                              m_cBuff[2]=BAR_2;
 850   2                      else if(m_cBuff[1]>=75 && m_cBuff[1]<=99)
 851   2                              m_cBuff[2]=BAR_MAX;
 852   2              }
 853   1      
 854   1              bLastBar=1;
 855   1              if((m_cOSDFunc&0xF0)==idCOLORMENU)
 856   1              {
 857   2                      m_cBuff[1]=GAUGE_TOTAL_FONT_S;
 858   2                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+GAUGE_STAT_S);
 859   2              }
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 15  

 860   1              else
 861   1              {
 862   2                      m_cBuff[1]=GAUGE_TOTAL_FONT_L;
 863   2                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
 864   2              }
 865   1              twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
 866   1              m_cBuff[3]=0;
 867   1              while(m_cBuff[3]<m_cBuff[1])
 868   1              {
 869   2                      if(m_cBuff[0]>0)
 870   2                      {
 871   3                              if(m_cBuff[3]==0)
 872   3                                      twdWr_Burst_D(BAR_S_MAX);
 873   3                              else if(m_cBuff[3]==m_cBuff[1]-1)
 874   3                                      twdWr_Burst_D(BAR_E_MAX);
 875   3                              else
 876   3                                      twdWr_Burst_D(BAR_MAX);
 877   3                      m_cBuff[0]--;
 878   3                      }
 879   2              else if(m_cBuff[3]==m_cBuff[1]-1 && !bLastBar)
 880   2                              twdWr_Burst_D(BAR_E_MIN);
 881   2                      else if(bLastBar)
 882   2                      {
 883   3                              twdWr_Burst_D(m_cBuff[2]);
 884   3                              bLastBar=0;
 885   3                      }
 886   2                      else
 887   2                              twdWr_Burst_D(BAR_MIN);
 888   2      
 889   2                      twdWr_Burst_D(cColor );
 890   2                      m_cBuff[3]++;
 891   2              }
 892   1      
 893   1              twdWr_Burst_P();
 894   1      }
 895          
 896          //Maximum three initiger, percentage
 897          void OSDDrawNum(uWORD wVal, uCHAR cMax, uCHAR x, uCHAR y, uCHAR cColor, uCHAR cAttr)
 898          {
 899   1              //Init Part
 900   1              uCHAR cTemp;
 901   1              if(cMax!=0)
 902   1              {
 903   2                      m_wBuff[0]=(unsigned long)wVal*100;
 904   2                      m_wBuff[0]=m_wBuff[0]/cMax;
 905   2              }
 906   1              else //Non percentage
 907   1              {
 908   2                      m_wBuff[0]=wVal;
 909   2              }
 910   1      
 911   1              //OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+NUM_STAT);
 912   1              //twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
 913   1      
 914   1              if(m_wBuff[0]<10)
 915   1                      m_cBuff[1]=1;
 916   1              else if(m_wBuff[0]<100)
 917   1                      m_cBuff[1]=2;
 918   1              else
 919   1              m_cBuff[1]=3;
 920   1      
 921   1              OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 16  

 922   1              twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
 923   1      
 924   1              if((cAttr&0xF0)==DRAW_BLANK)
 925   1              {
 926   2                      switch(m_cBuff[1]){
 927   3                      case 1:
 928   3                              if((cAttr&0x0F)==3||(cAttr&0x0F)==2)
 929   3                              {
 930   4                                      twdWr_Burst_D(BLANK);
 931   4                                      twdWr_Burst_D(cColor);
 932   4                              }
 933   3                      case 2:
 934   3                              if((cAttr&0x0F)==3)
 935   3                              {
 936   4                                      twdWr_Burst_D(BLANK);
 937   4                                      twdWr_Burst_D(cColor);
 938   4                              }
 939   3                      }
 940   2              }
 941   1              else if((cAttr&0xF0)==DRAW_ZERO)
 942   1              {
 943   2                      switch(m_cBuff[1]){
 944   3                      case 1:
 945   3                              if((cAttr&0x0F)==3||(cAttr&0x0F)==2)
 946   3                              {
 947   4                                      twdWr_Burst_D('0');
 948   4                                      twdWr_Burst_D(cColor);
 949   4                              }
 950   3                      case 2:
 951   3                              if((cAttr&0x0F)==3)
 952   3                              {
 953   4                                      twdWr_Burst_D('0');
 954   4                                      twdWr_Burst_D(cColor);
 955   4                              }
 956   3                      }
 957   2              }
 958   1      
 959   1      
 960   1              while(m_cBuff[1]>0)
 961   1              {
 962   2                      if(m_cBuff[1]==3)
 963   2                              cTemp=m_wBuff[0]/100;
 964   2                      else if(m_cBuff[1]==2)
 965   2                              cTemp=(m_wBuff[0]%100)/10;
 966   2                      else if(m_cBuff[1]==1)
 967   2                              cTemp=m_wBuff[0]%10;
 968   2      
 969   2                      OSDNumConvert(cTemp);
 970   2              twdWr_Burst_D(cColor );
 971   2                      m_cBuff[1]--;
 972   2              }
 973   1              twdWr_Burst_P();
 974   1      }
 975          
 976          #ifdef TV
              
              void OSDDrawSoundSystem(void)
              {
                      if(m_cSoundSystem==PAL_I)
                              //OSDShowLine(iPAL_I,20,3,COL_NORMAL,OSD_LENGTH);
                              OSDShowLine(iPAL_I,20,3,COL_TITLE,OSD_LENGTH);   
                      else
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 17  

                              //OSDShowLine(iPAL_DK,20,3,COL_NORMAL,OSD_LENGTH);
                              OSDShowLine(iPAL_DK,20,3,COL_TITLE,OSD_LENGTH);   
              
              
              }
              
              void OSDDrawTVFreq(uWORD wFreq)
              {
              //      float fTemp;
                      uWORD wTemp;
                      wTemp=((wFreq&0x7fff)-IF2_FERQ1)/FREQ_1MHZ;
                      //m_wBuff[0]=wFreq/20-38;
                      OSDDrawNum(wTemp, 0, 14, 0, COL_TITLE, DRAW_BLANK|0x03);
                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+17);
                      twdWr_Burst_A(OSD_RAM_DL);
                      twdWr_Burst_D(0x14); //'.'
                      twdWr_Burst_D(COL_TITLE );
                      twdWr_Burst_P();
                      wTemp=((wFreq&0x7fFF)-IF2_FERQ1)%FREQ_1MHZ;
                      OSDDrawNum(wTemp, FREQ_1MHZ, 18, 0, COL_TITLE, DRAW_ZERO|0x02);
              }
              void OSDDrawSkip(void)
              {
                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)2<<5)+19);
              
                      twdWr_Burst_A(OSD_RAM_DL);
              
                      switch((uCHAR)m_bTV_Skip){
                      case 0:
                              twdWr_Burst_D('A');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('D');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('D');
                              twdWr_Burst_D(COL_TITLE);
                              break;
                      case 1:
                              twdWr_Burst_D('E');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('R');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('A');
                              twdWr_Burst_D(COL_TITLE);
                              break;
                      }
              }
              
              void OSDDrawBand(uWORD wFreq)
              {
                      uCHAR k;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -