?? menu.lst
字號:
524 3 break;
525 3
526 3 AdjustSoundMode(MIA_IncValue);
527 3 menuAction=MIA_RedrawMenu;
528 3 g_ucMenuPageIndex=ShowTVChannelMenu;
529 3 g_ucMenuItemIndex=0;
530 3 processEvent=TRUE;
531 3 break;
532 3 case MIA_Searchup:
533 3 g_bManualScanDirection=1;
534 3 TV_ChannelManualScanInit();
535 3 return FALSE;// DISABLE OSD TIME RESET
536 3
537 3 case MIA_Searchdown:
538 3 g_bManualScanDirection=0;
539 3 TV_ChannelManualScanInit();
540 3 return FALSE;// DISABLE OSD TIME RESET
541 3
542 3 case MIA_IR_ChromaSwitch:
543 3 if(!IsTVInUse())
544 3 break;
545 3 AdjustChromaMode(MIA_IncValue);
C51 COMPILER V8.18 MENU 09/29/2009 23:58:03 PAGE 10
546 3 menuAction=MIA_RedrawMenu;
547 3 g_ucMenuPageIndex=ShowTVChannelMenu;
548 3 g_ucMenuItemIndex=0;
549 3 processEvent=TRUE;
550 3 break;
551 3
552 3 case MIA_AutoSerach:
553 3 TV_ChannelAutoScanInit();
554 3 return FALSE;// DISABLE OSD TIME RESET
555 3
556 3 case MIA_IRKEY_0:
557 3 case MIA_IRKEY_1:
558 3 case MIA_IRKEY_2:
559 3 case MIA_IRKEY_3:
560 3 case MIA_IRKEY_4:
561 3 case MIA_IRKEY_5:
562 3 case MIA_IRKEY_6:
563 3 case MIA_IRKEY_7:
564 3 case MIA_IRKEY_8:
565 3 case MIA_IRKEY_9:
566 3 irAdjustNumKey(IRKeyToNumber(menuAction));
567 3 menuAction=MIA_RedrawMenu;
568 3 processEvent=TRUE;
569 3 break;
570 3
571 3 case MIA_IRKEY_100:
572 3 irNumInputMode();
573 3 menuAction=MIA_RedrawMenu;
574 3 processEvent=TRUE;
575 3 break;
576 3 #endif
577 3
578 3 #if VGA_ENABLE
579 3 case MIA_Auto:
580 3 if (FreeRunModeFlag )
581 3 break;
582 3 menuAction=MIA_RedrawMenu;
583 3 g_ucMenuPageIndex=AutoMenu;
584 3 g_ucMenuItemIndex=0;
585 3 processEvent=TRUE;
586 3 break;
587 3 #endif
588 3 default:
589 3 return FALSE;
590 3 break;
591 3 }
592 2 }
593 1 return TRUE;
594 1 }
595
596
597 //=========================================================================
598 void DrawOsdMenu(void)
599 { BOOL redrawFlags;
600 1 BYTE ucBank;
601 1 ucBank = msReadByte( BK0_00_REGBK);
602 1
603 1 msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
604 1 Clr_DynamiccaptionFlag();
605 1 if (CurrentMenu.Flags&mpbInvisible)
606 1 Osd_Hide();
607 1 else
C51 COMPILER V8.18 MENU 09/29/2009 23:58:03 PAGE 11
608 1 {
609 2 BYTE i;
610 2 // setup osd window & position
611 2 redrawFlags=FALSE;
612 2 if (CurrentMenu.XSize!=OsdWindowWidth || CurrentMenu.YSize!=OsdWindowHeight ||
613 2 !(msReadOSDByte(OSD_0C_IOSDC1)&MWIN_B))
614 2 redrawFlags=TRUE;
615 2 if (redrawFlags)
616 2 {
617 3 Osd_Hide();
618 3 Osd_SetWindowSize(CurrentMenu.XSize, CurrentMenu.YSize);
619 3 //Clr_ReverseYFlag();
620 3 //Clr_ReverseXFlag();
621 3 //g_VideoSetting.OsdHStart=98;
622 3 //g_VideoSetting.OsdVStart=95;
623 3
624 3 if (FactoryModeFlag)
625 3 Osd_SetPosition(10, 10);
626 3
627 3 else if (CurrentMenu.Flags&mpbSetItemTop)
628 3 {
629 4 Osd_SetPosition((99-g_VideoSetting.Scaling*15), 5);
630 4 msWriteByte(BK0_63_OSD_CTL, 0x0F);
631 4 }
632 3 else if(CurrentMenu.Flags&mpbGame)
633 3 {
634 4 Osd_SetPosition(50, 60);
635 4 msWriteByte(BK0_63_OSD_CTL, 0x00);
636 4 }
637 3 else
638 3 { Osd_SetPosition(50, 50);
639 4 msWriteByte(BK0_63_OSD_CTL, 0x03);
640 4 }
641 3 if (g_ucMenuPageIndex==MuteMenu)
642 3 Osd_SetPosition((2+g_VideoSetting.Scaling*15), 5);
643 3
644 3 #if CALENDAR_ENABLE
if (g_ucMenuPageIndex==CalendarMenu)
msWriteByte(BK0_63_OSD_CTL, 0x0F);
#endif
648 3
649 3 if (g_ucMenuPageIndex==VolumeMenu)
650 3 Osd_SetPosition(50, 98);
651 3 for (i=0; i<MenuItemCount; i++)
652 3 DrawOsdMenuItem(i, &CurrentMenu.MenuItems[i]);
653 3
654 3 DrawOsdMenuItem(g_ucMenuItemIndex, &CurrentMenu.MenuItems[g_ucMenuItemIndex]);//ZWTAN 20050711
655 3
656 3 if (FactoryModeFlag)
657 3 Osd_DrawChar(0, 0, 'F');
658 3
659 3 Osd_Show();
660 3 }
661 2 else
662 2 {
663 3 for (i=0; i<MenuItemCount; i++)
664 3 DrawOsdMenuItem(i, &CurrentMenu.MenuItems[i]);
665 3 DrawOsdMenuItem(g_ucMenuItemIndex, &CurrentMenu.MenuItems[g_ucMenuItemIndex]);
666 3
667 3 Osd_Show();
668 3 }
669 2 }
C51 COMPILER V8.18 MENU 09/29/2009 23:58:03 PAGE 12
670 1
671 1 msWriteByte(BK0_00_REGBK, ucBank);
672 1
673 1 }
674
675 //=========================================================================
676 // draw menu item
677 void DrawOsdMenuItem(BYTE itemIndex, MenuItemType *menuItem)
678 {
679 1 if (menuItem->Flags&mibInvisible)
680 1 return;
681 1
682 1 if (menuItem->Flags&mibFactoryItem && !FactoryModeFlag)
683 1 return;
684 1
685 1 if (menuItem->Flags&mibTVItem&& !IsTVInUse())
686 1 return;
687 1
688 1 if (menuItem->Flags&mibVGADisable&& IsVGAInUse())
689 1 return;
690 1
691 1 if (menuItem->Flags&mibVGAItem&& !IsVGAInUse())
692 1 return;
693 1
694 1 if (menuItem->Flags&mibVGAItem&& IsVGAInUse() && SyncLossState())
695 1 return;
696 1
697 1 if (menuItem->Flags&mibSelectable && itemIndex==g_ucMenuItemIndex)
698 1 Osd_SetTextColor(menuItem->SelForeColor, menuItem->SelBackColor);
699 1 else
700 1 Osd_SetTextColor(menuItem->ForeColor, menuItem->BackColor);
701 1
702 1 DrawOsdMenuItemText(itemIndex, menuItem);
703 1
704 1 if (&CurrentMenuItem==menuItem || menuItem->Flags&mibDrawValue)
705 1 {
706 2 if (&(menuItem->DisplayValue))
707 2 DrawOsdMenuItemValue(itemIndex, (menuItem->DisplayValue));//->DisplayValue);
708 2 }
709 1 }
710
711 //=========================================================================
712 // draw menu item display text
713 void DrawOsdMenuItemText(BYTE itemIndex, MenuItemType *menuItem)
714 {
715 1 if (menuItem->DisplayText==NULL)
716 1 return;
717 1
718 1 if (menuItem->DrawItemMethod==DWI_Icon || menuItem->DrawItemMethod==DWI_Text)
719 1 {
720 2 #ifdef Multi_language
if (IsVGAInUse()&&g_ucMenuPageIndex==PictureMenu&&itemIndex == 3)
Osd_DrawStr(menuItem->XPos, menuItem->YPos-1, menuItem->DisplayText());
else
#endif
725 2 Osd_DrawStr(menuItem->XPos, menuItem->YPos, menuItem->DisplayText());
726 2 }
727 1 else // full text
728 1 {
729 2 BYTE i;
730 2 BYTE xPos;
731 2
C51 COMPILER V8.18 MENU 09/29/2009 23:58:03 PAGE 13
732 2 #define len itemIndex
733 2 len=strlen(menuItem->DisplayText());
734 2 if (menuItem->DrawItemMethod==DWI_FullText)
735 2 xPos=menuItem->XPos;
736 2 else if (menuItem->DrawItemMethod==DWI_FullCenterText || menuItem->DrawItemMethod==DWI_CenterText)
737 2 xPos=(OsdWindowWidth-len)/2; // get center position
738 2
739 2 Osd_DrawStr(xPos, menuItem->YPos, menuItem->DisplayText());
740 2 if (menuItem->DrawItemMethod!=DWI_CenterText) // full text
741 2 {
742 3 for (i=0; i<xPos; i++)
743 3 Osd_DrawChar(i, menuItem->YPos, ' '); // fill space
744 3 for (i=xPos+len; i<OsdWindowWidth; i++)
745 3 Osd_DrawChar(i, menuItem->YPos, ' ');
746 3 }
747 2 #undef len
748 2 }
749 1 }
750
751 //=========================================================================
752 // draw menu item display value
753 void DrawOsdMenuItemValue(BYTE itemIndex, DrawValueType *valueItem)
754 {
755 1 while(1)
756 1 {
757 2 if (valueItem->DrawNumber)
758 2 DrawOsdMenuItemNumber(itemIndex, valueItem->DrawNumber);
759 2 if (valueItem->DrawGuage)
760 2 DrawOsdMenuItemGuage(itemIndex, valueItem->DrawGuage);
761 2 if (valueItem->DrawRadioGroup)
762 2 DrawOsdMenuItemRadioGroup(itemIndex, valueItem->DrawRadioGroup);
763 2 if(valueItem->Flags&dwiEnd)
764 2 break;
765 2 valueItem++;
766 2 }
767 1 }
768
769 //=========================================================================
770 // draw number
771 void DrawOsdMenuItemNumber(BYTE itemIndex, DrawNumberType *numberItem)
772 {
773 1 if (itemIndex==g_ucMenuItemIndex)//Vick Add
774 1 Osd_SetTextColor(numberItem->SelForeColor,numberItem->SelBackColor);
775 1 else
776 1 Osd_SetTextColor(numberItem->ForeColor,numberItem->BackColor);
777 1
778 1 #define xPos itemIndex
779 1 xPos=numberItem->XPos;
780 1 if (xPos==0xFF)
781 1 {
782 2 xPos=(OsdWindowWidth-4)/2-1;
783 2 }
784 1 if (numberItem->Flags&dwiHex)
785 1 Osd_DrawHex(xPos, numberItem->YPos, numberItem->GetValue());
786 1 else
787 1 Osd_DrawNum(xPos, numberItem->YPos, numberItem->GetValue());
788 1 #undef xPos
789 1 }
790
791
792 //=========================================================================
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -