📄 osdmenufunc003.c
字号:
ucColor1 = StateColor(_ST_SELECT);
}
else
{
ucColor1 = ucColor;
}
SubMenuTextOut(sTimer[GET_LANGUAGE()],y,ucColor1,State);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003)
SubMenuTextOut(sTimer[GET_LANGUAGE()],y,ucColor,State);
#endif
OSDLine(y, _MSG_COL, LENGTH(10), ucColor, BYTE_COLOR);
if (stOsdUserData.OsdTimeout < 5)
{
stOsdUserData.OsdTimeout = 0;
SUBMENU_RIGHT_TEXTOUT(sOff[GET_LANGUAGE()], y);
}
else
{
CShowNumber(_MSG_COL, y, GET_OSDTIMEOUT());
}
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawDouble(BYTE State)
{
BYTE y;
BYTE ucColor;
BYTE *pStr;
// get display line
y = GetShowIndex(_MI_DOUBLE,BEGIN(_MI_LANGUAGE),END(_MI_TRANSPARENT));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sDouble[GET_LANGUAGE()],y,ucColor,State);
if(GET_OSD_SIZE())
pStr = sOn[GET_LANGUAGE()];
else pStr = sOff[GET_LANGUAGE()];
SUBMENU_RIGHT_TEXTOUT(pStr, y);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawTransparent(BYTE State)
{
BYTE y;
BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
BYTE ucColor1;
#endif
// get display line
y = GetShowIndex(_MI_TRANSPARENT,BEGIN(_MI_LANGUAGE),END(_MI_TRANSPARENT));
if(y == _NOT_SHOW)
{
return;
}
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
if(State == _ST_ADJUST)
{
ucColor1 = StateColor(_ST_SELECT);
}
else
{
ucColor1 = ucColor;
}
SubMenuTextOut(sTransparent[GET_LANGUAGE()],y,ucColor1,State);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003)
SubMenuTextOut(sTransparent[GET_LANGUAGE()],y,ucColor,State);
#endif
OSDLine(y, _MSG_COL, LENGTH(10), ucColor, BYTE_COLOR);
if (0 == GET_OSDBLENDING())
SUBMENU_RIGHT_TEXTOUT(sOff[GET_LANGUAGE()], y);
else
CShowNumber(_MSG_COL, y, GET_OSDBLENDING());
}
//---------------------------------------------------------------------------
// ucItem : MainMenu\OSD\_MI_LANGUAGE,_MI_OSD_HPOSITION,_MI_OSD_VPOSITION,_MI_TIMER,_MI_DOUBLE,_MI_TRANSPARENT,
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawOsdPageMenuItem(BYTE ucItem,BYTE ucState)
{
if(!g_tMenuItem[ucItem].Enable())
{
ucState = _ST_DISABLE;
}
switch(ucItem)
{
case _MI_LANGUAGE: DrawLanguage(ucState); break;
case _MI_OSD_HPOSITION: DrawOSDHPosition(ucState); break;
case _MI_OSD_VPOSITION: DrawOSDVPosition(ucState); break;
case _MI_TIMER: DrawOSDTimer(ucState); break;
case _MI_DOUBLE: DrawDouble(ucState); break;
case _MI_TRANSPARENT: DrawTransparent(ucState); break;
}
}
//---------------------------------------------------------------------------
// MainMenu\OSD\_MI_LANGUAGE,_MI_OSD_HPOSITION,_MI_OSD_VPOSITION,_MI_TIMER,_MI_DOUBLE,_MI_TRANSPARENT,
void DrawOSDPage(void)
{
BYTE i;
BYTE ucState;
for(i=_MI_LANGUAGE;i<=_MI_TRANSPARENT;i++)
{
if(i == ucOsdState)
{
ucState = _ST_SELECT;
}
else
{
ucState = _ST_NORMAL;
}
DrawOsdPageMenuItem(i, ucState);
}
DrawPageNullLine(_MI_LANGUAGE,_MI_TRANSPARENT);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawChannel(BYTE State)
{
BYTE y;
BYTE ucColor;
// get display line
y = GetShowIndex(_MI_CHANNEL,BEGIN(_MI_CHANNEL),END(_MI_SKIP));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sChannel[GET_LANGUAGE()],y,ucColor,State);
CShowNumber(_MSG_COL, y, stTvInfo.CurChn);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawSystem(BYTE State)
{
#if(_VIDEO_TV_SUPPORT)
BYTE y;
BYTE ucColor;
BYTE *pStr;
// get display line
y = GetShowIndex(_MI_SYSTEM,BEGIN(_MI_CHANNEL),END(_MI_SKIP));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sSystem[GET_LANGUAGE()],y,ucColor,State);
switch(ucTVType)
{
case _TV_NTSC_M: pStr = sNTSC_M; break;
case _TV_NTSC_4_BG: pStr = sNTSC_4_BG; break;
case _TV_NTSC_4_DK: pStr = sNTSC_4_DK; break;
case _TV_NTSC_4_I: pStr = sNTSC_4_I; break;
case _TV_PAL_M: pStr = sPAL_M; break;
case _TV_PAL_BG: pStr = sPAL_BG; break;
case _TV_PAL_I: pStr = sPAL_I; break;
case _TV_PAL_DK: pStr = sPAL_DK; break;
case _TV_PAL_N: pStr = sPAL_N; break;
case _TV_SECAM_BG: pStr = sSECAM_BG; break;
case _TV_SECAM_DK: pStr = sSECAM_DK; break;
case _TV_SECAM_L: pStr = sSECAM_L; break;
case _TV_SECAM_LL: pStr = sSECAM_LL; break;
}
SUBMENU_RIGHT_TEXTOUT(pStr, y);
#else
State = State;
#endif
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawAutoSearch(BYTE State)
{
BYTE y;
BYTE ucColor;
// get display line
y = GetShowIndex(_MI_AUTOSEARCH,BEGIN(_MI_CHANNEL),END(_MI_SKIP));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sAutoSearch[GET_LANGUAGE()],y,ucColor,State);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawManualSearch(BYTE State)
{
BYTE y;
BYTE ucColor;
// get display line
y = GetShowIndex(_MI_MANUALSEARCH,BEGIN(_MI_CHANNEL),END(_MI_SKIP));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sManualSearch[GET_LANGUAGE()],y,ucColor,State);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawTuning(BYTE State)
{
#if(_VIDEO_TV_SUPPORT)
BYTE y;
BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
BYTE ucColor1;
#endif
// get display line
y = GetShowIndex(_MI_TUNING,BEGIN(_MI_CHANNEL),END(_MI_SKIP));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
if(State == _ST_ADJUST)
{
ucColor1 = StateColor(_ST_SELECT);
}
else
{
ucColor1 = ucColor;
}
SubMenuTextOut(sTuning[GET_LANGUAGE()],y,ucColor1,State);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003)
SubMenuTextOut(sTuning[GET_LANGUAGE()],y,ucColor,State);
#endif
OSDLine(y, _MSG_COL, LENGTH(10), ucColor, BYTE_COLOR);
CShowFreq(CLoadChannelFreq(stTvInfo.CurChn), _MSG_COL, y);
#else
State = State;
#endif
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawSkip(BYTE State)
{
#if(_VIDEO_TV_SUPPORT)
BYTE y;
BYTE ucColor;
BYTE *pStr;
bit fSkip;
// get display line
y = GetShowIndex(_MI_SKIP,BEGIN(_MI_CHANNEL),END(_MI_SKIP));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sSkip[GET_LANGUAGE()],y,ucColor,State);
fSkip = CLoadChannelSkip(stTvInfo.CurChn);
if(fSkip)
pStr = sOn[GET_LANGUAGE()];
else
pStr = sOff[GET_LANGUAGE()];
SUBMENU_RIGHT_TEXTOUT(pStr, y);
#else
State = State;
#endif
}
//---------------------------------------------------------------------------
// ucItem : MainMenu\TV\_MI_CHANNEL,_MI_SYSTEM,_MI_AUTOSEARCH,_MI_MANUALSEARCH,_MI_TUNING,_MI_SKIP,
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawTVPageMenuItem(BYTE ucItem,BYTE ucState)
{
if(!g_tMenuItem[ucItem].Enable())
{
ucState = _ST_DISABLE;
}
switch(ucItem)
{
case _MI_CHANNEL: DrawChannel(ucState); break;
case _MI_SYSTEM: DrawSystem(ucState); break;
case _MI_AUTOSEARCH: DrawAutoSearch(ucState); break;
case _MI_MANUALSEARCH: DrawManualSearch(ucState); break;
case _MI_TUNING: DrawTuning(ucState); break;
case _MI_SKIP: DrawSkip(ucState); break;
}
}
//---------------------------------------------------------------------------
// MainMenu\TV\_MI_CHANNEL,_MI_SYSTEM,_MI_AUTOSEARCH,_MI_MANUALSEARCH,_MI_TUNING,_MI_SKIP,
void DrawTVPage(void)
{
BYTE i;
BYTE ucState;
for(i=_MI_CHANNEL;i<=_MI_SKIP;i++)
{
if(i == ucOsdState)
{
ucState = _ST_SELECT;
}
else
{
ucState = _ST_NORMAL;
}
DrawTVPageMenuItem(i, ucState);
}
DrawPageNullLine(_MI_CHANNEL,_MI_SKIP);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawReset(BYTE State)
{
BYTE y;
BYTE ucColor;
// get display line
y = GetShowIndex(_MI_RESET,BEGIN(_MI_RESET),END(_MI_SHARPNESS));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sReset[GET_LANGUAGE()],y,ucColor,State);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawDisplayRatio(BYTE State)
{
BYTE y;
BYTE ucColor;
BYTE *pStr;
// get display line
y = GetShowIndex(_MI_DISPLAYRATIO,BEGIN(_MI_RESET),END(_MI_SHARPNESS));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sDisplayRatio[GET_LANGUAGE()],y,ucColor,State);
if(GET_DISPLAYMODE() == _DISPMODE_FULL)
{
pStr = s16_9;
}
else if(GET_DISPLAYMODE() == _DISPMODE_43)
{
pStr = s4_3;
}
else
{
pStr = sAuto;
}
SUBMENU_RIGHT_TEXTOUT(pStr, y);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawAutoPowerDown(BYTE State)
{
BYTE y;
BYTE ucColor;
BYTE *pStr;
// get display line
y = GetShowIndex(_MI_AUTOPOWERDOWN,BEGIN(_MI_RESET),END(_MI_SHARPNESS));
if(y == _NOT_SHOW)
return;
// get display color
ucColor = StateColor(State);
y = SHOWINDEX_TO_LINE(y);
SubMenuTextOut(sAutoPowerDown[GET_LANGUAGE()],y,ucColor,State);
switch(_GET_POWER_DOWN_TIME())
{
case 0x00: pStr = sOff[GET_LANGUAGE()]; break;
case 0x01: pStr = s15Min[GET_LANGUAGE()]; break;
case 0x02: pStr = s30Min[GET_LANGUAGE()]; break;
case 0x03: pStr = s45Min[GET_LANGUAGE()]; break;
case 0x04: pStr = s60Min[GET_LANGUAGE()]; break;
case 0x05: pStr = s75Min[GET_LANGUAGE()]; break;
case 0x06: pStr = s90Min[GET_LANGUAGE()]; break;
case 0x07: pStr = s105Min[GET_LANGUAGE()]; break;
case 0x08: pStr = s120Min[GET_LANGUAGE()]; break;
}
SUBMENU_RIGHT_TEXTOUT(pStr, y);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE
void DrawBlueScreen(BYTE State)
{
BYTE y;
BYTE ucColor;
BYTE *pStr;
// get display line
y = GetShowIndex(_MI_BLUESCREEN,BEGIN(_MI_RESET),END(_MI_SHARPNESS));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -