📄 osdmenu.lst
字号:
487 void DisplayCursor(void)
488 {
489 1 BYTE cursor_y=0 ;
490 1 WORD addr;
491 1
492 1 if( cursor_item==NIL )
493 1 return;
494 1
495 1 cursor_y = cursor_item + ( MenuFormat->TitleColor ==NIL ? 0 : 1 );
496 1
497 1 if( OSDMenuLevel == 1 ) addr = OSDMENU_MAINADDR;
498 1 else addr = OSDMENU_SUBADDR;
499 1
500 1 addr += cursor_y*MenuFormat->width;
501 1
502 1 if( OSDMenuLevel == 1)
503 1 DrawAttrCnt(addr, MenuFormat->CursorColor, MenuFormat->width );
504 1 else
505 1 {
506 2 if(OnChangingValue)
507 2 {
508 3 GetItemValue(GetItemValue(MenuChild[cursor_item].Id));
509 3 DrawAttrCnt(addr, MenuFormat->CursorColor, MenuFormat->width );
510 3 }
511 2 else
512 2 {
513 3 DrawAttrCnt(addr, MenuFormat->CursorColor, MenuFormat->width-BARNUM_LENGTH );
514 3 DrawAttrCnt(addr+MAX_DESC, DEFAULT_COLOR, BARNUM_LENGTH );
515 3 }
516 2 }
517 1
518 1 }
519
520
521 //===============================================================================
522 // OSD Menu Operation funtion moved to "OSDoper.c" by RYU.
523 //
524 //===============================================================================
525
526 WORD GetItemValue( BYTE id)
527 {
528 1 WORD val=0;
529 1
530 1 #ifdef DEBUG_OSD
dPrintf("\r\n++(GetItemValue) id:0x%x __", (WORD)id);
#endif
533 1
534 1 switch( id ) {
535 2 //case SYSTEM_CLOCK: val = GetSystemClock_HM(); break;
536 2 //case WAKEUP_TIME: val = OSDItemValue = GetWakeupTime(); break;
537 2 //case OFF_TIME: val = OSDItemValue = GetOffTime(); break;
538 2 case SLEEP_TIMER: val = OSDItemValue = GetSleepTimer(); break;
539 2
540 2 #ifdef SUPPORT_OSDPOSITIONMOVE
case OSDPOSITIONMODE: val = GetOSDPositionMode(); break;
//case OSD_VPOS: val = GetOSDMenuYValue(); break;
//case OSD_HPOS: val = GetOSDMenuXValue(); break;
#endif
545 2 // case OSD_DURATION: val = GetOSDDurationValue(); break;
546 2 case OSDLANG: val = OSDLang & 0x0f; break;
547 2
548 2 #ifdef SUPPORT_PC
C51 COMPILER V7.50 OSDMENU 04/01/2008 15:02:25 PAGE 10
549 2 case PANEL_CONTRAST: val = OSDItemValue = GetPanelContrastEE(); break;
550 2 case PANEL_BRIGHTNESS: val = OSDItemValue = GetPanelBrightnessEE(); break;
551 2
552 2 case PC_VPOS: val = GetVPosition(); break;
553 2 case PC_HPOS: val = GetHPosition(); break;
554 2 case PC_CLOCK: val = GetCoarseValue(); break;
555 2 case PC_PHASE: val = GetPhaseCurrent(); break;
556 2
557 2 case PC_COLOR_TEMP: val = GetPCColorTempModeEE(); break;
558 2 case PC_COLOR_R: val = GetPCColorTemp(RED); break;
559 2 case PC_COLOR_G: val = GetPCColorTemp(GREEN); break;
560 2 case PC_COLOR_B: val = GetPCColorTemp(BLUE); break;
561 2 #endif
562 2
563 2
564 2 case VIDEO_MODE: val = GetVideoModeEE(); break;
565 2
566 2 case VIDEO_CONTRAST:
567 2 case VIDEO_BRIGHTNESS:
568 2 case VIDEO_SATURATION:
569 2 case VIDEO_HUE:
570 2 case VIDEO_SHARPNESS:
571 2 val = GetVideoDatawithOffset(id -VIDEO_CONTRAST); break; // changed wrong offset value // Hans
572 2 case VIDEO_BACKLIGHT:
573 2 val = GetVideoDatawithOffset(backlight); break; // changed wrong offset value // Hans
574 2
575 2 case AUDIO_VOLUME: val = GetAudioVol(); break;
576 2 #ifdef SUPPORT_MSP_AUDIO
case AUDIO_BALANCE: val = GetAudioBalance(); break;
case AUDIO_BASS: val = GetAudioBass(); break;
case AUDIO_TREBLE: val = GetAudioTreble(); break;
//case AUDIO_EFFECT: val = GetAudioEffect(); break;
//case AUDIO_MUTE: val = IsAudioMuteOn(); break;
#endif
583 2
584 2 #ifdef SUPPORT_TV
585 2 #ifdef NTSC_TV
case AIR_CABLE_TV: val = OSDItemValue = GetTVType(); break;
case STORE_CLEAR_TVCHN: val = OSDItemValue = IsSavedCurChn(); break;
#endif
589 2
590 2 case FINE_TUNE_CHANNEL: val = OSDItemValue = GetFineTune(); break;
591 2 #endif // SUPPORT_TV
592 2
593 2 case INPUTSTD: val = OSDItemValue = VInputStdDetectMode;
594 2 break;
595 2
596 2 #ifdef WIDE_SCREEN //.................................................
597 2 case WIDESCREEN:
598 2 val = WideScreenMode; break;
599 2 #endif //.................................................
600 2
601 2 }
602 1
603 1 return val;
604 1 }
605
606 #define MAX_VIDEOMODE 4
607 #define MAXVCHIPMOVIE 7
608
609 WORD SetItemValue( BYTE id, BYTE flag )
610 {
C51 COMPILER V7.50 OSDMENU 04/01/2008 15:02:25 PAGE 11
611 1 WORD val=0;
612 1 // BYTE i;
613 1
614 1 switch( id ) {
615 2 //case SYSTEM_CLOCK_H:
616 2 //case WAKEUP_TIME_H:
617 2 //case OFF_TIME_H:
618 2 // val = SetClock_hour(flag); break;
619 2
620 2 //case SYSTEM_CLOCK:
621 2 //case WAKEUP_TIME:
622 2 //case OFF_TIME:
623 2 // val = SetClock_min(flag); break;
624 2 case SLEEP_TIMER: val = ChangeSleepTimer( flag ); break;
625 2
626 2 #ifdef SUPPORT_OSDPOSITIONMOVE
case OSDPOSITIONMODE: val = SetOSDPositionMode( flag ); break;
//case OSD_VPOS: val = SetOSDMenuYValue(flag); break;
//case OSD_HPOS: val = SetOSDMenuXValue(flag); break;
#endif
631 2
632 2 // case OSD_DURATION: val = SetOSDDurationValue(flag); break;
633 2 case OSDLANG: val = SetLanguage (flag); break;
634 2
635 2 #if defined(SUPPORT_PC) || defined(SUPPORT_DTV)
636 2 case PANEL_CONTRAST: val = SetPanelContrast(flag); break;
637 2 case PANEL_BRIGHTNESS: val = SetPanelBrightness(flag); break;
638 2 #endif
639 2
640 2 #ifdef SUPPORT_PC
641 2 case PC_VPOS: val = SetVPosition(flag); break;
642 2 case PC_HPOS: val = SetHPosition(flag); break;
643 2 case PC_CLOCK: val = SetPCCoarseValue(flag); break;
644 2 case PC_PHASE: val = SetPhaseValue(flag); break;
645 2 #endif
646 2
647 2 case PC_COLOR_TEMP: val = SetPCColorTemp(flag); break;
648 2
649 2 case PC_COLOR_R: val = SetPCColor(RED, flag); break;
650 2 case PC_COLOR_G: val = SetPCColor(GREEN, flag); break;
651 2 case PC_COLOR_B: val = SetPCColor(BLUE, flag); break;
652 2
653 2 case VIDEO_MODE: val = GetVideoModeEE();
654 2 if(flag==UP) val ++;
655 2 else val = val + MAX_VIDEOMODE -1;
656 2 val %= MAX_VIDEOMODE ;
657 2 SetVideoMode(val);
658 2
659 2 if( GetVideoModeEE() != 3 ) // if not user mode, mask the control.
660 2 DrawAttrCnt(OSDMENU_SUBADDR+MENU_WIDTH*2, BACK_COLOR, (MENU_HEIGHT-1)*MENU_WIDTH );
661 2 else
662 2 DrawAttrCnt(OSDMENU_SUBADDR+MENU_WIDTH*2, DEFAULT_COLOR, (MENU_HEIGHT-1)*MENU_WIDTH );
663 2 break;
664 2
665 2 case VIDEO_CONTRAST:
666 2 case VIDEO_BRIGHTNESS:
667 2 case VIDEO_HUE:
668 2 val= ChangeVideoData(id-VIDEO_CONTRAST,flag); break;
669 2 case VIDEO_SATURATION: val = ChangeVideoData(id-VIDEO_CONTRAST,flag);
670 2 ChangeVideoData(id+1-VIDEO_CONTRAST,flag);
671 2 break;
672 2 //val = SetVideoSaturation(V_SAT, flag); break;
C51 COMPILER V7.50 OSDMENU 04/01/2008 15:02:25 PAGE 12
673 2 case VIDEO_SHARPNESS: val = SetVideoSharpness(flag); break;
674 2 case VIDEO_BACKLIGHT: val = ChangeVideoData(backlight,flag); break; // changed wrong offset value // Ha
-ns
675 2
676 2
677 2
678 2 case AUDIO_VOLUME: val = ChangeVol( (flag==UP ? 1 : -1) ); break;
679 2 #ifdef SUPPORT_MSP_AUDIO
case AUDIO_BALANCE: val = ChangeBalance( (flag==UP ? 1 : -1) ); break;
case AUDIO_BASS: val = ChangeBass( (flag==UP ? 1 : -1) ); break;
case AUDIO_TREBLE: val = ChangeTreble( (flag==UP ? 1 : -1) ); break;
#endif
684 2
685 2 #ifdef SUPPORT_TV
686 2 case INPUTSTD:
687 2 val = VInputStdDetectMode;
688 2 if(flag==UP) val++;
689 2 else val = ( val+MAXINPUTSTD -1 );
690 2 val %= MAXINPUTSTD;
691 2 //Printf("\r\n++IPUTSTD:0x%x __", (WORD)val);
692 2
693 2 //i = GetInputSelection();
694 2 //if( i==TV )
695 2 ChangeVInputStdDetectMode(val);
696 2 break;
697 2 #ifdef NTSC_TV
case AIR_CABLE_TV: val = ToggleTVType(); break;
case STORE_CLEAR_TVCHN: val = StoreClearCurChn(); break;
#endif
701 2
702 2 case FINE_TUNE_CHANNEL: val = ChangeFineChannel(flag); break;
703 2 #endif
704 2
705 2
706 2
707 2 #ifdef WIDE_SCREEN
708 2 case WIDESCREEN: val = WideScreenMode;
709 2 if(flag==UP) val++;
710 2 else val = ( val+MAXWIDESCREEN -1 );
711 2 val %= MAXWIDESCREEN;
712 2 Set4WideScreen( val );
713 2 break;
714 2 #endif //WIDE_SCREEN
715 2
716 2 }
717 1
718 1 return val;
719 1 }
720
721
722 void DisplayViewBar(WORD addr, BYTE val)
723 {
724 1 CODE BYTE BAR_ROM_TABLE[] = {
725 1 0x01,0x01,0x01,0x01, // ...
726 1 0x02,0x02,0x02,0x02,0x02, // |..
727 1 0x05,0x05,0x05,0x05,0x05,// ||.
728 1 0x03, // |
729 1 0x04, // |||
730 1 };
731 1
732 1 BYTE i=0;
733 1 BYTE Bar_str[]={ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, ' ', ' ', ' ',0 };
C51 COMPILER V7.50 OSDMENU 04/01/2008 15:02:25 PAGE 13
734 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -