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

📄 osdmenu.lst

📁 此程序为twell8806驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 958   1      
 959   1               for(  ; y < Max_y; y++)        {
 960   2      
 961   2                      if(i != NIL) {
 962   3                              DisplayOSDMenuOneItem( cur_osdwin, &MenuChild[i], x, y, NOTViewflag);
 963   3                              i = GetLowerMenuItem( MenuChild, i );
 964   3                      }
 965   2                      else {
 966   3                      ClearDataCnt(addr, MenuFormat->width);  // Clear the counter of OSD RAM Data from addr with space(' ').
 967   3                      }
 968   2                      addr += MenuFormat->width;
 969   2      
 970   2               }
 971   1      
 972   1               if( NOTViewflag==0 ) {
 973   2                       I2CAutoIncFlagOn = 0;  // Recover  
 974   2                       WriteDecoder(TW88_ENABLERAM, 0x00); // OSD RAM Auto Access Enable
 975   2               }
 976   1      
 977   1      }
 978          //
 979          // Here, Main Menu will display Only Icon at leftside.
 980          //
 981          #define ALLDATA  175 //25*7  MENU_WIDTH*MENU_HEIGT
C51 COMPILER V7.50   OSDMENU                                                               08/20/2007 10:23:32 PAGE 17  

 982          void DisplayOSDMenu(void)
 983          {
 984   1              CODE_P BYTE *Str;
 985   1              BYTE i;
 986   1              #ifdef DEBUG_OSD
                      Printf("\r\n++(DisplayOSDMenu)");
                      #endif
 989   1      
 990   1              // Clear all MENU Window Ram data
 991   1              DrawAttrCnt(OSDMENU_MAINADDR, DEFAULT_COLOR, 5*2 );      // All Line Attr clear by default color.
 992   1              DrawAttrCnt(OSDMENU_SUBADDR, TITLE_COLOR, TITLE_MAX_DESC );      // All Line Attr clear by default color.
 993   1              if( MenuChild[ cursor_item ].Id == TVINSTALL && GetInputSelection()!= TV )
 994   1                      DrawAttrCnt(OSDMENU_SUBADDR+TITLE_MAX_DESC, CH_COLOR_MAGENTA|BACK_COLOR, MENU_HEIGHT*MENU_WIDTH );      
 995   1              else
 996   1              {
 997   2                      if( (MenuChild[ cursor_item ].Id == PC_COLOR_MODE && GetPCColorTempModeEE() != 3 )  // User
 998   2                      ||( MenuChild[ cursor_item ].Id == VIDEOPICTURE && GetVideoModeEE() != 3 ) ) // User
 999   2                      {
1000   3                              DrawAttrCnt(OSDMENU_SUBADDR+MENU_WIDTH, DEFAULT_COLOR, MENU_WIDTH );    
1001   3                              DrawAttrCnt(OSDMENU_SUBADDR+MENU_WIDTH*2, BACK_COLOR, (MENU_HEIGHT-1)*MENU_WIDTH );     
1002   3                      }
1003   2                      else
1004   2                      DrawAttrCnt(OSDMENU_SUBADDR+TITLE_MAX_DESC, DEFAULT_COLOR, MENU_HEIGHT*MENU_WIDTH );    
1005   2      
1006   2              }
1007   1      
1008   1              DrawAttrCnt(OSDMENU_SUBADDR+TITLE_MAX_DESC*8, COMMENT_COLOR, TITLE_MAX_DESC );   // All Line Attr clear by
             - default color.
1009   1      
1010   1              DrawMenulist(1);
1011   1      
1012   1              // Draw Child
1013   1              if( OSDMenuLevel == 1 ) // 
1014   1              {
1015   2                      pushMenu();     // Store ManuTile, tile_item.
1016   2                      MenuTitle = MenuChild;
1017   2                      title_item = cursor_item;
1018   2                      
1019   2                      MenuFormat = ( CODE_P struct MenuType *) MenuTitle[title_item].TypeData;
1020   2                      MenuChild = MenuTitle[title_item].Child;
1021   2                      cur_osdwin--; 
1022   2      
1023   2                      DrawMenulist(0);        // draw total Submemu.
1024   2                      
1025   2                      popMenu(); // Restore ManuTile, tile_item.
1026   2                      MenuFormat = ( CODE_P struct MenuType *) MenuTitle[title_item].TypeData;
1027   2                      MenuChild = MenuTitle[title_item].Child;
1028   2                      cur_osdwin++;
1029   2              }
1030   1      
1031   1              Str = Str_Comments[OSDLang];
1032   1              i=strlen(Str);
1033   1              WriteStringToAddr(OSDMENU_SUBADDR+TITLE_MAX_DESC*8, Str, i);
1034   1      
1035   1              DisplayCursor();
1036   1      }
1037          
1038          void OSDHighMenu_sub(void)
1039          {
1040   1              BYTE temp_cursor;
1041   1      
1042   1              #ifdef DEBUG_OSD
C51 COMPILER V7.50   OSDMENU                                                               08/20/2007 10:23:32 PAGE 18  

                      dPuts("\r\n(OSDHighMenu_sub)");
                      #endif
1045   1              temp_cursor = cursor_item ;
1046   1              MenuChild = MenuTitle;
1047   1              cursor_item = title_item;
1048   1      
1049   1              if( !popMenu() ) {
1050   2                      CloseOSDMenu();
1051   2      
1052   2                      MenuTitle = MenuChild;  //  Restore the Menu status.
1053   2                      title_item = cursor_item;
1054   2                      MenuChild = MenuTitle[title_item].Child;
1055   2                      cursor_item = temp_cursor;
1056   2              
1057   2                      //DoAction(EXITMENU);
1058   2                      
1059   2                      if( DisplayInputHold ) DisplayInput();
1060   2                      else if( IsAudioMuteOn() ) DisplayMuteInfo();
1061   2                      #ifdef SUPPORT_CCD_VCHIP
                              else if( IsBlock_On() ) DisplayBlockedTVRating();
                              else InitClosedCaption();
                              #endif
1065   2                      return;
1066   2              }
1067   1      
1068   1              #ifdef DEBUG_OSD
                      dPrintf("\r\n++(OSDHighMenu_sub) OSDMenuLevel:%d", (WORD)OSDMenuLevel );
                      #endif
1071   1              
1072   1              MenuFormat = ( CODE_P struct MenuType *) MenuTitle[title_item].TypeData;
1073   1      
1074   1              OSDMenuLevel--; // Up Menu tree
1075   1      
1076   1              if(OSDMenuLevel == 1){  // Top Menu Level
1077   2                      cur_osdwin = OSDMENU_TOPWIN;//Window #4
1078   2                      DisplayOSDMenu();
1079   2              }
1080   1              else
1081   1              {
1082   2                      DrawMenulist(0); // Redraw List and contents.
1083   2                      DisplayCursor();
1084   2              }
1085   1              
1086   1              // 3D Effect Cursor Top
1087   1              if(OSDMenuLevel == 1) {
1088   2                      WriteDecoder(TW88_WINNUM, OSDCURSORWINDOW-1);
1089   2                      WriteDecoder(TW88_WINATTR, OSD_Window_Attr(WINDOW_3D_TOP,BG_COLOR_BLACK|EXTENDED_COLOR,0,WINDOW_3D_ENABL
             -E,WINDOW_ENABLE));    
1090   2              }
1091   1      
1092   1              return;
1093   1      }
1094          
1095          
1096          BYTE DoAction(BYTE id)
1097          {
1098   1              BYTE ret = 1;
1099   1      
1100   1              #ifdef DEBUG_OSD
                      dPrintf("\r\n++(DoAction) id:0x%x", (WORD)id );
                      #endif
1103   1              switch( id ) {
C51 COMPILER V7.50   OSDMENU                                                               08/20/2007 10:23:32 PAGE 19  

1104   2      
1105   2              case CHANGE_TO_COMPOSITE:
1106   2              case CHANGE_TO_SVIDEO:
1107   2              case CHANGE_TO_COMPONENT:
1108   2      
1109   2              #ifdef SUPPORT_TV
                      case CHANGE_TO_TV:
                      #endif
1112   2      
1113   2              #ifdef SUPPORT_PC
1114   2              case CHANGE_TO_PC:
1115   2              case CHANGE_TO_DIGITALVGA:
1116   2              #endif
1117   2      
1118   2              #ifdef SUPPORT_DTV
                      case CHANGE_TO_DTV:
                      #endif
1121   2      
1122   2                                                                      ChangeInput( id & 0x0f );                       
1123   2                                                                      break;
1124   2                                                              
1125   2              #ifdef SUPPORT_PC
1126   2              case AUTOADJUST:                        
1127   2                                                                      AutoAdjust();
1128   2                                                                      /*ClearOSDInfo();
1129   2                                                                      DisplayAutoAdjust();
1130   2                                                                      ret = DetectAndSetForVGAInput(0);       
1131   2                                                                      ClearAutoAdjust();
1132   2                                                                      LCDPowerON(0);  //HHY 1.63*/
1133   2                                                                      break;
1134   2              /*case AUTOADJUST2:                     ret = DetectAndSetForVGAInput(2);
1135   2                                                                      LCDPowerON(0);  //HHY 1.63
1136   2                                                                      SetOSDLastKeyInTime();
1137   2                                                                      ClearCursor();
1138   2                                                                      cursor_item = 0;
1139   2                                                                      DisplayCursor();                
1140   2                                                                      break;*/
1141   2              case RESET_PCVALUE:                     ClearOSDInfo();
1142   2                                                                      ResetPanelAttributeValue();
1143   2                                                                      ResetPCValue();
1144   2                                                                      ResetOSDValue();
1145   2                                                                      ResetAudioValue();
1146   2                                                                      break;
1147   2      
1148   2              case PCCOLORADJUST:                     //AutoColorAdjust(1);
1149   2                                                                      break;
1150   2              #endif
1151   2              
1152   2              
1153   2              case RESET_VIDEOVALUE:          ClearOSDInfo();
1154   2                                                                      ResetVideoValue();
1155   2                                                                      ResetOSDValue();
1156   2                                                                      ResetAudioValue();
1157   2                                                                      break;
1158   2              #ifdef SUPPORT_TV
                      case SCAN_CHANNEL:                      ClearOSDInfo();
                                                                              DisplayScanTV();                
                                                                              delay(50);                              //protect for repeat key
                                                                              ScanTVChannel();
                                                                              ClearScanTV();                  
                                                                              break;
              
C51 COMPILER V7.50   OSDMENU                                                               08/20/2007 10:23:32 PAGE 20  

                      #ifdef PAL_TV
                      case EDIT_CHANNEL:                      ChannelEdit_Window();
                                                                              ChannelEdit_Flag = 1;
                                                                              break;
                      #endif
              
              /*      case MTS_STEREO:
                      case MTS_MONO:                          SetMTSType(id);
                                                                              break;
                      case CHANGEINPUTSTD:                    
                                                                              i = GetInputSelection();
                                                                              if( i==TV ) 
                                                                                      ChangeVInputStdDetectMode(val);
              */
                      
                      #endif
1182   2      
1183   2      //----
1184   2              #ifdef SUPPORT_CCD_VCHIP
                      case TV_GUIDE:                          val_index=0x80; // xxxxx xxx : ALL(1)/FV(0)/V(0)/S(0)/L(0)/D(0)  level:0
                                                                              Display_TVGuide_Window();
                                                                              VchipWindow_On = 1;
                                                                              break;
                      #endif
1190   2              case DISP_INFO:                         DisplayInfo_OSD();      
1191   2                                                                      displayOnValueWindow = 1;
1192   2                                                                      break;
1193

⌨️ 快捷键说明

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