⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_osdfac.c

📁 LCD TV,uVision2 Project, (C) Keil Software
💻 C
📖 第 1 页 / 共 2 页
字号:
              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 + -