📄 osdsm.c
字号:
void COsdMUMenuSaturation(void)
{
#if (_CUSTOM_HAOZHEN_PRJ5K == _TRUE)
#if (_CUSTOM_HAOZHEN_PRJ5K_HIDE_FM_MUTE==_TRUE)
////SET_KEYREPEATENABLE();
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdMULoadDefault_DefaultStr();
COsdMUShowVersion();
COsdDispState(_MENU_MU_DEFAULT);
#endif
#else
//clear original text because the mute string is very short.
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(_OSD_LINE_HEIGHT));
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19-3),WIDTH(8), HEIGHT(1), _MUCP_BAR, _MUCP_TEXTBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19-3), stOsdUserData.Language, tOSD_MU_MUTE_STR);
COsdMULoadMuteValueImage();
COsdDispState(_MENU_MU_MUTE);
#endif
}
void COsdMULeftSaturation(void)
{
SET_KEYREPEATENABLE();
stVideoData.Saturation = COsdFxDetOverRange(stVideoData.Saturation, _SLIDER_MAX_SATURATION, 0, _DET_OVERRANGE_MIN);
CAdjustVideoSaturation();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Saturation, _SLIDER_MAX_SATURATION, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMURightSaturation(void)
{
SET_KEYREPEATENABLE();
stVideoData.Saturation = COsdFxDetOverRange(stVideoData.Saturation, _SLIDER_MAX_SATURATION, 0, _DET_OVERRANGE_MAX);
CAdjustVideoSaturation();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stVideoData.Saturation, _SLIDER_MAX_SATURATION, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_VIDEODATA_MSG;
}
void COsdMUMenuMute(void)
{
////SET_KEYREPEATENABLE();
#if (_AUDIO_DEVICE != _AUDIO_NONE)
COsdFxChange1bitColor(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1), _MUCP_TEXT, _MUCP_TEXTBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL), stOsdUserData.Language, tOSD_MU_VOLUME_STR);
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL),LENGTH(_OSD_POS_SLIDER_LEN), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stAudioData.audioVolume, 100, 0, _MUCP_BAR, _MUCP_BARBG);
COsdDispState(_MENU_MU_VOLUME);
#else
//#if (_PCB_TYPE == _PCB_RIGHTECH_A && _INFRARED_ENABLE == _TRUE)
#if (_PCB_RIGHTECH_A_USE_PV013BA1 == _TRUE)
#if (_INFRARED_ENABLE == _TRUE)
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL+3),WIDTH(_OSD_POS_SLIDER_LEN+2), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_SLIDER_COL+3), stOsdUserData.Language, tOSD_MU_IREMIT_STR);
COsdMULoadIrEmitValueImage();
COsdDispState(_MENU_MU_IREMIT);
#else
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL-2),WIDTH(_OSD_POS_SLIDER_LEN+2), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_SLIDER_COL-2), stOsdUserData.Language, tOSD_MU_FM_STR);
CAudioShowFMFreq();
COsdDispState(_MENU_MU_FMFREQ);
#endif
#else
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL-2),WIDTH(_OSD_POS_SLIDER_LEN+2), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_SLIDER_COL-2), stOsdUserData.Language, tOSD_MU_FM_STR);
CAudioShowFMFreq();
COsdDispState(_MENU_MU_FMFREQ);
#endif
#endif
}
void COsdMULeftMute(void)
{
CAdjustMute();
COsdMULoadMuteValueImage();
}
void COsdMURightMute(void)
{
CAdjustMute();
COsdMULoadMuteValueImage();
}
//#if (_PCB_TYPE == _PCB_RIGHTECH_A)
#if (_PCB_RIGHTECH_A_USE_PV013BA1 == _TRUE)
#if (_INFRARED_ENABLE == _TRUE)
void COsdMULoadIrEmitValueImage(void)
{
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+2),WIDTH(8), HEIGHT(1), _MUCP_BAR, _MUCP_TEXTBG);
if (stAudioData.audioFlag & _BIT6) {
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+2), 0, &tOSD_MU_IREMIT_VALUE_STR[1][0]);
}
else {
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+2), 0, &tOSD_MU_IREMIT_VALUE_STR[0][0]);
}
}
void COsdMUMenuIrEmit(void)
{
////SET_KEYREPEATENABLE();
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL-2),WIDTH(_OSD_POS_SLIDER_LEN+2), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_SLIDER_COL-2), stOsdUserData.Language, tOSD_MU_FM_STR);
CAudioShowFMFreq();
COsdDispState(_MENU_MU_FMFREQ);
}
void CAdjustInfraredEmitter(void)
{
CLR_KEYREPEATENABLE();
stAudioData.audioFlag ^= _BIT6;
if (stAudioData.audioFlag & _BIT6) {
InfraredEmitter_23_28();
}
else {
InfraredEmitter_33_38();
}
}
void COsdMULeftIrEmit(void)
{
CAdjustInfraredEmitter();
COsdMULoadIrEmitValueImage();
ucOsdEventMsg = _SAVE_EE_AUDIODATA_MSG;
}
void COsdMURightIrEmit(void)
{
COsdMULeftIrEmit();
}
#endif
#endif
#if (_AUDIO_DEVICE != _AUDIO_NONE)
void COsdMUMenuVolume(void)
{
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_SLIDER_COL-2-1),WIDTH(_OSD_POS_SLIDER_LEN+2), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_SLIDER_COL-2-1), stOsdUserData.Language, tOSD_MU_FM_STR);
CAudioShowFMFreq();
COsdDispState(_MENU_MU_FMFREQ);
}
void COsdMULeftVolume(void)
{
SET_KEYREPEATENABLE();
stAudioData.audioVolume = COsdFxDetOverRange(stAudioData.audioVolume, 100, 0, _DET_OVERRANGE_MIN);
if (stAudioData.audioFlag&_BIT7) {
//cancel mute status
CAudioFmMuteClear();
//fm mute mothed cancel:
//...
}
CAdjustVolume();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stAudioData.audioVolume, 100, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_AUDIODATA_MSG;
}
void COsdMURightVolume(void)
{
SET_KEYREPEATENABLE();
stAudioData.audioVolume = COsdFxDetOverRange(stAudioData.audioVolume, 100, 0, _DET_OVERRANGE_MAX);
if (stAudioData.audioFlag&_BIT7) {
//cancel mute status
CAudioFmMuteClear();
//fm mute mothed cancel:
//...
}
CAdjustVolume();
COsdDispFullSliderMU(ROW(0), COL(_OSD_POS_SLIDER_COL), LENGTH(_OSD_POS_SLIDER_LEN), stAudioData.audioVolume, 100, 0, _MUCP_BAR, _MUCP_BARBG);
ucOsdEventMsg = _SAVE_EE_AUDIODATA_MSG;
}
#endif
void COsdMULoadDefault_DefaultStr(void)
{
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+13-2), stOsdUserData.Language, &tOSD_MU_DEFAULT_STR);
}
void COsdMULoadMuteValueImage(void)
{
if (stAudioData.audioFlag & _BIT7) {
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+5-3),WIDTH(3), HEIGHT(1), _MUCP_BAR, _MUCP_TEXTBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+5-3), 0, &tOSD_MU_MUTE_ONOFF_STR[0][0]);
}
else {
COsdFxChange1bitColor(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+5-3),WIDTH(3), HEIGHT(1), _MUCP_BAR, _MUCP_TEXTBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+19+5-3), 0, &tOSD_MU_MUTE_ONOFF_STR[1][0]);
}
}
//--------------------------------------------------
// show Version
//--------------------------------------------------
void COsdMUShowVersion(void)
{
#define _VER_COL (25-2)
if (stAudioData.audioFmOffset > _AUDIO_FM_OFFSET_MAX) {
stAudioData.audioFmOffset = 0;
}
COsdFxHLine(ROW(0), COL(_VER_COL + 0), LENGTH(1), _2_, _WRITE_BYTE1);
COsdFxHLine(ROW(0), COL(_VER_COL + 1), LENGTH(1), _0_, _WRITE_BYTE1);
COsdFxHLine(ROW(0), COL(_VER_COL + 2), LENGTH(1), _0_, _WRITE_BYTE1);
COsdFxHLine(ROW(0), COL(_VER_COL + 3), LENGTH(1), _REALTEK_VER, _WRITE_BYTE1);
COsdFxHLine(ROW(0), COL(_VER_COL + 4), LENGTH(1), _DOT_, _WRITE_BYTE1);
//COsdFxHLine(ROW(0), COL(_VER_COL + 5), LENGTH(1), _0_, _WRITE_BYTE1);
//COsdFxHLine(ROW(0), COL(_VER_COL + 6), LENGTH(1), _1_, _WRITE_BYTE1);
if (_VERSION_CODE<=9) {
COsdFxHLine(ROW(0), COL(_VER_COL + 5), LENGTH(1), _0_, _WRITE_BYTE1);
COsdFxHLine(ROW(0), COL(_VER_COL + 6), LENGTH(1), _VERSION_CODE+_0_, _WRITE_BYTE1);
}
else if (_VERSION_CODE>9){
COsdFxHLine(ROW(0), COL(_VER_COL + 5), LENGTH(1), _1_, _WRITE_BYTE1);
COsdFxHLine(ROW(0), COL(_VER_COL + 6), LENGTH(1), _VERSION_CODE- 10 +_0_, _WRITE_BYTE1);
}
#undef _VER_COL
}
void COsdMUMenuFMFreq(void)
{
////SET_KEYREPEATENABLE();
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1), _MUCP_BAR, _MUCP_BARBG);
COsdMULoadDefault_DefaultStr();
COsdMUShowVersion();
COsdDispState(_MENU_MU_DEFAULT);
}
void COsdMULeftFMFreq(void)
{
SET_KEYREPEATENABLE();
//CAudioFmMuteClear(); //adjust frequency lead to cancel mute status.
CAdjustFMFreq(_FM_STEP_DOWN); //decrease
CAudioShowFMFreq();
ucOsdEventMsg = _SAVE_EE_AUDIODATA_MSG;
}
void COsdMURightFMFreq(void)
{
SET_KEYREPEATENABLE();
//CAudioFmMuteClear(); //adjust frequency lead to cancel mute status.
CAdjustFMFreq(_FM_STEP_UP); //increase
CAudioShowFMFreq();
ucOsdEventMsg = _SAVE_EE_AUDIODATA_MSG;
}
void COsdMUMenuDefault(void)
{
////SET_KEYREPEATENABLE();
COsdDispClearText(ROW(0), COL(0),WIDTH(_OSD_LINE_LEN), HEIGHT(1));
COsdFxChange1bitColor(ROW(0), COL(0), WIDTH(_OSD_LINE_LEN),1, _MUCP_BAR, _MUCP_BARBG);
COsdFxLoadTextMU(ROW(0), COL(_OSD_POS_ITEMNAME_COL+14), stOsdUserData.Language, tOSD_MU_EXIT_STR);
COsdDispState(_MENU_MU_EXIT);
}
void COsdMULeftDefault(void)
{
BYTE ucAudioFlagTemp;
CLR_KEYREPEATENABLE();
//COsdDispClearText(ROW(0), COL(0),WIDTH(34), HEIGHT(1));
//COsdFxChange1bitColor(ROW(0), COL(0),WIDTH(34), HEIGHT(1), _MUCP_TEXT, _MUCP_TEXTBG);
//restore video data:
CEepromLoadVideoDataDefault();
//set video decoder:
CAdjustVideoBright();
CAdjustVideoContrast();
CAdjustVideoHue();
CAdjustVideoSaturation();
CAdjustVideoSharpness();
//backup Mute:
ucAudioFlagTemp = stAudioData.audioFlag;
//restore audio data:
CEepromLoadAudioDataDefault();
//set audio FM:
//CAdjustFMFreq(_FM_STEP_NONE);
//clear mute
//CAudioFmMuteClear();
//Not reset Mute/FM freqency:
stAudioData.audioFlag = ucAudioFlagTemp;
CEepromSaveAudioData();
//set volume:
#if (_AUDIO_DEVICE != _AUDIO_NONE)
CAdjustVolume();
#endif
//other default data...
//CTimerDelayXms(500);
//COsdDispClearText(ROW(0), COL(0),WIDTH(34), HEIGHT(1));
//COsdFxChange1bitColor(ROW(0), COL(0),WIDTH(34), HEIGHT(1), _MUCP_TEXT, _MUCP_TEXTBG);
//COsdMULoadDefault_DefaultStr();
}
void COsdMURightDefault(void)
{
COsdMULeftDefault();
}
void COsdMUMenuExit(void)
{
CLR_KEYREPEATENABLE();
COsdDispState(_MENU_NONE);
COsdFxDisableOsd();
}
void COsdMULeftExit(void)
{
COsdMUMenuExit();
}
void COsdMURightExit(void)
{
COsdMUMenuExit();
}
void COsdDispState(BYTE ucState)
{
ucOsdState = ucState;
}
void COsdDispFullSliderMU(BYTE ucRow, BYTE ucCol, BYTE ucLength, BYTE usValue, BYTE usRange, BYTE usMin, BYTE ucColor, BYTE ucNumColor)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -