📄 osdmenu.lst
字号:
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 + -