📄 osdmenu.c
字号:
}
}
void osdOSDEnterFactoryAdjustCTRL(void)
{
switch(g_ucOSDSelectIndex)
{
case OES_GAIN_OFFSET:
if ((g_ucFactorySelectIndex == FMVGOS_EXIT) || (g_ucFactorySelectIndex == FMYGOS_EXIT))
{
g_ucFactorySelectIndex = 0;
osdOSDReturnMenuSelect();
}
else
{
osdOSDSetFactoryAdjustValue();
g_bOSDAdjustFlag = 1;
}
break;
case OES_VCOM_ADJUST:
if ((g_ucFactorySelectIndex == FMVS_EXIT))
{
g_ucFactorySelectIndex = 0;
osdOSDReturnMenuSelect();
}
else
{
osdOSDSetFactoryAdjustValue();
g_bOSDAdjustFlag = 1;
}
break;
#if USE_SSC_OSD
case OES_SSC_ADJUST:
if ((g_ucFactorySelectIndex == FMSS_EXIT))
{
g_ucFactorySelectIndex = 0;
osdOSDReturnMenuSelect();
}
else if ((g_ucFactorySelectIndex == FMSS_OnOFF))
{
mstWriteByte(BK0_23_OPL_CTL0, (mstReadByte(BK0_23_OPL_CTL0)^SSC_EN_B));
if(mstReadByte(BK0_23_OPL_CTL0)&SSC_EN_B)
osdOSDPrintString(4, 4, 0, tEnableSTR, _GREEN, _DARKBLUE);
else
osdOSDPrintString(4, 4, 0, tDisableSTR, _GREEN, _DARKBLUE);
}
else
{
osdOSDSetFactoryAdjustValue();
g_bOSDAdjustFlag = 1;
}
break;
#endif
}
}
void osdOSDEnterAdjustCTRL(void)
{
switch (g_ucOSDPageIndex)
{
case SOURCE_SELECT_PAGE:
if (g_ucOSDSelectIndex != SMS_EXIT)
{
osdOSDClearBlock(3, Display.ucSourceSEL+2, 1, 1);
Display.ucSourceSEL = g_ucOSDSelectIndex-SMS_SOURCE1;
// TO Source switch function for Maria IC 2005/1/25 Antony
mstSyncSourceSwitch();
// Then turn off display and exit OSD
osdOSDPrintIcon(3, (Display.ucSourceSEL+2), _CHECK, _CYAN, _DARKBLUE);
//osdOSDSaveAdjustCTRL();
}
osdOSDReturnPageSelect();
break;
case PICTURE_ADJUST_PAGE:
if (g_ucOSDSelectIndex == PMS_EXIT)
{
osdOSDReturnPageSelect();
}
else
{
#if SCALING_OSD_EN
if (g_ucOSDSelectIndex == PMS_SCALING)
osdOSDDrawAdjustLable();
else
#endif //SCALING_OSD_EN
osdOSDDrawAdjustBar();
g_bOSDAdjustFlag = 1;
}
break;
case MACE_PAGE:
if (g_ucOSDSelectIndex == MMS_EXIT)
{
osdOSDReturnPageSelect();
}
else
{
#if USE_ALLMACEOSD
osdOSDDrawAdjustBar();
g_bOSDAdjustFlag = 1;
#else
if (g_ucOSDSelectIndex == MMS_ENABLE)
{
Display.ucMACE = 1;
osdOSDClearBlock(3, 3, 1, 1);
osdOSDPrintIcon(3, 2, _CHECK, _CYAN, _DARKBLUE);
}
else
{
Display.ucMACE = 0;
osdOSDClearBlock(3, 2, 1, 1);
osdOSDPrintIcon(3, 3, _CHECK, _CYAN, _DARKBLUE);
}
if (tOSDSourcSELSequence[Display.ucSourceSEL] != VGA)
mstSetMACE(Display.ucMACE);
osdOSDReturnPageSelect();
#endif //USE_ALLMACEOSD
}
break;
case OSD_PAGE:
if (g_ucOSDSelectIndex == OMS_EXIT)
{
osdOSDReturnPageSelect();
}
else
{
if (g_ucOSDSelectIndex == OMS_LANGUAGE || g_ucOSDSelectIndex == OMS_INFORMATION)
{
osdOSDDrawAdjustLable();
}
else if (g_ucOSDSelectIndex == OMS_DEFAULTRESET)
{
mstRecallDefaultSetting();
}
else
{
osdOSDDrawAdjustBar();
g_bOSDAdjustFlag = 1;
}
}
break;
case EXIT_PAGE:
if (g_ucOSDSelectIndex == OES_EXIT)
{
g_ucOSDPageIndex = 0;
g_ucOSDSelectIndex = 0;
g_ucFactorySelectIndex = 0;
g_bOSDStatus = 0;
osdOSDDisable();
g_ucKeypadButton=BTN_NOTHING;
miscDelay1ms(100);
}
else
{
osdOSDFactoryMode();
}
break;
}
}
void osdOSDEnableOSDTimer(void)
{
WORD Temp_OSDTimer;
Temp_OSDTimer = Display.ucOSDTimer * 1000;
sysTimer0Set (g_ucOSDTimerHandle, Temp_OSDTimer);
}
void osdOSDDisableOSDTimer(void)
{
sysTimer0Set (g_ucOSDTimerHandle, 0);
}
void osdOSDControl(void)
{
if ((g_ucKeypadButton == BTN_POWER) && (g_ucKeypadButton != BTN_REPEAT))
{
if ((Display.ucSystemStauts & POWER_STATUS_FLAG) == 0)
{
mstPowerManagement(PM_POWER_ON);
//miscDelay1ms(20);
mstLoadUserSetting();
//miscTurnOnPanel();
SET_LED_ON();
Display.ucSystemStauts |= POWER_STATUS_FLAG;
g_ucSystemFlag |= INPUT_TIMING_CHANGE_FLAG;
g_ucSystemFlag &= ~INPUT_SIGNAL_STABLE_FLAG;
//osdOSDDrawSourceLable();
mstSyncSourceSwitch();
g_ucSystemFlag |= SAVE_SETTING_FLAG;
return;
}
else
{
osdOSDDisable();
g_ucOSDPageIndex = 0;
g_ucOSDSelectIndex = 0;
g_ucFactorySelectIndex = 0;
g_bOSDAdjustFlag = 0;
g_bOSDStatus = 0;
g_bSourceOSDFlag = 0;
osdOSDDisableOSDTimer();
SET_LED_OFF();
Display.ucSystemStauts &= ~POWER_STATUS_FLAG;
miscTurnOffPanel();
mstSaveDisplayData();
mstPowerManagement(PM_POWER_OFF);
#if MCU_POWERDOWN
EX0 = 1;
PCON |= 0x02;
g_ucKeypadButton = BTN_NOTHING;
#endif
return;
}
}
// If power off then exit this routine
if ((Display.ucSystemStauts & POWER_STATUS_FLAG) == 0)
return;
if ((g_bOSDStatus == 0) && (g_ucKeypadButton != BTN_NOTHING) && (g_ucKeypadButton != BTN_REPEAT))
{
mstPowerManagement(PM_OSD_TURN_ON);
if (g_ucKeypadButton == BTN_EXIT) // direction source switch when OSD off
{
Display.ucSourceSEL++;
if(Display.ucSourceSEL > (MAX_SOURCE_NUM-1))
Display.ucSourceSEL = 0;
osdOSDDrawSourceLable();
mstSyncSourceSwitch();
g_ucSystemFlag |= SAVE_SETTING_FLAG;
g_ucKeypadButton=BTN_REPEAT;
return;
}
#if USE_VGA
else if (g_ucKeypadButton == BTN_AUTO) // direction Auto Adjust when OSD off
{
if ((tOSDSourcSELSequence[Display.ucSourceSEL] == VGA) && ((g_ucSyncStatus & SYNC_LOSS_MASK) == 0))
{
osdOSDSetFrame(50, 50, OSD_AUTO_ADJUDT_WIDTH, OSD_AUTO_ADJUDT_HEIGHT);
osdOSDClearBlock(0, 0, OSD_AUTO_ADJUDT_WIDTH, OSD_AUTO_ADJUDT_HEIGHT);
osdOSDSetBlockColor(0, 0, OSD_AUTO_ADJUDT_WIDTH, OSD_AUTO_ADJUDT_HEIGHT, _WHITE, _DARKBLUE);
osdOSDPrintString(1, 0, 0, tAdjustingSTR, _WHITE, _DARKBLUE);
osdOSDEnable();
mstAutoTune();
osdOSDDisable();
g_ucKeypadButton=BTN_REPEAT;
}
return;
}
#endif //USE_VGA
else
{
if (g_bSourceOSDFlag)
{
g_bSourceOSDFlag = 0;
osdOSDDisable();
}
mstPowerManagement(PM_OSD_TURN_ON);
osdOSDSetFrame(OSD_WIN_POS_HStart, OSD_WIN_POS_VStart, OSD_MAINMENU_WIDTH, OSD_MAINMENU_HEIGHT);
osdOSDSetBlockColor(0, 2, 25, 7, _GREEN, _DARKBLUE);
osdOSDPrintString(0, 0, 0, tTitleSTR, _GRAY, _BLUE);
osdOSDPrintString(0, 9, 0, tPageLastLineSTR, _BLUE, _WHITE);//20050908 kevin
osdOSDDrawSourceMenu();
g_ucOSDPageIndex = SOURCE_SELECT_PAGE;
osdOSDPageMoveCTRL(0);
g_ucOSDSelectIndex = 0;
g_ucFactorySelectIndex = 0;
g_bOSDStatus = 1;
osdOSDEnable();
osdOSDEnableOSDTimer();
miscDelay1ms(100);
g_ucKeypadButton=BTN_REPEAT;
return;
}
}
else if ((g_bOSDStatus != 0) && (g_ucKeypadButton == BTN_MENU)&& (g_ucKeypadButton != BTN_REPEAT))
{
if (g_ucOSDSelectIndex==0)
{
switch (g_ucOSDPageIndex)
{
case SOURCE_SELECT_PAGE:
g_ucOSDSelectIndex = Display.ucSourceSEL+SMS_SOURCE1;
break;
case PICTURE_ADJUST_PAGE:
g_ucOSDSelectIndex = PMS_CONTRAST;
break;
case MACE_PAGE:
#if USE_ALLMACEOSD
g_ucOSDSelectIndex = MMS_DLTI;
#else
g_ucOSDSelectIndex = Display.ucMACE+MMS_ENABLE;
#endif //USE_ALLMACEOSD
break;
case OSD_PAGE:
g_ucOSDSelectIndex = OMS_LANGUAGE;
break;
case EXIT_PAGE:
g_ucOSDSelectIndex = OES_EXIT;
break;
}
osdOSDClearBlock(0, 9, 25, 1);
if(g_ucOSDPageIndex == SOURCE_SELECT_PAGE)
osdOSDPrintString(1, 9, 0, tLableAdjustLastLineSTR, _BLUE, _WHITE);
else
osdOSDPrintString(1, 9, 0, tMenuLastLineSTR, _BLUE, _WHITE);
osdOSDMenuMoveCTRL(0);
}
else
{
if (g_bOSDAdjustFlag !=0)
{
if (g_ucFactorySelectIndex == 0)
{
osdOSDSaveAdjustCTRL();
osdOSDReturnMenuSelect();
}
else
{
osdOSDSaveFactoryAdjustCTRL();
osdOSDReturnFactoryMenuSelect();
}
}
else
{
if (g_ucFactorySelectIndex == 0)
osdOSDEnterAdjustCTRL();
else
osdOSDEnterFactoryAdjustCTRL();
}
}
osdOSDEnableOSDTimer();
return;
}
else if ((g_bOSDStatus != 0) && (g_ucKeypadButton == BTN_EXIT)&& (g_ucKeypadButton != BTN_REPEAT))
{
if (g_ucOSDSelectIndex != 0)
{
if (g_bOSDAdjustFlag !=0)
{
osdOSDRestoreOldSetting();
osdOSDReturnMenuSelect();
}
else
{
osdOSDReturnPageSelect();
}
osdOSDEnableOSDTimer();
}
else
{
g_ucOSDPageIndex = 0;
g_ucOSDSelectIndex = 0;
g_ucFactorySelectIndex = 0;
g_bOSDStatus = 0;
osdOSDDisable();
osdOSDDisableOSDTimer();
miscDelay1ms(100);
}
return;
}
else if ((g_bOSDStatus != 0) && ((g_ucKeypadButton == BTN_PLUS) || (g_ucKeypadButton == BTN_MINUS)))
{
if (g_ucKeypadButton == BTN_PLUS)
{
if (g_ucOSDSelectIndex != 0)
{
if (g_bOSDAdjustFlag !=0)
{
if (g_ucFactorySelectIndex == 0)
osdOSDAdjustCTRL(1);
else
osdOSDFactoryAdjustCTRL(1);
}
else
{
if (g_ucFactorySelectIndex == 0)
osdOSDMenuMoveCTRL(1);
else
osdOSDFactoryMenuMoveCTRL(1);
}
}
else
osdOSDPageMoveCTRL(1);
}
else if (g_ucKeypadButton == BTN_MINUS)
{
if (g_ucOSDSelectIndex != 0)
{
if (g_bOSDAdjustFlag !=0)
{
if (g_ucFactorySelectIndex == 0)
osdOSDAdjustCTRL(-1);
else
osdOSDFactoryAdjustCTRL(-1);
}
else
{
if (g_ucFactorySelectIndex == 0)
osdOSDMenuMoveCTRL(-1);
else
osdOSDFactoryMenuMoveCTRL(-1);
}
}
else
osdOSDPageMoveCTRL(-1);
}
osdOSDEnableOSDTimer();
miscDelay1ms(150);
g_ucKeypadButton=BTN_NOTHING;
return;
}
}
void osdMenuHandler(void)
{
if(g_bOSDStatus || g_bSourceOSDFlag)
{
if(sysTimer0Expired(g_ucOSDTimerHandle) == TIMER_EXPIRED)
{
g_ucOSDPageIndex = 0;
g_ucOSDSelectIndex = 0;
g_ucFactorySelectIndex = 0;
g_bOSDAdjustFlag = 0;
g_bOSDStatus = 0;
g_bSourceOSDFlag = 0;
osdOSDDisable();
}
}
osdKeyScanKeypad();
osdOSDControl();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -