⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vosd.c

📁 LCDTV的source code,含周邊ic的driver code ,scaler ,
💻 C
📖 第 1 页 / 共 3 页
字号:
/*******************************************************************************
  VOSD.C
  Copyright (c) SmartASIC, Inc. All rights reserved.
*******************************************************************************/
#include <MTV230.H>
#include <DEFINE.H>
#include <FONT.H>
/*==============================================================================

==============================================================================*/
void Video_OSD(void) {

  unsigned char **StrPtr;
  unsigned char i, j, length, pos0, pos1, pos2;

  switch(bkey_code_now) {

    //&&&&&&&&&&&&&&&&&&&&&&&&&&&& MENU &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    case(KEY_MENU):
      switch(Page) {
        case(0)://(OSD OFF) to (Main Page)
        case(100)://(Info Display) to (Main Page)
          OSD_Show(0,0,0,0,0);
          Page=1;
          Item=0;
          Video_Page1();
          Video_Page1_Sel();
          OSD_Show(1,0,0,0,0);
        break;        
        case(1)://(Main Page) to (Main Page-->?Item)
          switch(Item) {
            case(0)://(Main Page) to (Main Page -> Video)
              OSD_Show(0,0,0,0,0);
              Page=2;
              Item=0;
              Video_Page2();
              Video_Page2_Sel();
              OSD_Show(1,0,0,0,0);
            break;
            case(1)://(Main Page) to (Main Page -> Audio)
              OSD_Show(0,0,0,0,0);
              Page=3;
              Item=0;
              Video_Page3();
              Video_Page3_Sel();
              OSD_Show(1,0,0,0,0);
            break;
            case(2)://(Main Page) to (Main Page -> TV)
              OSD_Show(0,0,0,0,0);
              Page=4;
              Item=0;
              Video_Page4();
              Video_Page4_Sel();
              OSD_Show(1,0,0,0,0);
            break;
            case(3)://(Main Page) to (Main Page -> Sleep) / (Main Page -> Sleep -> Adj) to (Main Page -> Sleep)
              if(!badjust) {
                OSD_Show(0,0,0,0,0);
                badjust=1;
                Adjustment_Win();
                OSD_Show(1,0,0,0,0);
                }
              else {
                OSD_Show(0,0,0,0,0);
                badjust=0;
                Video_Page1();
                Video_Page1_Sel();
                OSD_Show(1,0,0,0,0);
                }
            break;
            case(4)://to (OSD OFF)
              OSD_Show(0,0,0,0,0);
              Page=Item=0;
              if(OSD_Disp==1) {
                Display_Window();
                if(Source==TV)
                  Display_MTS_Type(MTS_Mode);
                OSD_Show(1,0,0,0,0);
                }
            break;
            }
        break;
        case(2)://(Main Page -> Video)
          switch(Item) {//Case 0-8 Enter/Escape Adjustment Window
            case(0):
            case(1):
            case(2):
            case(3):
            case(4):
            case(5):
            case(6):
            case(7):
              if(!badjust) {
                OSD_Show(0,0,0,0,0);
                badjust=1;
                Adjustment_Win();
                OSD_Show(1,0,0,0,0);
                }
              else {
                OSD_Show(0,0,0,0,0);
                badjust=0;
                Video_Page2();
                Video_Page2_Sel();
                OSD_Show(1,0,0,0,0);
                }
            break;
            case(8)://(Main Page -> Video) to (Main Page)
              OSD_Show(0,0,0,0,0);
              Page=1;
              Item=0;
              Video_Page1();
              Video_Page1_Sel();
              OSD_Show(1,0,0,0,0);
            break;
            }
        break;
        case(3)://(Main Page -> Audio)
          switch(Item) {//Case 0-4 Enter/Escape Adjustment Window
            case(0):
            case(1):
            case(2):
            case(3):
            case(4):
              if(!badjust) {
                OSD_Show(0,0,0,0,0);
                badjust=1;
                Adjustment_Win();
                OSD_Show(1,0,0,0,0);
                }
              else {
                OSD_Show(0,0,0,0,0);
                badjust=0;
                Video_Page3();
                Video_Page3_Sel();
                OSD_Show(1,0,0,0,0);
                }
            break;
            case(5)://(Main Page -> Audio) to (Main Page)
              OSD_Show(0,0,0,0,0);
              Page=1;
              Item=1;
              Video_Page1();
              Video_Page1_Sel();
              OSD_Show(1,0,0,0,0);
            break;
            }
        break;
        case(4)://(Main Page -> TV)
          switch(Item) {//Case 0-5 Enter/Escape Adjustment Window
            case(0):
            case(1):
            case(2):
            case(3):
            case(4):
              if(!badjust) {
                OSD_Show(0,0,0,0,0);
                badjust=1;
                Adjustment_Win();
                OSD_Show(1,0,0,0,0);
                if(Item==2) {//Auto Program Executing
                  Blank_TV_Screen();
                  Auto_Scan();
                  Set_Background(NO, BLACK);
                  Set_Mute(Mute);
                  OSD_Show(0,0,0,0,0);
                  badjust=0;
                  Video_Page4();
                  Video_Page4_Sel();
                  OSD_Show(1,0,0,0,0);
                  }
                }
              else {
                OSD_Show(0,0,0,0,0);
                badjust=0;
                Video_Page4();
                Video_Page4_Sel();
                OSD_Show(1,0,0,0,0);
                }
            break;
            case(5)://(Main Page -> TV) to (Main Page -> TV -> CH LOCK SET)
              if(!badjust) {
                OSD_Show(0,0,0,0,0);
                Page=110;
                Item=badjust=bhotosd=0;
                Password_Dialog();
                OSD_Show(1,0,0,0,0);
                }
              else {
                OSD_Show(0,0,0,0,0);
                badjust=0;
                Video_Page4();
                Video_Page4_Sel();
                OSD_Show(1,0,0,0,0);
                }
            break;
            case(6)://(Main Page -> TV) to (Main Page)
              OSD_Show(0,0,0,0,0);
              Page=1;
              Item=2;
              Video_Page1();
              Video_Page1_Sel();
              OSD_Show(1,0,0,0,0);
            break;
            }
        break;
        case(101)://(Hot Volume Adjust) to (OSD OFF)
          OSD_Show(0,0,0,0,0);
          Page=Item=badjust=OSD_CountDown=0;
          if(OSD_Disp==1) {
            Display_Window();
            Display_MTS_Type(MTS_Mode);
            OSD_Show(1,0,0,0,0);
            }
        break; 
        case(200)://V-CHIP Block/Unblock
          VChip_Cursor_Set();
        break;
        }
    break;

    //&&&&&&&&&&&&&&&&&&&&&&&&&&&& CH+ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    case(KEY_CH_PLUS):
      if(badjust) {
        switch(Page) {
          case(200)://V-Chip row up
            VChip_Cursor(1);
          break;
          }
        }
      else {
        switch(Page) {
          case(0)://Hot Channel Up when (OSD OFF, Channel Display, Password Input)
          case(100):
          case(101):
          case(110):
            if(Source==TV) {
              Blank_TV_Screen();
              i=Channel;
              Pre_Channel=Channel;
              do{
                if(TV_Mode==TV_AIR)
                  i=(i+1)%CHANNEL_AIR_MAX;
                else
                  i=(i+1)%CHANNEL_MAX;
                j=EE_MCU_Byte_Read(ChannelTable_EEPROM_Address()+i/8);
                }while((i!=Channel)&&(Get_Bit(j, i%8)==0));
              Channel=i;
              Set_Channel(Channel);
              EE_MCU_Byte_Write(Channel_EEPROM_Address(), Channel);
              Channel_Display();
              bno_signal=1;   
              }
          break;
          case(1)://Move Item Up in (Main Page)
            Item=(Item+4)%5;
            if(Item==2)//Skip TV Page if not in TV Mode
              if(Source!=TV)
                Item=1;
            Video_Page1_Sel();          
          break;
          case(2)://Move Item Up in (Main Page -> Video)
            Item=(Item+8)%9;
            Video_Page2_Sel();          
          break;
          case(3)://Move Item Up in (Main Page -> Audio)
            Item=(Item+5)%6;
            Video_Page3_Sel();          
          break;
          case(4)://Move Item Up in (Main Page -> TV)
            Item=(Item+6)%7;
            Video_Page4_Sel();          
          break;          
          }
        }
    break;

    //&&&&&&&&&&&&&&&&&&&&&&&&&&&& CH- &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    case(KEY_CH_MINUS):
      if(badjust) {
        switch(Page) {
          case(200)://V-Chip row up
            VChip_Cursor(2);
          break;
          }
        }
      else {
        switch(Page) {
          case(0)://Hot Channel Down when (OSD OFF, Channel Display, Password Input)
          case(100):
          case(101):
          case(110):
            if(Source==TV) {
              Blank_TV_Screen();
              i=Channel;
              Pre_Channel=Channel;
              do{
                if(TV_Mode==TV_AIR)
                  i=(i+(CHANNEL_AIR_MAX-1))%CHANNEL_AIR_MAX;
                else
                  i=(i+(CHANNEL_MAX-1))%CHANNEL_MAX;
                j=EE_MCU_Byte_Read(ChannelTable_EEPROM_Address()+i/8);
                }while((i!=Channel)&&(Get_Bit(j, i%8)==0));
              Channel=i;
              Set_Channel(Channel);
              EE_MCU_Byte_Write(Channel_EEPROM_Address(), Channel);
              Channel_Display();
              bno_signal=1;
              }
          break;
          case(1)://Move Item Down in (Main Page)
            Item=(Item+1)%5;
            if(Item==2)//Skip TV Page if not TV Mode
              if(Source!=TV)
                Item=3;
            Video_Page1_Sel();          
          break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -