📄 osddraw.lst
字号:
453 1 }
454
455 //Ruby add 2004-06-08
456 //extern uCHAR idata m_cScaleratio;
457 void OSDShowRatio(void)
458 {
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 9
459 1 uCHAR i;
460 1 for(i=0;i<10;i++)
461 1 {
462 2 OSDCleanLine(0,i,0,30);
463 2 OSDSetLineAttribute(i,0x80);
464 2 }
465 1 OSDPosition(RIGHT_TOP);
466 1 switch(m_cScaleratio)
467 1 {
468 2 case ScaleFULL:
469 2 OSDShowLine(iScaleFULL_E,16,1,COL_GAUGE,OSD_LENGTH);
470 2 break;
471 2 case Scale16_9:
472 2 OSDShowLine(iScale16_9_E,16,1,COL_GAUGE,OSD_LENGTH);
473 2 break;
474 2 #if (ZOOM_MODES >=2)
475 2 case ZOOM_1:
476 2 OSDShowLine(iZoom_1_E,16,1,COL_GAUGE,OSD_LENGTH);
477 2 break;
478 2 #endif
479 2 #if (ZOOM_MODES >=3) //Bruce, 2006/01/10
480 2 case ZOOM_2:
481 2 OSDShowLine(iZoom_2_E,16,1,COL_GAUGE,OSD_LENGTH);
482 2 break;
483 2 #endif
484 2 #if (ZOOM_MODES >=4)
485 2
486 2 case Scale4_3:
487 2 OSDShowLine(iScale4_3_E,16,1,COL_GAUGE,OSD_LENGTH);
488 2 break;
489 2 #endif
490 2 #if (ZOOM_MODES >=5)
case ZOOM_3:
OSDShowLine(iZoom_3_E,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
495 2 #if (ZOOM_MODES >=6)
case ZOOM_4:
OSDShowLine(iZoom_4_E,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
500 2 #if (ZOOM_MODES >=7)
case ZOOM_5:
OSDShowLine(iZoom_5_E,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
505 2 #if (ZOOM_MODES >=8)
case ZOOM_6:
OSDShowLine(iZoom_6_E,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
510 2 #if (ZOOM_MODES >=9)
case ZOOM_7:
OSDShowLine(iZoom_1_E,16,1,COL_GAUGE,OSD_LENGTH);
break;
#endif
515 2 /*#ifdef T515
516 2 case Scale1_1:
517 2 OSDShowLine(iScale1_1_E,16,1,COL_GAUGE,OSD_LENGTH);
518 2 break;
519 2 #endif*/
520 2 }
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 10
521 1 OSDEnable();
522 1 }
523
524
525 void OSDShowSource(void)
526 {
527 1 OSDDisable();
528 1 if(m_bOSD2Showed){
529 2 m_bOSD2Showed = 0;
530 2 OSD2Disable();
531 2 OSD2ClearMenu(1);
532 2 OSD1ClearMenu(BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT);
533 2 }else{
534 2 OSDClearPage();
535 2 }
536 1 OSDPosition(RIGHT_TOP);
537 1 OSDShowLine(uiaSrcMux1[EepPublic.cSource].SrcStr,16,1,COL_GAUGE,OSD_LENGTH);
538 1
539 1 #ifdef TV
if (uiaSrcMux1[EepPublic.cSource].VideoType==itypeTV)
OSDDrawNum(EepTV.cChannelNum, 0, 16, 2, COL_TITLE, LBLUE_RED|0x03);
#endif
543 1
544 1 OSDEnable();
545 1 }
546
547 //extern uCHAR idata m_cStandard;
548 void OSDShowNTSC_PAL(void)
549 {
550 1 uCHAR i;
551 1
552 1 // add by kenny on 941115
553 1 OSDDisable();
554 1 for(i=0;i<10;i++)
555 1 {
556 2 OSDCleanLine(0,i,0,30);
557 2 OSDSetLineAttribute(i,0x80);
558 2 }
559 1 OSDPosition(RIGHT_TOP);
560 1 //=======================
561 1 if(m_cChroma==S_NTSC) OSDShowLine(iNTSC_E ,16,1,COL_GAUGE,OSD_LENGTH);
562 1 else if(m_cChroma==S_PAL) OSDShowLine(iPAL_E ,16,1,COL_GAUGE,OSD_LENGTH);
563 1 else if(m_cChroma==S_SECAM) OSDShowLine(iSECAM_E ,16,1,COL_GAUGE,OSD_LENGTH);
564 1 else if(m_cChroma==S_NTSC_4) OSDShowLine(iNTSC_4_E,16,1,COL_GAUGE,OSD_LENGTH);
565 1 else if(m_cChroma==S_PAL_M) OSDShowLine(iPAL_M_E ,16,1,COL_GAUGE,OSD_LENGTH);
566 1 else if(m_cChroma==S_PAL_CN) OSDShowLine(iPAL_CN_E,16,1,COL_GAUGE,OSD_LENGTH);
567 1
568 1 OSDEnable();
569 1 }
570
571 void OSDClearCursor()
572 {
573 1 //uCHAR str_index=ALL_MENU[m_cOSDMenu]->Item_Num*EepPublic.cOSDLang;
574 1 uCHAR str_index;
575 1 OSDReadData(idPUBMENU);
576 1 str_index=ALL_MENU[m_cOSDMenu]->Item_Num*EepPublic.cOSDLang;
577 1 OSDShowLine(ALL_MENU[m_cOSDMenu]->str[m_cItem+str_index],TXT_STAT,m_cItem,COL_NORMAL,OSD_LENGTH);
578 1
579 1 return;
580 1 }
581
582 void OSDMoveCursor(void)
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 11
583 {
584 1 //uCHAR str_index=ALL_MENU[m_cOSDMenu]->Item_Num*EepPublic.cOSDLang;
585 1 uCHAR str_index;
586 1 uCHAR Max=ALL_MENU[m_cOSDMenu]->Par[m_cItem].ucValMAX;
587 1 uCHAR Val=ALL_MENU[m_cOSDMenu]->EEProm[m_cItem];
588 1
589 1 OSDReadData(idPUBMENU);
590 1 str_index=ALL_MENU[m_cOSDMenu]->Item_Num*EepPublic.cOSDLang;
591 1 OSDCleanLine(0,ALL_MENU[m_cOSDMenu]->Item_Num+2,COL_NORMAL,30);
592 1
593 1 OSDShowLine(ALL_MENU[m_cOSDMenu]->str[m_cItem+str_index],TXT_STAT,m_cItem,BLUE_PURPLE,OSD_LENGTH);
594 1 if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD_GUAGE)
595 1 OSDDrawGauge(Val,Max,0,ALL_MENU[m_cOSDMenu]->Item_Num+2, COL_GAUGE);
596 1
597 1 if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD_VALUE)
598 1 OSDDrawNum(Val,Max,NUM_STAT,ALL_MENU[m_cOSDMenu]->Item_Num+2,COL_NORMAL,DRAW_BLANK); // kenny 20070130
599 1
600 1 //thomas
601 1 if((ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD_SH_LAN)){
602 2 // OSDTransfer(EepPublic.cOSDLang);
603 2 OSDSetLineAttribute(ALL_MENU[m_cOSDMenu]->Item_Num+2,0x80);
604 2 OSDShowLine(iTransfer_ALL,(OSD_LENGTH-16),ALL_MENU[m_cOSDMenu]->Item_Num+2,BLUE_PURPLE,OSD_LENGTH);
605 2 }
606 1
607 1 return;
608 1 }
609
610
611 void OSDPosition(uCHAR cPos)
612 {
613 1 if(cPos==RIGHT_TOP){
614 2 OSDCfgWr(CHAR_DLY_0,Y0RightTop); //V[10:8] bit 6-4; H[10:8] bit2-0 23 12
615 2 OSDCfgWr(CHAR_DLY_1,Y1RightTop); //H[7:0] 80 80
616 2 OSDCfgWr(CHAR_DLY_2,Y2RightTop); //v[7:0] 64 30
617 2 }
618 1 if(cPos==CENTER){
619 2 OSDCfgWr(CHAR_DLY_0,Y0Center); //V[10:8] bit 6-4; H[10:8] bit2-0
620 2 OSDCfgWr(CHAR_DLY_1,Y1Center); //H[7:0]
621 2 OSDCfgWr(CHAR_DLY_2,Y2Center); //v[7:0]
622 2 }
623 1 else if(cPos==LEFT_BOTTOM){//not define yet!
624 2 OSDCfgWr(CHAR_DLY_0,Y0LeftBottom); //V[10:8] bit 6-4; H[10:8] bit2-0
625 2 OSDCfgWr(CHAR_DLY_1,Y1LeftBottom); //H[7:0]
626 2 OSDCfgWr(CHAR_DLY_2,Y2LeftBottom); //v[7:0] //00
627 2 }
628 1 }
629
630 #ifdef TV
void OSDTVShowChannel(uCHAR cChannel){
OSDClearPage();
OSDPosition(RIGHT_TOP);
OSDDrawNum(cChannel, 0, 19, 2, COL_TITLE, LBLUE_RED|0x03);
OSDEnable();
}
#endif
640
641 #ifdef VBI_CC
// kenny 20060403
void OSDShowCCData(uCHAR wVal, uCHAR x, uCHAR y, uCHAR tAttr)
{
C51 COMPILER V8.08 OSDDRAW 11/08/2007 00:32:37 PAGE 12
//Init Part
uCHAR iptCC[2];
uCHAR cColor;
uCHAR i;
if ( (x == 0 && y ==1 ) )
{
//=========================
for(i=0;i<OSD_LINE_NUM;i++)
{
OSDCleanLine(0,i,0,30);
OSDSetLineAttribute(i,0x80);
}
OSDCfgWr(CHAR_DLY_2,216); //v[7:0] //00
}
iptCC[0] = wVal;
iptCC[1] = EOL;
OSDCfgWr(CHAR_DLY_0,0x01); //V[10:8] bit 6-4; H[10:8] bit2-0
OSDCfgWr(CHAR_DLY_1,0x00); //H[7:0]
// OSDCfgWr(CHAR_DLY_2,0x00); //v[7:0] //00
if ( tAttr == 1 || tAttr == 2 )
cColor = 0x2f;
else if ( tAttr == 3 || tAttr == 4 )
cColor = 0x25;
else if ( tAttr == 5 || tAttr == 6 )
cColor = 0x24;
else if ( tAttr == 7 || tAttr == 8 )
cColor = 0x23;
else if ( tAttr == 9 || tAttr == 10 )
cColor = 0x26;
else if ( tAttr == 11 || tAttr == 12 )
cColor = 0x2c;
else if ( tAttr == 13 || tAttr == 14 )
cColor = 0x2a;
else
cColor = 0x2f;
if ( iptCC[0] == 0x19 )
cColor &= 0x0f;
OSDShowLine(iptCC,x,y,cColor,OSD_LENGTH);
}
#endif
691
692 #if 1 //#ifdef T108
693 uCHAR OsdSelectItem;
694 void ShowDemoPage(void)
695 {
696 1 switch(OsdSelectItem){
697 2 case 0:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -