📄 vosd.c
字号:
/*******************************************************************************
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 + -