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