📄 osdmenu.c
字号:
case OMS_DURATION:
osdOSDBarAdjustCTRL(Delta*5);
// To do set register of Maria for functios
break;
case OMS_TRANSPARENCY:
osdOSDBarAdjustCTRL(Delta);
osdSetTransparency(g_ucOSDItemValue);
break;
#if SCALING_OSD_EN
case PMS_SCALING:
osdOSDScalingMoveCTRL(Delta);
if(g_ucOSDItemValue != SCALING_END)
mstSetScalingMode(g_ucOSDItemValue);
break;
#endif //SCALING_OSD_EN
case OMS_LANGUAGE:
osdOSDLanguageMoveCTRL(Delta);
break;
default:
break;
}
}
void osdOSDFactoryValueAdjustCTRL( SCHAR Delta)
{
g_ucOSDItemValue += Delta;
osdOSDPrintValue(15, (g_ucFactorySelectIndex&0x0F)+2, (SINT)g_ucOSDItemValue, _WHITE, _DARKBLUE);
}
void osdOSDFactoryAdjustCTRL(SCHAR Delta)
{
osdOSDFactoryValueAdjustCTRL(Delta);
switch(g_ucFactorySelectIndex)
{
case FMVGOS_RGAIN:
case FMYGOS_PrGAIN:
mstSetAdcRedGain(g_ucOSDItemValue);
break;
case FMVGOS_ROFFSET:
case FMYGOS_PrOFFSET:
mstSetAdcRedOffset(g_ucOSDItemValue);
break;
case FMVGOS_GGAIN:
case FMYGOS_YGAIN:
mstSetAdcGreenGain(g_ucOSDItemValue);
break;
case FMVGOS_GOFFSET:
case FMYGOS_YOFFSET:
mstSetAdcGreenOffset(g_ucOSDItemValue);
break;
case FMVGOS_BGSIN:
case FMYGOS_PbGSIN:
mstSetAdcBlueGain(g_ucOSDItemValue);
break;
case FMVGOS_BOFFSET:
case FMYGOS_PbOFFSET:
mstSetAdcBlueOffset(g_ucOSDItemValue);
break;
case FMVS_VCOMDC:
mstSetVcomDC(g_ucOSDItemValue);
break;
case FMVS_VCOMAC:
mstSetVcomAC(g_ucOSDItemValue);
break;
#if USE_SSC_OSD
case FMSS_STEP:
mstSetSSCStep(g_ucOSDItemValue);
break;
case FMSS_SPAN:
mstSetSSCSpan(g_ucOSDItemValue);
break;
#endif
}
}
void osdOSDDrawAdjustLable(void)
{
osdOSDClearBlock(0, 2, 25, 8);
osdOSDPrintString(1, 9, 0, tLableAdjustLastLineSTR, _BLUE, _WHITE);
switch (g_ucOSDSelectIndex)
{
#if SCALING_OSD_EN
case PMS_SCALING:
g_ucOSDItemValue = Display.ucScalingMode;
osdOSDDrawScalingMenu();
osdOSDScalingMoveCTRL(0);
g_bOSDAdjustFlag = 1;
break;
#endif //SCALING_OSD_EN
case OMS_LANGUAGE:
g_ucOSDItemValue = Display.ucLanguage;
osdOSDDrawLanguageMenu();
osdOSDLanguageMoveCTRL(0);
g_bOSDAdjustFlag = 1;
break;
case OMS_INFORMATION:
osdOSDDrawInformationMenu();
g_bOSDAdjustFlag = 1;
break;
}
}
void osdOSDDrawFMGainOffsetMenu(void)
{
osdOSDClearBlock(0, 2, 25, 7);
if(tOSDSourcSELSequence[Display.ucSourceSEL] == VGA)
{
osdOSDPrintString(4, 2, 0, tRGainSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(6, 3, 0, tOffsetSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 4, 0, tGGainSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(6, 5, 0, tOffsetSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 6, 0, tBGainSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(6, 7, 0, tOffsetSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 8, 0, tReturnSTR, _GREEN, _DARKBLUE);
osdOSDPrintValue(15, 2, (SINT)Display.ucVgaRedGain, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 3, (SINT)Display.ucVgaRedOffset, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 4, (SINT)Display.ucVgaGreenGain, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 5, (SINT)Display.ucVgaGreenOffset, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 6, (SINT)Display.ucVgaBlueGain, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 7, (SINT)Display.ucVgaBlueOffset, _PURPLE, _DARKBLUE);
}
else
{
osdOSDPrintString(4, 2, 0, tPrGainSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(7, 3, 0, tOffsetSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 4, 0, tYGainSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(7, 5, 0, tOffsetSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 6, 0, tPbGainSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(7, 7, 0, tOffsetSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 8, 0, tReturnSTR, _GREEN, _DARKBLUE);
osdOSDPrintValue(15, 2, (SINT)Display.ucYPbPrPrGain, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 3, (SINT)Display.ucYPbPrPrOffset, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 4, (SINT)Display.ucYPbPrYGain, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 5, (SINT)Display.ucYPbPrYOffset, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 6, (SINT)Display.ucYPbPrPbGain, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 7, (SINT)Display.ucYPbPrPbOffset, _PURPLE, _DARKBLUE);
}
}
void osdOSDDrawFMVCOMMenu(void)
{
osdOSDClearBlock(0, 2, 25, 7);
osdOSDPrintString(4, 2, 0, tVCOMdcSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 3, 0, tVCOMacSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 4, 0, tReturnSTR, _GREEN, _DARKBLUE);
osdOSDPrintValue(15, 2, (SINT)Display.ucVCOMdc, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 3, (SINT)Display.ucVCOMac, _PURPLE, _DARKBLUE);
}
#if USE_SSC_OSD
void osdOSDDrawFMSSCMenu(void)
{
osdOSDClearBlock(0, 2, 25, 7);
osdOSDPrintString(4, 2, 0, tSSCStepSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 3, 0, tSSCSpanSTR, _GREEN, _DARKBLUE);
if(mstReadByte(BK0_23_OPL_CTL0)&SSC_EN_B)
osdOSDPrintString(4, 4, 0, tEnableSTR, _GREEN, _DARKBLUE);
else
osdOSDPrintString(4, 4, 0, tDisableSTR, _GREEN, _DARKBLUE);
osdOSDPrintString(4, 5, 0, tReturnSTR, _GREEN, _DARKBLUE);
osdOSDPrintValue(15, 2, (SINT)Display.ucSSCStep, _PURPLE, _DARKBLUE);
osdOSDPrintValue(15, 3, (SINT)Display.ucSSCSpan, _PURPLE, _DARKBLUE);
}
#endif
void osdOSDReturnFactoryMenuSelect(void)
{
g_bOSDAdjustFlag = 0;
osdOSDMarkFactoryAdjustValue(0);
osdOSDFactoryMenuMoveCTRL(0);
}
void osdOSDFactoryMode(void)
{
switch(g_ucOSDSelectIndex)
{
case OES_AUTO_ADJUST:
if((tOSDSourcSELSequence[Display.ucSourceSEL] == VGA) && ((g_ucSyncStatus & SYNC_LOSS_MASK) == 0))
{
osdOSDClearBlock(0, 2, 25, 8);
osdOSDPrintString(1, 9, 0, tLableAdjustLastLineSTR, _BLUE, _WHITE);
osdOSDPrintString(6, 5, 0, tAdjustingSTR, _GREEN, _DARKBLUE);
//Do Auto Adjust Function
//Return to up menu when finish
#if USE_VGA
mstAutoTune();
#endif //USE_VGA
osdOSDReturnMenuSelect();
}
break;
case OES_WHITE_BALANCE:
if((tOSDSourcSELSequence[Display.ucSourceSEL] == VGA) || (tOSDSourcSELSequence[Display.ucSourceSEL] == YPBPR))
{
osdOSDClearBlock(0, 2, 25, 8);
osdOSDPrintString(1, 9, 0, tLableAdjustLastLineSTR, _BLUE, _WHITE);
osdOSDPrintString(6, 5, 0, tAdjustingSTR, _GREEN, _DARKBLUE);
//Do White Balance Function by VGA or YPbPr
//Return to up menu when finish
#if USE_VGA
mstAutoColor();
#endif //USE_VGA
osdOSDReturnMenuSelect();
}
break;
case OES_GAIN_OFFSET:
if((tOSDSourcSELSequence[Display.ucSourceSEL] == VGA) || (tOSDSourcSELSequence[Display.ucSourceSEL] == YPBPR))
{
osdOSDDrawFMGainOffsetMenu();
if(tOSDSourcSELSequence[Display.ucSourceSEL] == VGA)
g_ucFactorySelectIndex = FMVGOS_RGAIN;
else if(tOSDSourcSELSequence[Display.ucSourceSEL] == YPBPR)
g_ucFactorySelectIndex = FMYGOS_PrGAIN;
osdOSDFactoryMenuMoveCTRL(0);
}
break;
case OES_VCOM_ADJUST:
osdOSDDrawFMVCOMMenu();
g_ucFactorySelectIndex = FMVS_VCOMDC;
osdOSDFactoryMenuMoveCTRL(0);
break;
#if USE_SSC_OSD
case OES_SSC_ADJUST:
osdOSDDrawFMSSCMenu();
g_ucFactorySelectIndex = FMSS_STEP;
osdOSDFactoryMenuMoveCTRL(0);
break;
#endif
#if USE_ROTATE_OSD
case OES_DISPLAY_MODE:
Display.ucSystemStauts ^= ROTATE_STATUS_FLAG;
if((Display.ucSystemStauts & ROTATE_STATUS_FLAG) == 0)
{
osdOSDPrintString(17, (OES_DISPLAY_MODE-OES_EXIT+2), 0, tNormalSTR, _GREEN, _DARKBLUE);
mstSetDisplayRotate(0);
}
else
{
osdOSDPrintString(17, (OES_DISPLAY_MODE-OES_EXIT+2), 0, tRotateSTR, _GREEN, _DARKBLUE);
mstSetDisplayRotate(1);
}
g_ucFactorySelectIndex = 0;
break;
#endif
}
}
void osdOSDSaveAdjustCTRL(void)
{
switch (g_ucOSDSelectIndex)
{
/*case SMS_CVBS1:
case SMS_CVBS2:
case SMS_SVIDEO:
case SMS_VGA:
case SMS_YPbPr:
case SMS_CCIR656:
osdOSDClearBlock(3, Display.ucSourceSEL+2, 1, 1);
Display.ucSourceSEL = g_ucOSDSelectIndex-SMS_CVBS1;
// TO do Source switch function for Maria IC 2005/1/25 Antony
// To do save data to EEPROM
// Then turn off display and exit OSD
osdOSDPrintIcon(3, (Display.ucSourceSEL+2), _CHECK, _CYAN, _DARKBLUE);
break;*/
case PMS_CONTRAST:
if(tOSDSourcSELSequence[Display.ucSourceSEL] == VGA)
Display.ucPcContrast = g_ucOSDItemValue;
else
Display.ucVedioContrast = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case PMS_BRIGHTNESS:
Display.ucBrightness= g_ucOSDItemValue;
// To do save data to EEPROM
break;
case PMS_HUE:
Display.ucHue = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case PMS_SATURATION:
Display.ucSaturation= g_ucOSDItemValue;
// To do save data to EEPROM
break;
case PMS_GAMMA:
Display.ucGamma = g_ucOSDItemValue;
// To do save data to EEPROM
break;
#if SCALING_OSD_EN
case PMS_SCALING:
if(g_ucOSDItemValue != Scaling_TypeNumbers)
Display.ucScalingMode= g_ucOSDItemValue;
mstSetScalingMode(Display.ucScalingMode);
// To do save data to EEPROM
break;
#endif //SCALING_OSD_EN
#if USE_ALLMACEOSD
case MMS_DLTI:
Display.ucDLTI = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case MMS_DCTI:
Display.ucDCTI = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case MMS_BLACKEXT:
Display.ucBlackExtension = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case MMS_WHITEEXT:
Display.ucWhiteExtension = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case MMS_FACORCOLOR:
Display.ucFavorColor = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case MMS_SHARPNESS:
Display.ucSharpness= g_ucOSDItemValue;
// To do save data to EEPROM
break;
#endif //USE_ALLMACEOSD
case OMS_LANGUAGE:
if (g_ucOSDItemValue != OSD_LANGUAGE_NUM)
Display.ucLanguage = g_ucOSDItemValue;
// To do save data to EEPROM
break;
case OMS_DURATION:
Display.ucOSDTimer= g_ucOSDItemValue;
// To do save data to EEPROM
break;
case OMS_TRANSPARENCY:
Display.ucTransparency= g_ucOSDItemValue;
// To do save data to EEPROM
break;
case OMS_DEFAULTRESET:
// To do recall all setting and save data to EEPROM
break;
default:
break;
}
}
void osdOSDSaveFactoryAdjustCTRL(void)
{
switch(g_ucFactorySelectIndex)
{
case FMVGOS_RGAIN:
Display.ucVgaRedGain = g_ucOSDItemValue;
break;
case FMVGOS_ROFFSET:
Display.ucVgaRedOffset = g_ucOSDItemValue;
break;
case FMVGOS_GGAIN:
Display.ucVgaGreenGain= g_ucOSDItemValue;
break;
case FMVGOS_GOFFSET:
Display.ucVgaGreenOffset= g_ucOSDItemValue;
break;
case FMVGOS_BGSIN:
Display.ucVgaBlueGain= g_ucOSDItemValue;
break;
case FMVGOS_BOFFSET:
Display.ucVgaBlueOffset= g_ucOSDItemValue;
break;
case FMYGOS_PrGAIN:
Display.ucYPbPrPrGain= g_ucOSDItemValue;
break;
case FMYGOS_PrOFFSET:
Display.ucYPbPrPrOffset= g_ucOSDItemValue;
break;
case FMYGOS_YGAIN:
Display.ucYPbPrYGain= g_ucOSDItemValue;
break;
case FMYGOS_YOFFSET:
Display.ucYPbPrYOffset= g_ucOSDItemValue;
break;
case FMYGOS_PbGSIN:
Display.ucYPbPrPbGain= g_ucOSDItemValue;
break;
case FMYGOS_PbOFFSET:
Display.ucYPbPrPbOffset= g_ucOSDItemValue;
break;
case FMVS_VCOMDC:
Display.ucVCOMdc= g_ucOSDItemValue;
break;
case FMVS_VCOMAC:
Display.ucVCOMac= g_ucOSDItemValue;
break;
#if USE_SSC_OSD
case FMSS_STEP:
Display.ucSSCStep = g_ucOSDItemValue;
break;
case FMSS_SPAN:
Display.ucSSCSpan = g_ucOSDItemValue;
break;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -