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

📄 benq_osd.c

📁 realtek LCD monitor, TV开发源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
   if((stGlobalData3.OSDLock!=_OSD_LOCK) || (ucCurrState != _ACTIVE_STATE)) //0816 Modifed For OSD Lock At Sleep
   {
      if(ucOsdState==_MenuShowInputBenq) return;//DPMS 陪ボ INPUT CHANNEL い
      if(bHotKeyEnterConBri== _ON)
      {
            if(bHotKeySelectConBri==0)
            {
               ucOsdState=_Menu1stBrightBenq;
               ucAdjustRatio=AlignMapToPercent(stPictureData.BackLight,_BACKLIGHT_MAX,_BACKLIGHT_MIN);
               DisplayHotKeyBarArrawBenq(ITEMON(2));
            }
            else
            {
               ucOsdState=_Menu1stContrastBenq;
               ucAdjustRatio=AlignMapToPercent(stPictureData.Contrast,_CONTRAST_MAX,_CONTRAST_MIN);
               DisplayHotKeyBarArrawBenq(ITEMON(5));
            }
            bHotKeyAdjust=_TRUE;
            bAdjustMode  =_TRUE;
      }
#if(_TMDS_SUPPORT == _ENABLE)
      else if((ucOsdState == _MenuNoneBenq) || (ucOsdState == _MenuFastInputBenq))
      {
         if(bChangeSourceKey == _FALSE)
         {
            COsdFxDisableOsdBenq();
            ucOsdState=_MenuFastInputBenq;
            ucChangeSourceTemp=GET_INPUTSOURCE_STATUS();   //Record Recent Channel

            if(GET_INPUTSOURCE_STATUS() == _SOURCE_VGA)
               DisplayHintMessageBenq(OSD_INPUT_DSUB_STR_LAN_BENQ,OSD_INPUT_WINDOW_BACKGROUNG,&Font1BitInputMessageBackground[0]);
            else
               DisplayHintMessageBenq(OSD_INPUT_DVI_STR_LAN_BENQ,OSD_INPUT_WINDOW_BACKGROUNG,&Font1BitInputMessageBackground[0]);

            bChangeSourceKey=_TRUE;
            bHotKeyAdjust=_TRUE;

         }

         COsdFxHLineBenq(ROW(8),COL(0),WIDTH(_OSD_COL_SIZE_BENQ),0x8C,_WRITE_BYTE0);
         for(i=3;i<_OSD_ROW_SIZE_BENQ;i++)
            Display1BitColorWidthBenq(ROW(i),COL(0),LENGTH(8),(_CP_B_110_BENQ<<4));
         Display1BitColorWidthBenq(ROW(7),COL(7),LENGTH(_OSD_COL_SIZE_BENQ-8),_CP_B_238_BENQ<<4);

         if(ucChangeSourceTemp==_SOURCE_VGA)
         {
            COsdFxPutProporStringLanBenq(ROW(7),COL(13),OSD_INPUT_DSUB_STR_LAN_BENQ);
         }
         else
         {
            COsdFxPutProporStringLanBenq(ROW(7),COL(13),OSD_INPUT_DVI_STR_LAN_BENQ);
         }

         COsdFxEnableOsdBenq();
         //1202 sephinroth for QCS request
         if(GET_FACTORY_MODE())
            CTimerReactiveTimerEvent(SEC(1),COsdSwitchInput);
         else
            CTimerReactiveTimerEvent(SEC(2),COsdSwitchInput);
      }
#endif
   }
   else // osd locked
   {
      COsdRightNoneBenq();
   }
}
void COsdLeftNoneBenq(void)
{
   if((GET_INPUTSOURCE_TYPE() == _SOURCE_VGA) && (stGlobalData4.PictureMode == _STANDARD_PICTURE)
   && (stGlobalData0.ColorTemp == _USER_COLOR) && (stGlobalData4.BurnIn == _BURNIN_ON)
   && (bHotKeySelectColorMode == _OFF))
   {
      if((stModeInfo.ModeCurr == _MODE_1280x1024_75HZ) || (stModeInfo.ModeCurr == _MODE_1280x1024_76HZ))
      {
         COsdFxDisableOsdBenq();
         stGlobalData0.Language=_ENGLISH_BENQ;
         DisplayHintMessageBenq(OSD_WHITE_BALANCE_STR_BENQ,OSD_AUTOADJUSTING_BACKGROUND,&Font1BitAutoMessageBackground[0]);
         Display1BitColorWidthBenq(ROW(8),COL(1),WIDTH(3),_CP_B_110_BENQ);
         CAutoDoWhiteBalance();
         COsdFxPutStringBenq(ROW(9),COL(16),OSD_OK_STR_BENQ);
         CTimerDelayXms(500);
         CEepromLoadGlobalData0();
         COsdFxOsdTimerBenq();
      }
   }
   else
   {
      if(stGlobalData3.OSDLock!=_OSD_LOCK)
      {
         if(bHotKeyEnterConBri== _ON)
         {
            if(bHotKeySelectConBri == 0)
            {
               bHotKeySelectConBri = 1;
               COsdFxDrawWindowBenq(XSTART(21),YSTART(67),XEND(390),YEND(89),OSD_WINDOW_HIGHLIGHT_BENQ);
            }
            else
            {
               bHotKeySelectConBri = 0;
               COsdFxDrawWindowBenq(XSTART(21),YSTART(22),XEND(390),YEND(44),OSD_WINDOW_HIGHLIGHT_BENQ);
            }
         }
         else if(bHotKeySelectColorMode == _ON)
         {
            stGlobalData4.PictureMode++;
            if(stGlobalData4.PictureMode>=_PICTURE_AMOUNT)
            {
               stGlobalData4.PictureMode=_STANDARD_PICTURE;
            }
            OriginalPictureMode=stGlobalData4.PictureMode;
            if(stGlobalData4.PictureMode ==_SRGB_PICTURE)
               stGlobalData0.ColorTemp=_SRGB_COLOR;
            else if(stGlobalData4.PictureMode!=_STANDARD_PICTURE)
               stGlobalData0.ColorTemp=_SENSEYE_COLOR;
            else
               stGlobalData0.ColorTemp=stGlobalData0.StandardModeCT;
            DisplayHintMessageBenq(OSD_WHITE_BALANCE_STR_BENQ,OSD_MODE_CHANGE_BACKGROUND,&Font1BitModeMessageBackground[0]);
            CEepromSaveGlobalData0();
            CEepromSaveGlobalData4();
            CEepromLoadColorTempData();
            //CScalerSetBit(_VDISP_CTRL_28,0xDF,0x20);//MUTE ON WHEN GAMMA CHANGE START
            CTimerDelayXms(20);
            CAdjustAccessGammaTable();
            CAdjustDemoWindow();
            //CScalerSetBit(_VDISP_CTRL_28,0xDF,0x00 );//MUTE OFF WHEN GAMMA CHANGE FINISH
         }
         else
         {
            DisplayHintMessageBenq(OSD_WHITE_BALANCE_STR_BENQ,OSD_MODE_CHANGE_BACKGROUND,&Font1BitModeMessageBackground[0]);
            bHotKeySelectColorMode = _ON;
         }
      }
      else // osd locked
      {
         COsdRightNoneBenq();
      }
   }
}
void COsdRightNoneBenq(void)
{
   if(stGlobalData3.OSDLock!=_OSD_LOCK)
   {
#if(_DCR_MODE == _DCR_TYPE_1)
      if((stSystemData.DcrSetting != _OFF) && (stGlobalData4.PictureMode != _STANDARD_PICTURE) && (stGlobalData4.PictureMode != _SRGB_PICTURE)) return;
#endif
      if(bHotKeyEnterConBri == _ON)
      {
         if(bHotKeySelectConBri == 0)
         {
            bHotKeySelectConBri = 1;
            COsdFxDrawWindowBenq(XSTART(21),YSTART(67),XEND(390),YEND(89),OSD_WINDOW_HIGHLIGHT_BENQ);
         }
         else
         {
            bHotKeySelectConBri = 0;
            COsdFxDrawWindowBenq(XSTART(21),YSTART(22),XEND(390),YEND(44),OSD_WINDOW_HIGHLIGHT_BENQ);
         }
      }
      else
      {
         COsdFxDisableOsdBenq();
         bHotKeyEnterConBri = _ON;
         bHotKeySelectConBri = 0;
         ucAdjustRatio=AlignMapToPercent(stPictureData.BackLight,_BACKLIGHT_MAX,_BACKLIGHT_MIN);
         DisplayHotKeyBenq(OSD_BRIGHT_STR_LAN_BENQ);
         COsdFxDrawWindowBenq(XSTART(21),YSTART(22),XEND(390),YEND(44),OSD_WINDOW_HIGHLIGHT_BENQ);
      }
   }
   else // osd locked
   {
      COsdFxDisableOsdBenq();
      DisplayLoad2BitGlobalFontBenq();
      DisplayLoadLanguageFontBenq();
      DisplayMainWindowBenq(_ON);
      COsdRightMainSystemBenq();
      if(stGlobalData3.OSDLock==_OSD_LOCK)
         DisplaySelectAdjustBackHintBenq(_MOVE_EXIT);
      else
         DisplaySelectAdjustBackHintBenq(_MOVE_SELECT_EXIT);
      COsdFxEnableOsdBenq();
   }
}
void COsdMenuNoneBenq(void)
{
   if(bHotKeyEnterConBri == _ON)
   {
      bHotKeyEnterConBri = _OFF;
      COsdFxOsdTimerBenq();
   }
   else if(bHotKeySelectColorMode == _ON)
   {
      bHotKeySelectColorMode = _OFF;
      COsdFxOsdTimerBenq();
   }
   else if(bServiceMode==_TRUE)
   {
      DisplayServiceModeBenq();
      DisplaySelectServiceModeBenq();
   }
   else
   {
      COsdFxDisableOsdBenq();
      DisplayLoad2BitGlobalFontBenq();
      DisplayLoadLanguageFontBenq();
      DisplayMainWindowBenq(_ON);
      COsdRightMainSystemBenq();
      if(stGlobalData3.OSDLock==_OSD_LOCK)
         DisplaySelectAdjustBackHintBenq(_MOVE_EXIT);
      else
         DisplaySelectAdjustBackHintBenq(_MOVE_SELECT_EXIT);
      COsdFxEnableOsdBenq();

   }
}


void COsdEnterMainDisplayBenq(void)
{
   if(GET_INPUTSOURCE_TYPE()==_SOURCE_VGA)
   {
      if(stGlobalData3.OSDLock!=_OSD_LOCK)
      {
         ucOsdState=_Menu1stAutoBenq;
         DisplayTabSelectBenq(ITEMOFF(0));
         DisplayGreenEnterIconBenq(ITEMON(0));
         DisplaySelectAdjustBackHintBenq(_MOVE_SELECT_BACK);
      }
   }
}
void COsdLeftMainDisplayBenq(void)
{
#if(_AUDIO_SUPPORT==_ON)
   COsdRightMainAudioBenq();
#else
   COsdRightMainAdvancePictureBenq();
#endif
}
void COsdRightMainDisplayBenq(void)
{
   ucOsdState=_MenuMainPictureBenq;
   DisplayClearLastPageBenq();
   DisplayTabSelectBenq(ITEMON(1));
   DisplayTitleBenq(OSD_PICTURE_STR_LAN_BENQ);
   DisplayMainPicturePageBenq();
}
void COsdMenuMainDisplayBenq(void)
{
   COsdFxOsdTimerBenq();
}
void COsdEnterMainPictureBenq(void)
{
   if(stGlobalData3.OSDLock!=_OSD_LOCK)
   {
      DisplayTabSelectBenq(ITEMOFF(1));
#if(_DCR_MODE == _DCR_TYPE_1)
   if((stSystemData.DcrSetting == _OFF)||(stGlobalData4.PictureMode==_STANDARD_PICTURE)||(stGlobalData4.PictureMode==_SRGB_PICTURE))
   {
      COsdRight1stDynamicContrastBenq();
   }
   else
   {
      if(GET_FACTORY_MODE())
         COsdRight1stContrastBenq();
      else
         COsdRight1stColorBenq();
   }
#else
      COsdRight1stColorBenq();
#endif
   }
}
void COsdLeftMainPictureBenq(void)
{
   COsdRightMainSystemBenq();
}

void COsdRightMainPictureBenq(void)
{
   ucOsdState=_MenuMainAdvancePictureBenq;
   DisplayClearLastPageBenq();
   DisplayTitleBenq(OSD_PICTURE_ADVANCE_STR_LAN_BENQ);
   DisplayTabSelectBenq(ITEMON(2));
   if(stGlobalData0.Language==_JAPAN_BENQ) // LOAD "

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -