📄 osdpub003.c
字号:
pData[1] = (ucIndex % 10) + '0';
pData[2] = '/';
pData[3] = (ucMaxPage / 10) + '0';
pData[4] = (ucMaxPage % 10) + '0';
CScalerWrite(_OSD_DATA_PORT_92,5,pData,_NON_AUTOINC);
}
//----------------------------------------------------------------------------------------------------
void DrawBrightPage()
{
TITLE_OUT((unsigned char code *)sBright[GET_LANGUAGE]);
LOADICOFNT(FntIcnBright);
ICON_OUT();
SLIDER2(BRIGHTNESS_GUAGE);
}
//----------------------------------------------------------------------------------------------------
void DrawContrastPage()
{
TITLE_OUT((unsigned char code *)sContrast[GET_LANGUAGE]);
LOADICOFNT(FntIcnContrast);
ICON_OUT();
SLIDER2(CONTRAST_GUAGE);
}
//----------------------------------------------------------------------------------------------------
void DrawLanguagePage()
{
TITLE_OUT((unsigned char code *)sLanguage[GET_LANGUAGE]);
LOADICOFNT(FntIcnLang);
ICON_OUT();
SUBTITLE_OUT((unsigned char code *)sLangName[GET_LANGUAGE]);
}
//----------------------------------------------------------------------------------------------------
void DrawResetPage()
{
TITLE_OUT((unsigned char code *)sReset[GET_LANGUAGE]);
LOADICOFNT(FntIcnRecall);
DispIcon(12,4,0x60);
}
//----------------------------------------------------------------------------------------------------
void DrawVolumePage()
{
TITLE_OUT((unsigned char code *)sVolume[GET_LANGUAGE]);
CScalerLoadFont(FntIcnSpker,0x60,12,_COMPRESS_FONT);
if(GET_MUTE_STATE() == STATE_MUTEON) DispIcon(1,4,0x66);
else DispIcon(1,4,0x60);
SLIDER2(stOsdUserData.Volume);
}
//----------------------------------------------------------------------------------------------------
#if(_IR_ENABLE)
void DrawMuteState(const BYTE bMuteState)
{
COsdFxDisableOsd();
SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);
SetOSDDouble(OSD_DOUBLE_HEIGHT_ENABLE | OSD_DOUBLE_WIDTH_ENABLE);
SetRowCmds(ROW_COUNT,COL_WIDTH);
COsdFxCodeWrite(ucCloseAllWindow);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x8C, THE_BYTE0);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x00, THE_BYTE1);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x20, THE_BYTE2);
OSDPosition(30,30,38,1,0x01);
if(bMuteState == STATE_MUTEON)
DispIcon(1,4,0x66);
else
DispIcon(1,4,0x60);
COsdFxEnableOsd();
CTimerReactiveTimerEvent(SEC(stOsdUserData.OsdTimeout),COsdDispOsdTimerEvent);
}
#endif
//----------------------------------------------------------------------------------------------------
void DrawExitPage()
{
TITLE_OUT((unsigned char code *)sExit[GET_LANGUAGE]);
LOADICOFNT(FntIcnExit);
DispIcon(12,4,0x60);
}
//----------------------------------------------------------------------------------------------------
void ClearClientDisplay()
{
OSDLine(1, 3, 19, 0x00, BYTE_DISPLAY);
OSDClear(4,3,0,COL_WIDTH,0x00,BYTE_DISPLAY);
}
//----------------------------------------------------------------------------------------------------
//--------- BRIGHTNESS PROC ----------------------------------
void MBrightAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MBrightAdjMenu(); break;
case VK_LEFT: MBrightAdjLR(1); break;
case VK_RIGHT: MBrightAdjLR(0); break;
case VK_ENTER: MBrightAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MBrightAdjMenu()
{
ucOsdState = MENU_ITEM_BRIGHT;
SelectState();
SLIDER2(BRIGHTNESS_GUAGE);
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MBrightAdjLR(unsigned char LR)
{
unsigned int iBright = BRIGHTNESS_GUAGE;
SET_KEYREPEATENABLE();
iBright = ValueInRangeChange(0,100,iBright,LR,0);
iBright = iBright * 255;
if((iBright % 100) == 0) iBright /= 100;
else iBright = iBright/100 + 1;
stConBriData.Brightness = iBright;
SLIDER1(BRIGHTNESS_GUAGE);
CAdjustBrightness();
}
//----------------------------------------------------------------------------------------------------
void MBrightAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- CONTRAST ADJUST PROC ----------------------------------
void MContrastAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MContrastAdjMenu(); break;
case VK_LEFT: MContrastAdjLR(1); break;
case VK_RIGHT: MContrastAdjLR(0); break;
case VK_ENTER: MContrastAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MContrastAdjMenu()
{
ucOsdState = MENU_ITEM_CONTRAST;
SelectState();
SLIDER2(CONTRAST_GUAGE);
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MContrastAdjLR(unsigned char LR)
{
unsigned int ucContrast = CONTRAST_GUAGE;
SET_KEYREPEATENABLE();
ucContrast = ValueInRangeChange(0,100,ucContrast,LR,0);
ucContrast = ucContrast * 255;
stConBriData.Contrast = ucContrast / 100;
if(ucContrast % 100 != 0) stConBriData.Contrast = stConBriData.Contrast + 1;
SLIDER1(CONTRAST_GUAGE);
CAdjustContrast();
}
//----------------------------------------------------------------------------------------------------
void MContrastAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- LANGUAGE ADJUST PROC ----------------------------------
void MLanguageAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MLanguageAdjMenu(); break;
case VK_LEFT: MLanguageAdjLR(1); break;
case VK_RIGHT: MLanguageAdjLR(0); break;
case VK_ENTER: MLanguageAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MLanguageAdjMenu()
{
ucOsdState = MENU_ITEM_LANGUAGE;
SelectState();
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
}
//----------------------------------------------------------------------------------------------------
void MLanguageAdjLR(unsigned char LR)
{
unsigned char ucLng = GET_LANGUAGE;
if(LR) ucLng = GetNextLanguage(ucLng);
else ucLng = GetPrevLanguage(ucLng);
SET_LANGUAGE(ucLng);
// Load Font
LoadLanguageFont();
// Redraw
ClearClientDisplay();
DrawLanguagePage();
}
//----------------------------------------------------------------------------------------------------
void MLanguageAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- Volume ADJUST PROC ----------------------------------
void MVolumeAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MVolumeAdjMenu(); break;
#if(_IR_ENABLE)
case VK_IR_VOLINC:
#endif
case VK_LEFT: MVolumeAdjLR(1); break;
#if(_IR_ENABLE)
case VK_IR_VOLDEC:
#endif
case VK_RIGHT: MVolumeAdjLR(0); break;
case VK_ENTER: MVolumeAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MVolumeAdjMenu()
{
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MVolumeAdjLR(unsigned char LR)
{
SET_KEYREPEATENABLE();
stOsdUserData.Volume = ValueInRangeChange(0,100,stOsdUserData.Volume,LR,0);
SLIDER1(stOsdUserData.Volume);
SetVolume();// CSetVolume();
}
//----------------------------------------------------------------------------------------------------
void MVolumeAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
void GotoAdjustBrightness()
{
InitOSDFrame();
DrawBrightPage();
AdjustState();
COsdFxEnableOsd();
ucOsdState = MENU_ITEM_BRIGH_ADJ;
}
//----------------------------------------------------------------------------------------------------
void GotoAdjustVolume()
{
InitOSDFrame();
DrawVolumePage();
AdjustState();
COsdFxEnableOsd();
ucOsdState = MENU_VOLUME_SP;
}
//----------------------------------------------------------------------------------------------------
#if(_IR_ENABLE)
void SSetMuteState(void)
{
BYTE ucMuteCurrent = GET_MUTE_STATE();
DrawMuteState(ucMuteCurrent);
if (STATE_MUTEON == ucMuteCurrent) // Current mute on,so set mute off
{
DrawMuteState(STATE_MUTEOFF);
SET_MUTE_STATE(STATE_MUTEOFF);
SetVolume();// CSetVolume();
}
else
{
DrawMuteState(STATE_MUTEON);
SET_MUTE_STATE(STATE_MUTEON);
}
}
#endif
//----------------------------------------------------------------------------------------------------
void HintDialog()
{
InitOSDFrame();
if((ucOsdEventMsg == _SHOW_NOSIGNAL_MSG) || (ucOsdEventMsg == _SHOW_NOCABLE_MSG))
SUBTITLE_OUT((unsigned char code *)sNoSignal[GET_LANGUAGE]);
else SUBTITLE_OUT((unsigned char code *)sNotSupport[GET_LANGUAGE]);
COsdFxEnableOsd();
if(GET_PANELPOWERSTATUS() == _OFF)
CPowerPanelOn();
if (GET_LIGHTPOWERSTATUS() == _OFF)
CPowerLightPowerOn();
}
//----------------------------------------------------------------------------------------------------
void ShowChecksum(void)//cll
{
COsdFxDisableOsd();
// SetOSDDouble(OSD_DOUBLE_HEIGHT_ENABLE | OSD_DOUBLE_WIDTH_ENABLE);
SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);
SetRowCmds(ROW_COUNT,COL_WIDTH);
COsdFxCodeWrite(ucCloseAllWindow);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x8C, THE_BYTE0);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x00, THE_BYTE1);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x20, THE_BYTE2);
OSDPosition(10,10,10,10,0x01);
Gotoxy(0,0,BYTE_DISPLAY);
Textout(sCheckSum);//
//Textout(sVersion);
COsdFxEnableOsd();
CTimerReactiveTimerEvent(SEC(stOsdUserData.OsdTimeout),COsdDispOsdTimerEvent);
}
//----------------------------------------------------------------------------------------------------
void ShowNote()
{
#if(_TV_CHIP != _TV_NONE)
if(stSystemData.InputSource == _SOURCE_VIDEO8_TV)
{
CShowTVNumber(stVDCColor.CurrentChannel,_SHOW_CH_TV_NUMBER | _SHOW_CH_TV_TYPE | _SHOW_CH_SOUND_TYPE);
return;
}
#endif
COsdFxDisableOsd();
SetOSDDouble(OSD_DOUBLE_HEIGHT_ENABLE | OSD_DOUBLE_WIDTH_ENABLE);
SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);
SetRowCmds(ROW_COUNT,COL_WIDTH);
COsdFxCodeWrite(ucCloseAllWindow);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x8C, THE_BYTE0);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x00, THE_BYTE1);
OSDClear(0, ROW_COUNT, 0, COL_WIDTH, 0x20, THE_BYTE2);
OSDPosition(30,30,1,1,0x01);
Gotoxy(1,1,BYTE_DISPLAY);
switch(stSystemData.InputSource)
{
case _SOURCE_VGA: Textout(sVGA); break;
// case _SOURCE_DVI: Textout(sDVI); break;
case _SOURCE_VIDEO8_AV: Textout(sVIDEO); break;
// case _SOURCE_VIDEO8_SV: Textout(sSVIDEO); break;
// case _SOURCE_VIDEO8_YUV: Textout(sYUV); break;
case _SOURCE_VIDEO8_TV: Textout(sTV); break;
// case _SOURCE_YPBPR: Textout(sYPBPR); break;
}
COsdFxEnableOsd();
CTimerReactiveTimerEvent(SEC(stOsdUserData.OsdTimeout),COsdDispOsdTimerEvent);
if(GET_PANELPOWERSTATUS() == _OFF)
CPowerPanelOn();
if (GET_LIGHTPOWERSTATUS() == _OFF)
CPowerLightPowerOn();
}
//---------------------------------------------------------------------------------------------------------------------
#endif //#if(OSD_TYPE == OSD03)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -