📄 osdtv900.c
字号:
ucOsdState = _MENU_OSD_HPOS;
DrawOSDPage();
break;
case _MENU_LANGUAGE:
ucOsdState = _MENU_LANGUAGE_ADJ;
DrawLanguagePage();
break;
case _MENU_MISC:
ucOsdState = _MENU_RESET;
DrawMiscPage();
break;
case _MENU_EXIT:
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
break;
}
}
//------------------------------------------------------------
void MTVMainLR(unsigned char LR)
{
DrawTVPen(0);
if(LR)
{
switch(ucOsdState)
{
case _MENU_COLOR: ucOsdState = _MENU_EXIT; break;
case _MENU_IMAGE_SETTING: ucOsdState = _MENU_COLOR; break;
case _MENU_TV: ucOsdState = _MENU_IMAGE_SETTING; break;
case _MENU_OSD_MENU: ucOsdState = _MENU_TV; break;
case _MENU_LANGUAGE: ucOsdState = _MENU_OSD_MENU; break;
case _MENU_MISC: ucOsdState = _MENU_LANGUAGE; break;
case _MENU_EXIT: ucOsdState = _MENU_MISC; break;
}
}
else
{
switch(ucOsdState)
{
case _MENU_COLOR: ucOsdState = _MENU_IMAGE_SETTING; break;
case _MENU_IMAGE_SETTING: ucOsdState = _MENU_TV; break;
case _MENU_TV: ucOsdState = _MENU_OSD_MENU; break;
case _MENU_OSD_MENU: ucOsdState = _MENU_LANGUAGE; break;
case _MENU_LANGUAGE: ucOsdState = _MENU_MISC; break;
case _MENU_MISC: ucOsdState = _MENU_EXIT; break;
case _MENU_EXIT: ucOsdState = _MENU_COLOR; break;
}
}
DrawTVPen(1);
}
//------------------------------------------------------------
void MTVMainMenuOut()
{
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
}
//------------------------------------------------------------
//------------------------------------------------------------
void MTVSubMenuProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MTVSubMenuOut(); break;
case VK_MENU_IN: MTVSubMenuIn(); break;
case VK_PREV_MENU: MTVSubMenuLR(0); break;
case VK_NEXT_MENU: MTVSubMenuLR(1); break;
case VK_ADJ_DEC: break;
case VK_ADJ_INC: break;
case VK_DO: break;
case VK_ENTER: MTVSubMenuIn(); break;
case VK_LEFT: MTVSubMenuLR(0); break;
case VK_RIGHT: MTVSubMenuLR(1); break;
}
}
//------------------------------------------------------------
void MTVSubMenuIn()
{
switch(ucOsdState)
{
case _MENU_CHANNEL:
ucOsdState = _MENU_CHANNEL_ADJ;
DrawChannel();
break;
case _MENU_SYSTEM:
ucOsdState = _MENU_SYSTEM_ADJ;
DrawTVSystem();
break;
case _MENU_TUNING:
ucOsdState = _MENU_TUNING_ADJ;
DrawTuning();
break;
case _MENU_SWAP:
ucOsdState = _MENU_SWAP_ADJ;
DrawSwap();
break;
case _MENU_AUTO_SEARCH:
// Do Auto Search
CModeSetFreeRun();
CAdjustBackgroundColor(0x00, 0x00, 0xff);
stVDCColor.CurrentChannel = 0;
CTvAutoSearch();
CLEAR_OSD_ADJUST();
ucCurrState = _SEARCH1_STATE;
ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
break;
case _MENU_MANUAL_SEARCH:
ucOsdState = _MENU_MANUAL_SEARCH_ADJ;
DrawManualSearch();
break;
case _MENU_TV_BACK:
ucOsdState = _MENU_TV;
CLEAR_OSD_CLIENT();
DrawMainPage();
break;
}
}
//------------------------------------------------------------
void MTVSubMenuLR(unsigned char LR)
{
// Step 1: Clear Old Select
DrawPen(0,(ucOsdState - _MENU_CHANNEL) * 2 + 5);
// Step 2: Change Select Item
ucOsdState = ValueInRangeChange(_MENU_CHANNEL,_MENU_TV_BACK,ucOsdState,LR,1);
// Step 3: Draw
DrawPen(1,(ucOsdState - _MENU_CHANNEL) * 2 + 5);
}
//------------------------------------------------------------
void MTVSubMenuOut()
{
ucOsdState = _MENU_TV;
CLEAR_OSD_CLIENT();
DrawMainPage();
}
//------------------------------------------------------------
//---------------------------------------------------------------------------
void MChannelProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MChannelMenuOut(); break;
case VK_MENU_IN: break;
case VK_PREV_MENU: break;
case VK_NEXT_MENU: break;
case VK_ADJ_DEC: MChannelLR(0); break;
case VK_ADJ_INC: MChannelLR(1); break;
case VK_DO: break;
case VK_ENTER: MTVSubMenuOut(); break;
case VK_LEFT: MChannelLR(0); break;
case VK_RIGHT: MChannelLR(1); break;
}
}
//------------------------------------------------------------
void MChannelLR(unsigned char LR)
{
stVDCColor.CurrentChannel = ValueInRangeChange(0,CLoadMaxChannelNumber(),stVDCColor.CurrentChannel,LR,1);
CSetTVChannel(stVDCColor.CurrentChannel);
DrawChannel();
// Save current channel
ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
//CEepromSaveVedioColor();
}
//------------------------------------------------------------
void MChannelMenuOut()
{
ucOsdState = _MENU_CHANNEL;
CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------
//---------------------------------------------------------------------------
void MSystemProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MSystemMenuOut(); break;
case VK_MENU_IN: break;
case VK_PREV_MENU: break;
case VK_NEXT_MENU: break;
case VK_ADJ_DEC: MSystemLR(0); break;
case VK_ADJ_INC: MSystemLR(1); break;
case VK_DO: break;
case VK_ENTER: MSystemMenuOut(); break;
case VK_LEFT: MSystemLR(0); break;
case VK_RIGHT: MSystemLR(1); break;
}
}
//------------------------------------------------------------
void MSystemLR(unsigned char LR)
{
ucTVType = ValueInRangeChange(0, 3, ucTVType, LR, 1);
// Save adjust result
CSaveChannelColorType(stVDCColor.CurrentChannel, ucTVType);
CWrite9886(ucTVType); // set 9886
CLEAR_OSD_ADJUST();
DrawTVSystem();
}
//------------------------------------------------------------
void MSystemMenuOut()
{
ucOsdState = _MENU_SYSTEM;
CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------
//---------------------------------------------------------------------------
void MTuningProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MTuningMenuOut(); break;
case VK_MENU_IN: break;
case VK_PREV_MENU: break;
case VK_NEXT_MENU: break;
case VK_ADJ_DEC: MTuningLR(0); break;
case VK_ADJ_INC: MTuningLR(1); break;
case VK_DO: break;
case VK_ENTER: MTuningMenuOut(); break;
case VK_LEFT: MTuningLR(0); break;
case VK_RIGHT: MTuningLR(1); break;
}
}
//------------------------------------------------------------
void MTuningLR(unsigned char LR)
{
// : Insert Adjust Code & Redraw
CTuningCurrentChannel((bit)LR,stVDCColor.CurrentChannel);
DrawTuning();
}
//------------------------------------------------------------
void MTuningMenuOut()
{
ucOsdState = _MENU_TUNING;
CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------
//---------------------------------------------------------------------------
void MSwapProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MSwapMenuOut(); break;
case VK_MENU_IN: break;
case VK_PREV_MENU: break;
case VK_NEXT_MENU: break;
case VK_ADJ_DEC: MSwapLR(0); break;
case VK_ADJ_INC: MSwapLR(1); break;
case VK_DO: break;
case VK_ENTER: MSwapMenuOut(); break;
case VK_LEFT: MSwapLR(0); break;
case VK_RIGHT: MSwapLR(1); break;
}
}
//------------------------------------------------------------
void MSwapLR(unsigned char LR)
{
stVDCColor.CurrentChannel = ValueInRangeChange(0,CLoadMaxChannelNumber(),stVDCColor.CurrentChannel,LR,1);
CSetTVChannel(stVDCColor.CurrentChannel);
DrawSwap();
}
//------------------------------------------------------------
void MSwapMenuOut()
{
WORD ucSwapFreq = CLoadChannelFreq(stVDCColor.CurrentChannel);
BYTE ucSwapColorSystem = CLoadChannelColorType(stVDCColor.CurrentChannel);
BYTE ucSwapSoundSystem = CLoadChannelSoundType(stVDCColor.CurrentChannel);
CSaveChannelFreq(CLoadChannelFreq(ucPrevChannel), stVDCColor.CurrentChannel);
CSaveChannelColorType(CLoadChannelColorType(ucPrevChannel), stVDCColor.CurrentChannel);
CSaveChannelSoundType(CLoadChannelSoundType(ucPrevChannel), stVDCColor.CurrentChannel);
CSaveChannelFreq(ucSwapFreq, ucPrevChannel);
CSaveChannelColorType(ucSwapColorSystem, ucPrevChannel);
CSaveChannelSoundType(ucSwapSoundSystem, ucPrevChannel);
CSetTVChannel(stVDCColor.CurrentChannel);
ucOsdState = _MENU_SWAP;
CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------
//------------------------------------------------------------
void MManualSearchProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MManualSearchMenuOut(); break;
case VK_MENU_IN: break;
case VK_PREV_MENU: break;
case VK_NEXT_MENU: break;
case VK_ADJ_DEC: MManualSearchLR(0); break;
case VK_ADJ_INC: MManualSearchLR(1); break;
case VK_DO: break;
case VK_ENTER: MManualSearchMenuOut(); break;
case VK_LEFT: MManualSearchLR(0); break;
case VK_RIGHT: MManualSearchLR(1); break;
}
}
//------------------------------------------------------------
void MManualSearchLR(unsigned char LR)
{
CManualSearch((bit)LR,stVDCColor.CurrentChannel);
CTimerDelayXms(200);
}
//------------------------------------------------------------
void MManualSearchMenuOut()
{
ucOsdState = _MENU_MANUAL_SEARCH;
CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------
#endif //#if(_VIDEO_TV_SUPPORT)
#endif //#if(OSD_TYPE == OSD900)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -