📄 lcd_osdfac.c
字号:
ucOsdState = FAC_6500_B_ADJ;
break;
case FAC_6500_RETURN:
CLR_SUBITEM(24,6,6);
ucOsdState = FAC_6500K;
FMItemState(1);
break;
case FAC_5800_R:
SUBITEM_STATE2(12,7,3);
ucOsdState = FAC_5800_R_ADJ;
break;
case FAC_5800_G:
SUBITEM_STATE2(16,7,3);
ucOsdState = FAC_5800_G_ADJ;
break;
case FAC_5800_B:
SUBITEM_STATE2(20,7,3);
ucOsdState = FAC_5800_B_ADJ;
break;
case FAC_5800_RETURN:
CLR_SUBITEM(24,7,6);
ucOsdState = FAC_5800K;
FMItemState(1);
break;
case FAC_SRGB_R:
SUBITEM_STATE2(12,8,3);
ucOsdState = FAC_SRGB_R_ADJ;
break;
case FAC_SRGB_G:
SUBITEM_STATE2(16,8,3);
ucOsdState = FAC_SRGB_G_ADJ;
break;
case FAC_SRGB_B:
SUBITEM_STATE2(20,8,3);
ucOsdState = FAC_SRGB_B_ADJ;
break;
case FAC_SRGB_RETURN:
CLR_SUBITEM(24,8,6);
ucOsdState = FAC_SRGB;
FMItemState(1);
break;
case FAC_USER_R:
SUBITEM_STATE2(12,9,3);
ucOsdState = FAC_USER_R_ADJ;
break;
case FAC_USER_G:
SUBITEM_STATE2(16,9,3);
ucOsdState = FAC_USER_G_ADJ;
break;
case FAC_USER_B:
SUBITEM_STATE2(20,9,3);
ucOsdState = FAC_USER_B_ADJ;
break;
case FAC_USER_RETURN:
CLR_SUBITEM(24,9,6);
ucOsdState = FAC_USER;
FMItemState(1);
break;
}
}
//-----------------------------------------------------------
void FMColorLR(unsigned char LR)
{
switch(ucOsdState)
{
case FAC_OFFSET_R:
case FAC_OFFSET_G:
case FAC_OFFSET_B:
case FAC_OFFSET_RETURN:
FMColorState(FM_ROW_ADC_OFFSET,FAC_OFFSET_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_OFFSET_R,FAC_OFFSET_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_ADC_OFFSET,FAC_OFFSET_R,FM_STATE_SELECT);
break;
case FAC_GAIN_R:
case FAC_GAIN_G:
case FAC_GAIN_B:
case FAC_GAIN_RETURN:
FMColorState(FM_ROW_ADC_GAIN,FAC_GAIN_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_GAIN_R,FAC_GAIN_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_ADC_GAIN,FAC_GAIN_R,FM_STATE_SELECT);
break;
case FAC_9300_R:
case FAC_9300_G:
case FAC_9300_B:
case FAC_9300_RETURN:
FMColorState(FM_ROW_9300K,FAC_9300_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_9300_R,FAC_9300_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_9300K,FAC_9300_R,FM_STATE_SELECT);
break;
case FAC_6500_R:
case FAC_6500_G:
case FAC_6500_B:
case FAC_6500_RETURN:
FMColorState(FM_ROW_6500K,FAC_6500_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_6500_R,FAC_6500_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_6500K,FAC_6500_R,FM_STATE_SELECT);
break;
case FAC_5800_R:
case FAC_5800_G:
case FAC_5800_B:
case FAC_5800_RETURN:
FMColorState(FM_ROW_5800K,FAC_5800_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_5800_R,FAC_5800_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_5800K,FAC_5800_R,FM_STATE_SELECT);
break;
case FAC_SRGB_R:
case FAC_SRGB_G:
case FAC_SRGB_B:
case FAC_SRGB_RETURN:
FMColorState(FM_ROW_SRGB,FAC_SRGB_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_SRGB_R,FAC_SRGB_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_SRGB,FAC_SRGB_R,FM_STATE_SELECT);
break;
case FAC_USER_R:
case FAC_USER_G:
case FAC_USER_B:
case FAC_USER_RETURN:
FMColorState(FM_ROW_USER,FAC_USER_R,FM_STATE_CLR);
ucOsdState = ValueInRangeChange(FAC_USER_R,FAC_USER_RETURN,ucOsdState,LR,1);
FMColorState(FM_ROW_USER,FAC_USER_R,FM_STATE_SELECT);
break;
}
}
//-----------------------------------------------------------
void FMColorState(unsigned char y,unsigned char Def_R,unsigned char state) // 0 : Clear 1 : Select 2 : Adjust
{
unsigned char x = (ucOsdState - Def_R) * 4 + 12;
unsigned char len;
if(ucOsdState - Def_R == 3) // return item
len = 6;
else len = 3;
if(state == 0)
CLR_SUBITEM(x,y,len);
else if(state == 1)
SUBITEM_STATE1(x,y,len);
else SUBITEM_STATE2(x,y,len);
}
//-----------------------------------------------------------
//-----------------------------------------------------------
void FMColorAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: FMColorAdjMenu(); break;
case VK_LEFT: FMColorAdjLR(1); break;
case VK_RIGHT: FMColorAdjLR(0); break;
}
}
//-----------------------------------------------------------
void FMColorAdjMenu()
{
switch(ucOsdState)
{
case FAC_OFFSET_R_ADJ:
ucOsdState = FAC_OFFSET_R;
SUBITEM_STATE1(12,3,3);
break;
case FAC_OFFSET_G_ADJ:
ucOsdState = FAC_OFFSET_G;
SUBITEM_STATE1(16,3,3);
break;
case FAC_OFFSET_B_ADJ:
ucOsdState = FAC_OFFSET_B;
SUBITEM_STATE1(20,3,3);
break;
case FAC_GAIN_R_ADJ:
ucOsdState = FAC_GAIN_R;
SUBITEM_STATE1(12,4,3);
break;
case FAC_GAIN_G_ADJ:
ucOsdState = FAC_GAIN_G;
SUBITEM_STATE1(16,4,3);
break;
case FAC_GAIN_B_ADJ:
ucOsdState = FAC_GAIN_B;
SUBITEM_STATE1(20,4,3);
break;
case FAC_9300_R_ADJ:
ucOsdState = FAC_9300_R;
SUBITEM_STATE1(12,5,3);
break;
case FAC_9300_G_ADJ:
ucOsdState = FAC_9300_G;
SUBITEM_STATE1(16,5,3);
break;
case FAC_9300_B_ADJ:
ucOsdState = FAC_9300_B;
SUBITEM_STATE1(20,5,3);
break;
case FAC_6500_R_ADJ:
ucOsdState = FAC_6500_R;
SUBITEM_STATE1(12,6,3);
break;
case FAC_6500_G_ADJ:
ucOsdState = FAC_6500_G;
SUBITEM_STATE1(16,6,3);
break;
case FAC_6500_B_ADJ:
ucOsdState = FAC_6500_B;
SUBITEM_STATE1(20,6,3);
break;
case FAC_5800_R_ADJ:
ucOsdState = FAC_5800_R;
SUBITEM_STATE1(12,7,3);
break;
case FAC_5800_G_ADJ:
ucOsdState = FAC_5800_G;
SUBITEM_STATE1(16,7,3);
break;
case FAC_5800_B_ADJ:
ucOsdState = FAC_5800_B;
SUBITEM_STATE1(20,7,3);
break;
case FAC_SRGB_R_ADJ:
ucOsdState = FAC_SRGB_R;
SUBITEM_STATE1(12,8,3);
break;
case FAC_SRGB_G_ADJ:
ucOsdState = FAC_SRGB_G;
SUBITEM_STATE1(16,8,3);
break;
case FAC_SRGB_B_ADJ:
ucOsdState = FAC_SRGB_B;
SUBITEM_STATE1(20,8,3);
break;
case FAC_USER_R_ADJ:
ucOsdState = FAC_USER_R;
SUBITEM_STATE1(12,9,3);
break;
case FAC_USER_G_ADJ:
ucOsdState = FAC_USER_G;
SUBITEM_STATE1(16,9,3);
break;
case FAC_USER_B_ADJ:
ucOsdState = FAC_USER_B;
SUBITEM_STATE1(20,9,3);
break;
}
}
//-----------------------------------------------------------
void FMColorAdjLR(unsigned char LR)
{
// Change Value Only
switch(ucOsdState)
{
case FAC_OFFSET_R_ADJ:
stAdcData.AdcOffset[_RED] = ValueInRangeChange(0,255,stAdcData.AdcOffset[_RED],LR,0);
CAdjustAdcOffset();
ucOsdEventMsg = _SAVE_EE_ADCDATA_MSG;
break;
case FAC_OFFSET_G_ADJ:
stAdcData.AdcOffset[_GREEN] = ValueInRangeChange(0,255,stAdcData.AdcOffset[_GREEN],LR,0);
CAdjustAdcOffset();
ucOsdEventMsg = _SAVE_EE_ADCDATA_MSG;
break;
case FAC_OFFSET_B_ADJ:
stAdcData.AdcOffset[_BLUE] = ValueInRangeChange(0,255,stAdcData.AdcOffset[_BLUE],LR,0);
CAdjustAdcOffset();
ucOsdEventMsg = _SAVE_EE_ADCDATA_MSG;
break;
case FAC_GAIN_R_ADJ:
stAdcData.AdcGain[_RED] = ValueInRangeChange(0,255,stAdcData.AdcGain[_RED],LR,0);
CAdjustAdcGain();
ucOsdEventMsg = _SAVE_EE_ADCDATA_MSG;
break;
case FAC_GAIN_G_ADJ:
stAdcData.AdcGain[_GREEN] = ValueInRangeChange(0,255,stAdcData.AdcGain[_GREEN],LR,0);
CAdjustAdcGain();
ucOsdEventMsg = _SAVE_EE_ADCDATA_MSG;
break;
case FAC_GAIN_B_ADJ:
stAdcData.AdcGain[_BLUE] = ValueInRangeChange(0,255,stAdcData.AdcGain[_BLUE],LR,0);
CAdjustAdcGain();
ucOsdEventMsg = _SAVE_EE_ADCDATA_MSG;
break;
case FAC_9300_R_ADJ:
case FAC_6500_R_ADJ:
case FAC_5800_R_ADJ:
case FAC_SRGB_R_ADJ:
case FAC_USER_R_ADJ:
stColorTempData.ColorTemp[_RED] = ValueInRangeChange(0,255,stColorTempData.ColorTemp[_RED],LR,0);
CAdjustContrast();
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
break;
case FAC_9300_G_ADJ:
case FAC_6500_G_ADJ:
case FAC_5800_G_ADJ:
case FAC_SRGB_G_ADJ:
case FAC_USER_G_ADJ:
stColorTempData.ColorTemp[_GREEN] = ValueInRangeChange(0,255,stColorTempData.ColorTemp[_GREEN],LR,0);
CAdjustContrast();
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
break;
case FAC_9300_B_ADJ:
case FAC_6500_B_ADJ:
case FAC_5800_B_ADJ:
case FAC_SRGB_B_ADJ:
case FAC_USER_B_ADJ:
stColorTempData.ColorTemp[_BLUE] = ValueInRangeChange(0,255,stColorTempData.ColorTemp[_BLUE],LR,0);
CAdjustContrast();
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
break;
}
// Draw Curr Data
switch(ucOsdState)
{
case FAC_OFFSET_R_ADJ: OUTPUT_OFFSET_R(); break;
case FAC_OFFSET_G_ADJ: OUTPUT_OFFSET_G(); break;
case FAC_OFFSET_B_ADJ: OUTPUT_OFFSET_B(); break;
case FAC_GAIN_R_ADJ: OUTPUT_GAIN_R(); break;
case FAC_GAIN_G_ADJ: OUTPUT_GAIN_G(); break;
case FAC_GAIN_B_ADJ: OUTPUT_GAIN_B(); break;
case FAC_9300_R_ADJ: OUTPUT_9300_R(); break;
case FAC_9300_G_ADJ: OUTPUT_9300_G(); break;
case FAC_9300_B_ADJ: OUTPUT_9300_B(); break;
case FAC_6500_R_ADJ: OUTPUT_6500_R(); break;
case FAC_6500_G_ADJ: OUTPUT_6500_G(); break;
case FAC_6500_B_ADJ: OUTPUT_6500_B(); break;
case FAC_5800_R_ADJ: OUTPUT_5800_R(); break;
case FAC_5800_G_ADJ: OUTPUT_5800_G(); break;
case FAC_5800_B_ADJ: OUTPUT_5800_B(); break;
case FAC_SRGB_R_ADJ: OUTPUT_SRGB_R(); break;
case FAC_SRGB_G_ADJ: OUTPUT_SRGB_G(); break;
case FAC_SRGB_B_ADJ: OUTPUT_SRGB_B(); break;
case FAC_USER_R_ADJ: OUTPUT_USER_R(); break;
case FAC_USER_G_ADJ: OUTPUT_USER_G(); break;
case FAC_USER_B_ADJ: OUTPUT_USER_B(); break;
}
}
//-----------------------------------------------------------
//-----------------------------------------------------------
void FMBrightAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: FMBrightAdjMenu(); break;
case VK_LEFT: FMBrightAdjLR(1); break;
case VK_RIGHT: FMBrightAdjLR(0); break;
}
}
//-----------------------------------------------------------
void FMBrightAdjMenu()
{
CLR_SUBITEM(12,10,3);
ucOsdState = FAC_BRIGHTNESS;
FMItemState(1);
}
//-----------------------------------------------------------
void FMBrightAdjLR(unsigned char LR)
{
stConBriData.Brightness = ValueInRangeChange(0,255,stConBriData.Brightness,LR,0);
OUTPUT_BIRGHT();
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
}
//-----------------------------------------------------------
//-----------------------------------------------------------
void FMContrastAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: FMContrastAdjMenu(); break;
case VK_LEFT: FMContrastAdjLR(1); break;
case VK_RIGHT: FMContrastAdjLR(0); break;
}
}
//-----------------------------------------------------------
void FMContrastAdjMenu()
{
CLR_SUBITEM(12,11,3);
ucOsdState = FAC_CONTRAST;
FMItemState(1);
}
//-----------------------------------------------------------
void FMContrastAdjLR(unsigned char LR)
{
stConBriData.Contrast = ValueInRangeChange(0,255,stConBriData.Contrast,LR,0);
OUTPUT_CONTRAST();
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
}
//-----------------------------------------------------------
//-----------------------------------------------------------
void FMBurnInAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: FMBurnInAdjMenu(); break;
case VK_LEFT:
case VK_RIGHT:
FMBurnInAdjLR();
break;
}
}
//-----------------------------------------------------------
void FMBurnInAdjMenu()
{
CLR_SUBITEM(12,12,3);
ucOsdState = FAC_BURIN_IN;
FMItemState(1);
}
//-----------------------------------------------------------
void FMBurnInAdjLR()
{
if(GET_BURNIN_STATE() == BURNIN_ON)
SET_BURNIN_STATE(BURNIN_OFF);
else SET_BURNIN_STATE(BURNIN_ON);
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
FMOutputBurnInState();
}
//-----------------------------------------------------------
#endif //#if(FACTORY_MENU_EN)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -