📄 generic_osd.c
字号:
//**********************************************************************************************************
// The Software is proprietary, confidential, and valuable to Realtek Semiconductor
// Corporation ("Realtek"). All rights, including but not limited to copyrights,
// patents, trademarks, trade secrets, mask work rights, and other similar rights and interests,
// are reserved to Realtek. Without prior written consent from Realtek, copying, reproduction,
// modification, distribution, or otherwise is strictly prohibited. The Software shall be
// kept strictly in confidence, and shall not be disclosed to or otherwise accessed by
// any third party. @ <2003> - <2008> The Software is provided "AS IS" without any warranty of any kind,
// express, implied, statutory or otherwise.
//**********************************************************************************************************
//----------------------------------------------------------------------------------------------------
// ID Code : Osd.c No.0000
// Update Note :
//----------------------------------------------------------------------------------------------------
#define __GENERIC_OSD__
#include "Common\Header\Include.h"
#if(_OSD_TYPE == _GENERIC_OSD)
BYTE code OnStringBlanking[]=
{
15,15,13,21,20,
18,13,24,24,18,
};
BYTE code OffStringBlanking[]=
{
20,21,16,21,19,
24,17,24,24,19,
};
BYTE code FullStringBlanking[]=
{
19,22,16,17,13,
16,16,24,23,14,
};
BYTE code OrgStringBlanking[]=
{
16,16,16,16,16,
16,16,16,15,16,
};
BYTE code AspStringBlanking[]=
{
23,13,13,13,17,
14,14,24,24,19,
};
#if((_AUDIO_LINEIN_SUPPORT == _ON) && (_HDMI_SUPPORT == _ON))
BYTE code AutoStringBlanking[]=
{
15,15,0,18,0,
18,14,28,25,18,
};
BYTE code LineInStringBlanking[]=
{
18,0,15,0,28,
0,14,17,25,14,
};
/*
BYTE code AutoStringBlanking[]=
{
19,18,15,21,15,
26,19,24,23,22,
};
BYTE code LineInStringBlanking[]=
{
22,15,20,16,17,
22,18,19,24,17,
};
*/
#endif
//------------------------------------------------------------------------------------------------------------------------
void COsdHandlerGeneric(void)
{
COsdSystemFlowProcGeneric();
COsdEventMsgProcGeneric();
if((ucCurrState==_ACTIVE_STATE)&&(ucOsdState!=_MenuShowNonPresetModeGeneric))
{
if(ucKeyMessage<_NONE_KEY_MESSAGE)
{
(*OperationTableGeneric[ucOsdState][ucKeyMessage])();
#if(_SERVICE_PAGE == _ON)
if(!GET_FACTORY_MODE() && (bServiceMode==_FALSE))
#else
if(!GET_FACTORY_MODE())
#endif
{
if(bHotKeyAdjust==_TRUE) //0305 sephinroth:For Hotkey
CTimerReactiveTimerEvent(SEC(5),COsdFxOsdTimerGeneric);
else
CTimerReactiveTimerEvent(SEC(stGlobalData1.OsdTimeoutGeneric),COsdFxOsdTimerGeneric);
}
}
else if(ucKeyMessage==_AUTO_KEY_MESSAGE)
{
if(!GET_FACTORY_MODE())
{
if(ucOsdState != _MenuExitFastInputGeneric)
{
if(GET_INPUTSOURCE_TYPE()==_SOURCE_VGA)
{
ucOsdState = _MenuNoneGeneric;
DisplayAutoAdjustingGeneric();
COsdFxEnableOsdGeneric();
CAutoDoAutoConfig();
COsdFxOsdTimerGeneric();
}
ucOsdEventMsg=_SAVE_EE_GLOBALDATA0_MSG;
}
}
else
{
if((ucOsdState<_MenuFactoryWhiteBalanceGeneric)||(ucOsdState>_MenuFactoryAdcGeneric))
{
COsdExitFactoryBurnInOnOffGeneric();
COsdRightMainFactoryAdcGeneric();
}
}
}
}
#if(0)
//CEepromRead(_EEPROM_HDCP_KEY_ADDRESS, 3, &RamI2cCommandData[0]);
COsdFxShowValueGeneric(0,0,MCU_ADC0_RESULT_FF09,3,_NON_PERCENT,0,0);
COsdFxShowValueGeneric(1,0,MCU_ADC1_RESULT_FF0A,3,_NON_PERCENT,0,0);
COsdFxShowValueGeneric(2,0,MCU_ADC2_RESULT_FF0B,3,_NON_PERCENT,0,0);
#endif
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdSystemFlowProcGeneric(void)
{
BYTE connect = 1;
switch(ucCurrState)
{
case _PWOFF_STATE:
break;
case _INITIAL_STATE:
DisplayPowerOnLogoGeneric();
ucCurrState = _SEARCH_STATE;
//****************ryan 081204*****************
if(GET_FACTORY_MODE())
{
CSourceSwitchInputPort(_A0_INPUT_PORT);
}
else
{
if(GET_INPUTSOURCE_STATUS() == _SOURCE_DVI)
CSourceSwitchInputPort(_D0_INPUT_PORT);
else
CSourceSwitchInputPort(_A0_INPUT_PORT);
}
//****************ryan 081204*****************
break;
case _SEARCH_STATE:
break;
case _ACTIVE_STATE:
if(GET_OSD_READYFORDISPLAY() == _TRUE)
{
CAdjustBackgroundColor(0x00, 0x00, 0x00);
CLR_OSD_READYFORDISPLAY();
CAdjustVolume(stGlobalData4.VolumeGeneric);//ryan 081127 audio
#if(_AUDIO_SUPPORT == _ON)
CAdjustAudioMute(_OFF);
#endif
if((GET_INPUTSOURCE_STATUS() == _SOURCE_VGA) || ((GET_INPUTSOURCE_STATUS() == _SOURCE_DVI) && (!CHdmiFormatDetect())))
DisplayAutoAndNonpresetGeneric();
}
break;
case _NOSUPPORT_STATE:
if(GET_OSD_READYFORDISPLAY() == _TRUE)
{
CLR_OSD_READYFORDISPLAY();
CTimerActiveTimerEvent(SEC(0.1), DisplayNoSupportHintGeneric);
}
break;
case _NOSIGNAL_STATE:
if(GET_OSD_READYFORDISPLAY() == _TRUE)
{
CLR_OSD_READYFORDISPLAY();
CTimerActiveTimerEvent(SEC(1), DisplayNoSignalOrNoCableHintGeneric);
}
break;
case _SLEEP_STATE:
if(bNoWakeUp) break;
if((ucKeyMessage != _NONE_KEY_MESSAGE) /*&& (ucKeyMessage != _EXIT_KEY_MESSAGE) */&& (bPressAnyKeytoWakeUp == _TRUE))//ryan 081120
{
#if(_MCU_TYPE == _REALTEK_EMBEDDED)
CMcuSelectFlashClk(_FLASH_CLK);
#endif
CModeResetMode();
bPressAnyKeytoWakeUp=_TRUE;
}
break;
default:
break;
}
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdEventMsgProcGeneric(void)
{
bHotKeyMenuFirstOn=_FALSE;
switch(ucOsdEventMsg)
{
case _SAVE_EE_MODEUSERDATA_MSG:
CEepromSaveModeData();
break;
case _SAVE_EE_GLOBALDATA0_MSG:
CEepromSaveGlobalData0();
break;
case _SAVE_EE_GLOBALDATA1_MSG:
CEepromSaveGlobalData1();
break;//ryan 081218
case _SAVE_EE_GLOBALDATA3_MSG:
CEepromSaveGlobalData3();
break;
case _SAVE_EE_GLOBALDATA4_MSG:
CEepromSaveGlobalData4();
break;
case _SAVE_EE_ADCDATA_MSG:
CEepromSaveAdcData();
break;
case _SAVE_EE_COLORDATA_MSG:
CEepromSaveColorTempData();
break;
case _SAVE_EE_PICTUREDATA_MSG:
CEepromSavePictureData();
break;
default:
break;
}
#if(_DDCCI_SUPPORT==_ON)
if(ucOsdEventMsg != _NONE_MSG) CDdcciNewControlValue();
#endif
ucOsdEventMsg = _NONE_MSG;
}
//================================================================================//
void COsdRightNoneGeneric(void)
{
//0830 HDCP Mode1/Mode2
#if(_SERVICE_PAGE == _ON)
if(bServicePageOn==_ON)
{
if(GET_SERVICEMODE_STATUS() == _MODE_2)
SET_SERVICEMODE_STATUS(_MODE_1);
else
SET_SERVICEMODE_STATUS(_MODE_2);
DisplaySelectServiceModeGeneric();
ucOsdEventMsg = _SAVE_EE_GLOBALDATA0_MSG;
return;
}
#endif
if(stSystemData.DcrSetting != _OFF)
{
}
else
{
BYTE i;
bHotKeyMenuFirstOn=_TRUE;
DisplayLoadMainIconGeneric();
DisplayLoadLuminanceIconGeneric();
DisplayLoadLanguageFontGeneric();
i=ucMainOsdState;
ucMainOsdState=_Menu1stLuminanceGeneric;
COsdEnter2ndBrightGeneric();
bHotKeyAdjust=_TRUE;
ucMainOsdState=i;
}
}
//================================================================================//
void COsdRight1stAutoGeneric(void)
{
if((stSystemData.DcrSetting != _OFF)&&(stGlobalData4.BurnIn!=_BURNIN_ON))//ryan add new osd func
COsdRight1stLuminanceGeneric();
else
Display1stHighLightBarGeneric(_Menu1stLuminanceGeneric);
}
//================================================================================//
void COsdRight1stGeometryGeneric(void)
{
Display1stHighLightBarGeneric(_Menu1stColorGeneric);
}
//================================================================================//
void COsdRight1stLuminanceGeneric(void)
{
#if(_TMDS_SUPPORT==_ON)
if(((GET_INPUTSOURCE_TYPE() == _SOURCE_DVI) || (GET_INPUTSOURCE_TYPE() == _SOURCE_HDMI)))
COsdRight1stGeometryGeneric();
else
#endif
Display1stHighLightBarGeneric(_Menu1stGeometryGeneric);
}
//================================================================================//
void COsdRight1stColorGeneric(void)
{
Display1stHighLightBarGeneric(_Menu1stOsdGeneric);
}
//================================================================================//
void COsdRight1stOsdGeneric(void)
{
Display1stHighLightBarGeneric(_Menu1stLanguageGeneric);
}
//================================================================================//
void COsdRight1stLanguageGeneric(void)
{
Display1stHighLightBarGeneric(_Menu1stRecallGeneric);
}
//================================================================================//
void COsdRight1stRecallGeneric(void)
{
Display1stHighLightBarGeneric(_Menu1stMisGeneric);
}
//================================================================================//
void COsdRight1stMisGeneric(void)
{
#if(_AnalogOnly==_FALSE)
#if(_TMDS_SUPPORT==_ON)
Display1stHighLightBarGeneric(_Menu1stInputGeneric);
#elif(_AUDIO_SUPPORT==_ON)
Display1stHighLightBarGeneric(_Menu1stAudioGeneric);
#else
Display1stHighLightBarGeneric(_Menu1stAutoGeneric);
#endif
#else
#if(_AUDIO_SUPPORT==_ON)
Display1stHighLightBarGeneric(_Menu1stAudioGeneric);
#else
Display1stHighLightBarGeneric(_Menu1stAutoGeneric);
#endif
#endif
}
//================================================================================//
#if(_TMDS_SUPPORT==_ON)
void COsdRight1stInputGeneric(void)
{
#if(_AUDIO_SUPPORT==_ON)
Display1stHighLightBarGeneric(_Menu1stAudioGeneric);
#else
Display1stHighLightBarGeneric(_Menu1stAutoGeneric);
#endif
}
#endif
//================================================================================//
#if(_AUDIO_SUPPORT==_ENABLE)
void COsdRight1stAudioGeneric(void)
{
#if(_TMDS_SUPPORT==_ON)
if((GET_INPUTSOURCE_TYPE() == _SOURCE_DVI) || (GET_INPUTSOURCE_TYPE() == _SOURCE_HDMI))
if((stSystemData.DcrSetting != _OFF)&&(stGlobalData4.BurnIn!=_BURNIN_ON))//ryan add new osd func
Display1stHighLightBarGeneric(_Menu1stColorGeneric);
else
Display1stHighLightBarGeneric(_Menu1stLuminanceGeneric);
else
#endif
Display1stHighLightBarGeneric(_Menu1stAutoGeneric);
}
#endif
//================================================================================//
void COsdRight2ndContrastGeneric(void)
{
//ryan add new osd func
if((stSystemData.DcrSetting != _OFF)||(CHECKECOON()))
{}
else
{
//ryan add new osd func
Display2ndLuminanceHighLightBarGeneric(_Menu2ndBrightGeneric);
//ryan add new osd func
if(stGlobalData4.PictureMode!=_STANDARD_PICTURE)
Display1BitColorWidthGeneric(ROW(6),COL(4),WIDTH(COsdFxCalFontLengthLanGeneric(OSD_CONTRAST_STR_LAN_GENERIC)),(_CP_DARKGRAY<<4));
}
//ryan add new osd func
}
//================================================================================//
void COsdRight2ndBrightGeneric(void)
{
//ryan add new osd func
if(stGlobalData4.PictureMode!=_STANDARD_PICTURE)
{
if((stSystemData.DcrSetting != _OFF)||(CHECKECOON()))
{
Display1BitColorWidthGeneric(ROW(6),COL(4),WIDTH(COsdFxCalFontLengthLanGeneric(OSD_CONTRAST_STR_LAN_GENERIC)),(_CP_DARKGRAY<<4));
ucOsdState=_Menu2ndContrastGeneric;
}
}
else
//ryan add new osd func
Display2ndLuminanceHighLightBarGeneric(_Menu2ndContrastGeneric);
}
//================================================================================//
void COsdRight2ndPosHGeneric(void)
{
Display2ndGeometryHighLightBarGeneric(_Menu2ndPosVGeneric);
}
//================================================================================//
void COsdRight2ndPosVGeneric(void)
{
Display2ndGeometryHighLightBarGeneric(_Menu2ndClockGeneric);
}
//================================================================================//
void COsdRight2ndClockGeneric(void)
{
Display2ndGeometryHighLightBarGeneric(_Menu2ndPhaseGeneric);
}
//================================================================================//
void COsdRight2ndPhaseGeneric(void)
{
Display2ndGeometryHighLightBarGeneric(_Menu2ndPosHGeneric);
}
//================================================================================//
void COsdRight2nd9300ColorGeneric(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -