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

📄 osddraw.lst

📁 TFT LCD驱动芯片T100A+AU7" Source code
💻 LST
📖 第 1 页 / 共 3 页
字号:
 552   3                          }
 553   2      //                  OSDFuncEnter();
 554   2                              break;
 555   2              case FUNCSEL_DN:
 556   2                                                if(m_cItem == 1)
 557   2                                                {
 558   3                                                          OSDCleanLine(17,6,COL_GAUGE,OSD_LENGTH);
 559   3                                                }
 560   2                                                      else
 561   2                                                      {
 562   3                                              OSDCleanLine(17,m_cItem-1,COL_GAUGE,OSD_LENGTH);
 563   3                                                      }
 564   2                                                OSDShowVideoData();
 565   2                                                break;
 566   2              case FUNCSEL_UP:
 567   2                                                if(m_cItem == 6)
 568   2                                                {
 569   3                                                          OSDCleanLine(17,1,COL_GAUGE,OSD_LENGTH);
 570   3                                                }
 571   2                                                      else
 572   2                                                      {
 573   3                                              OSDCleanLine(17,m_cItem+1,COL_GAUGE,OSD_LENGTH);
 574   3                                                      }
 575   2                                                OSDShowVideoData();
 576   2                                                break;
 577   2                    case FUNCEXIT:
 578   2                                    OSDFuncExit();
 579   2                              break;
 580   2                    case FUNCADJ_IN:
 581   2                              OSDItemAdj(INCREASE);
 582   2                              break;
 583   2                    case FUNCADJ_DN:
 584   2                              OSDItemAdj(DECREASE);
 585   2                              break;
 586   2                    case FUNCADCCAL:
 587   2                              break;
 588   2                    case POWERMANAGE:
 589   2                              m_bKyPowerOn = m_bKyPowerOn^0x01;
 590   2                              PowerManage();
 591   2                      //if(m_bChipPowerOn)
 592   2                      //      BKPower();
 593   2                          break;
 594   2                default:      
 595   2                                break;
 596   2                }
 597   1                if(m_bOSDEnable)
 598   1                          Timer0Start();
 599   1      }
 600          
 601          void OSDOpenMenu(void)
 602          {
 603   1              OSDPosition(CENTER);
 604   1              switch(m_cOSDFunc){
 605   2              case idMAINMENU:
 606   2                      break;
 607   2              case idCOLORMENU:
 608   2                      break;
 609   2              case idLANGMENU:
C51 COMPILER V7.06   OSDDRAW                                                               06/16/2005 10:05:39 PAGE 11  

 610   2                      break;
 611   2              case idTVMENU_VIDEO:
 612   2                      OSDShowLine(iBlankLine,0,0,COL_TITLE,OSD_LENGTH);
 613   2                      OSDShowLine(iTuning_E,0,0,COL_TITLE,OSD_LENGTH);
 614   2                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)0<<5)+20);
 615   2                      twdWr_Burst_A(OSD_RAM_DL);
 616   2                      twdWr_Burst_D('M');
 617   2                      twdWr_Burst_D(COL_TITLE);
 618   2                      twdWr_Burst_D('H');
 619   2                      twdWr_Burst_D(COL_TITLE);
 620   2                      twdWr_Burst_D(0x17); //'z'
 621   2                      twdWr_Burst_D(COL_TITLE);
 622   2                      twdWr_Burst_D(BLANK); //'z'
 623   2                      twdWr_Burst_D(COL_TITLE);
 624   2                      //Draw shadow
 625   2                      //OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)0<<5)+24);
 626   2                      //twdWr_Burst_A(OSD_RAM_DL);
 627   2                      twdWr_Burst_D(0x40); //V
 628   2                      twdWr_Burst_D(0x02);
 629   2                      twdWr_Burst_P();
 630   2                      break;
 631   2              case idSRCMENU:
 632   2                      return;
 633   2              case idFCTRYMENU:
 634   2                      return;
 635   2              }
 636   1              OSDPosition(CENTER);
 637   1              OSDEnable();
 638   1              OSDShowPage();  //Title
 639   1              OSDShowVideoData();
 640   1      }
 641          
 642          void OSDFuncSelect(sCHAR sStep)
 643          {
 644   1              //Remove previous cursor
 645   1              //OSDHLLine(m_cItem, COL_NORMAL);
 646   1      
 647   1              switch(m_cOSDFunc&0xf0){
 648   2              case idMAINMENU:
 649   2                      if((m_cSource&0x0C)==0x00)//isrcVIDEO)
 650   2                      {
 651   3                              if(m_cItem+sStep>=1 && m_cItem+sStep<=6 )       m_cItem+=sStep;
 652   3                              else
 653   3                              {
 654   4                                      if(sStep<0)     m_cItem=6;
 655   4                                      else            m_cItem=1;
 656   4                              }
 657   3                      }
 658   2                      else
 659   2                      {
 660   3                      if(m_cItem+sStep>=1 && m_cItem+sStep<=10 )      m_cItem+=sStep;
 661   3                              else
 662   3                              {
 663   4                                      if(sStep<0)             m_cItem=10;
 664   4                                      else                    m_cItem=1;
 665   4                              }
 666   3                      }
 667   2                      break;
 668   2              case idCOLORMENU:
 669   2                      if(m_cItem+sStep>=1 && m_cItem+sStep<=5)                m_cItem+=sStep;
 670   2                      else
 671   2                      {
C51 COMPILER V7.06   OSDDRAW                                                               06/16/2005 10:05:39 PAGE 12  

 672   3                              if(sStep<0)                     m_cItem=5;
 673   3                              else                            m_cItem=1;
 674   3                      }
 675   2                      break;
 676   2              case idLANGMENU:
 677   2                      if(m_cItem+sStep>=1 && m_cItem+sStep<=5)                m_cItem+=sStep;
 678   2                      else
 679   2                      {
 680   3                              if(sStep<0)             m_cItem=5;
 681   3                              else                    m_cItem=1;
 682   3                      }
 683   2                      break;
 684   2              case idSRCMENU:
 685   2                      if(m_cItem<4)           m_cItem++;
 686   2                      else                            m_cItem=1;
 687   2                      break;
 688   2              case idFCTRYMENU:
 689   2                      if(m_cItem+sStep>=1 && m_cItem+sStep<=9 )
 690   2                      {
 691   3                              if(sStep>0)
 692   3                              {
 693   4                                      if(m_cItem==6)  m_cItem+=3;
 694   4                                      else                    m_cItem+=sStep;
 695   4                              }
 696   3                              else
 697   3                              {
 698   4                                      if(m_cItem==9) m_cItem-=3;
 699   4                                      else                    m_cItem+=sStep;
 700   4                              }
 701   3      
 702   3                      }
 703   2                      else
 704   2                      {
 705   3                              if(sStep<0)             m_cItem=9;
 706   3                              else                    m_cItem=1;
 707   3                      }
 708   2                      break;
 709   2              case id9300MENU:
 710   2                      if(m_cItem<8)           m_cItem++;
 711   2                      else                            m_cItem=6;
 712   2                      m_cOSDFunc=(m_cOSDFunc&0xf0)|(m_cItem-5);
 713   2                      OSDMoveCursor(0x12,0x17);
 714   2                      return;
 715   2              case id6500MENU:
 716   2                      if(m_cItem<11)
 717   2                              m_cItem++;
 718   2                      else
 719   2                              m_cItem=9;
 720   2                      m_cOSDFunc=(m_cOSDFunc&0xf0)|(m_cItem-8);
 721   2                      OSDMoveCursor(0x12,0x17);
 722   2                      return;
 723   2              case idTVMENU_VIDEO:
 724   2                      if(m_cItem+sStep>=1 && m_cItem+sStep<=6)                m_cItem+=sStep;
 725   2                      else
 726   2                      {
 727   3                              if(sStep<0)                     m_cItem=6;
 728   3                              else                            m_cItem=1;
 729   3                      }
 730   2                      break;
 731   2              default:
 732   2                      break;
 733   2              }
C51 COMPILER V7.06   OSDDRAW                                                               06/16/2005 10:05:39 PAGE 13  

 734   1      
 735   1              m_cOSDFunc=(m_cOSDFunc&0xf0)|m_cItem;
 736   1        //High Light Current item
 737   1                      OSDMoveCursor(0x00,0x17);
 738   1      }
 739          
 740          
 741          void OSDFuncEnter(void)
 742          {
 743   1      #ifdef TV
                      uCHAR cTemp;
                      uWORD wTemp;
                      if (m_cOSDFunc==idTVMENU_VIDEO)
                      {
                              //Clear Previous Page;
                              //OSDClearPage();
              //              OSDExit();
                              m_cItem=1;
                              cTemp=TVEEPGetChannel();
                              wTemp=TVSetChannel(cTemp-1);
              
                              twdDelay(200);
                              //SrcControl();
                              OSDOpenMenu();
              #ifdef PAL
                              OSDDrawTVFreq(wTemp);
                              OSDDrawBand(wTemp);
              #endif                  
                              OSDMoveCursor(0x00,0x17);
                              m_cOSDFunc=idCHANNEL_TV;
                              return;
                      }
                      else
                      {
                              switch(m_cOSDFunc){
                              case idAUTOMEMORY_TV:
                                      AutoMemory();
                                      return;
              //              case idAUTOSCAN_TV:
              //                      AutoScan();
              //                      return;
                              case idFINETUNE_TV:
                                      m_cOSDFunc=idFINETUNEMENU_TV;
                                      OSDCfgWr(0x10,0x00); //Disable window
                                      OSDShowLine(iBlankLine,0,2,COL_GAUGE,OSD_LENGTH);
                                      OSDShowLine(iPixelIcon,ICON_STAT,2,COL_GAUGE,OSD_LENGTH);
                                      OSDShowLine(iFineTune_E,TXT_STAT,2,COL_GAUGE,OSD_LENGTH);
                                      break;
                              case idCHANNEL_TV:
                                      m_cOSDFunc=idCHANNELMENU_TV;
                                      OSDCfgWr(0x10,0x00); //Disable window
                                      cTemp = I2CReadByte(EEPVIDEOBLOCK, 0x01);
                                      OSDShowLine(iBlankLine,0,3,COL_GAUGE,OSD_LENGTH);
                                      OSDShowLine(iPixelIcon,ICON_STAT,3,COL_GAUGE,OSD_LENGTH);
                                      OSDShowLine(iChannel_E,TXT_STAT,3,COL_GAUGE,OSD_LENGTH);
                                      OSDDrawNum(cTemp, 0, 19, 3, COL_GAUGE, DRAW_BLANK|0x03);
                                      break;
                              default:        return;
                              }
                      }
              #endif
 795   1      }
C51 COMPILER V7.06   OSDDRAW                                                               06/16/2005 10:05:39 PAGE 14  

 796          
 797          void OSDFuncExit(void)
 798          {
 799   1      
 800   1      }
 801          void OSDShowPage(void)
 802          {
 803   1              uCHAR i=0;
 804   1              uCHAR y=1;
 805   1      
 806   1              MULTILANGUAGEOSD *pOSDLangPtr;
 807   1              OSDMENU **pOSDMenuPtr;
 808   1      
 809   1              OSDPosition(CENTER);
 810   1              if((m_cSource&0x0F)==(isrcTV))
 811   1                      pOSDLangPtr=&MultiLangOSDTV[0];
 812   1              else
 813   1                      pOSDLangPtr=&MultiLangOSD[0];
 814   1              pOSDMenuPtr=pOSDLangPtr->osdMenuPtr;  //Main
 815   1      
 816   1              while(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].iconStr!=NULL)
 817   1              {
 818   2                      OSDShowLine(iBlankLine,0,y,COL_TITLE,OSD_LENGTH);//TV Kuo
 819   2                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y<<5)+24);
 820   2                      twdWr_Burst_A(OSD_RAM_DL);
 821   2                      twdWr_Burst_D(0x3C); //V
 822   2                      twdWr_Burst_D(0x02);
 823   2                      twdWr_Burst_P();
 824   2      
 825   2                      OSDShowLine(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].iconStr,ICON_STAT,y,COL_TITLE,OSD_LENGTH);//TV Kuo
 826   2                      if(m_cOSDFunc==idCOLORMENU)
 827   2                              OSDShowLine(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].txtStr,TXT_STAT-2,y,COL_TITLE,OSD_LENGTH);
 828   2                      else
 829   2                              OSDShowLine(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].txtStr,TXT_STAT,y,COL_TITLE,OSD_LENGTH);
 830   2                      i++;
 831   2                      y++;
 832   2              }
 833   1              OSDShowLine(iBlankLine,0,y,COL_TITLE,OSD_LENGTH);//Kuo TV

⌨️ 快捷键说明

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