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

📄 osdpub902.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 2 页
字号:
#define __OSD902_LCD_OSD__

#include "Header\Include.h"
#if(_OSD_TYPE == _OSD902)

//-----------------------------------------------------------
void COsdHandler()
{
    COsdEventMsgProc();
    KeyMsgToOsdMsg();
    COsdEventMsgProc();
    if (ucCurrState == _ACTIVE_STATE)
    {
         COsdProc();
         if(ucKeyMessage != VK_NONE)
         {
             CTimerReactiveTimerEvent(SEC(stOsdUserData.OsdTimeout),COsdDispOsdTimerEvent);
         }
    }
    #if(_BURNIN_EN)
    else if(ucCurrState == _NOSIGNAL_STATE || ucCurrState == _NOSUPPORT_STATE )
    {
          if(GET_BURNIN_STATE() == BURNIN_ON)
          {
                BurnInRun();
          }
    }
    #endif
    if(ucOsdState == 255)
        NotUseFunc();    //mask
}
//-----------------------------------------------------------
void COsdEventMsgProc(void)
{
    switch(ucOsdEventMsg)
    {
        case _SHOW_NOSIGNAL_MSG:
        case _SHOW_NOCABLE_MSG:
        case _SHOW_NOSUPPORT_MSG:
             #if(_BURNIN_EN)
                 if(GET_BURNIN_STATE() == BURNIN_ON)
				 {
                    InitBurnIn();
				 }
             #endif
             ShowHint();
             break;
        case _SAVE_EE_MODEUSERDATA_MSG:
             CEepromSaveModeData(stModeInfo.ModeCurr);
             break;
        case _SAVE_EE_SYSTEMDATA_MSG:
             CEepromSaveSystemData();
             break;
        case _SAVE_EE_OSDUSERDATA_MSG:
             CEepromSaveOsdUserData();
             break;
        case _SAVE_EE_ADCDATA_MSG:
             CEepromSaveAdcData();
             break;
        case _SAVE_EE_COLORPROC0_MSG:
             CEepromSaveBriConData();
             break;
        case _SAVE_EE_COLORPROC1_MSG:
             CEepromSaveColorTempData();
             break;
        case _SAVE_EE_VEDIOCOLOR_MSG:
             #if(_VIDEO_SUPPORT)
             CEepromSaveVedioColor();
             #endif
             break;
        case _ENTER_FACTORY_MODE_MSG:
             //stOsdUserData.OsdSettingFlag |= _BIT7;
             EnterFactoryMenu();
             break;
        case _CHANGE_SOURCE_MSG:
             CLR_SOURCE_AUTOCHANGE();
             CEepromSaveSystemData();
             CModeResetMode();
             break;
        case _DO_AUTO_CONFIG:
             DoAuto();
        case _DO_SHOW_NOTE:
             ShowNote();
             break;     
           
        case OE_ENTER_MENU:          //0x80            //进入下一级菜单                (VK_MENU_IN)
             ucKeyMessage = VK_MENU_IN;
             COsdProc();
             break;

        // 只有在有菜单时 (ucOsdState != _MENU_NONE) 时才会发出以下消息
        case OE_MENU_OUT:            //0x81            //回到上一级菜单                (VK_MENU_OUT)
             ucKeyMessage = VK_MENU_OUT;
             COsdProc();
             break;
        case OE_MENU_ENTER_NEXT_MENU:// 0x82            //进入上级菜单的下一级菜单      (VK_MENU_OUT + VK_PREV_MENU + VK_MENU_IN)
             ucKeyMessage = VK_NEXT_MENU;
             COsdProc();
             break;

        case OE_MENU_ENTER_PREV_MENU:// 0x83            //进入上级菜单的上一级菜单      (VK_MENU_OUT + VK_NEXT_MENU + VK_MENU_IN)
             ucKeyMessage = VK_PREV_MENU;
             COsdProc();
             break;

        // 任何时候都可以发出以下的消息
        case OE_DO_AUTO:             //0x84             //Auto
             DoAuto();
             break;
        case OE_DO_CHANGE_SOURCE:    //0x85             //改变模式
             if(ChangeSource())
             {
                 CLR_SOURCE_AUTOCHANGE();
                 CEepromSaveSystemData();
                 CModeResetMode();
                 if(stSystemData.InputSource == _SOURCE_VIDEO8_TV)    fOsdDouble = 1;
                 else    fOsdDouble = 0;
            }
             break;
        case OE_GOTO_VGA:            //0x86             //切项到VGA

             break;
        case OE_SWITCH_TV_AV:        //0x87             //AV/TV/SV 切换

             break;
        // 只有在没有菜单时 (ucOsdState = _MENU_NONE) 时才会发出以下消息
        case OE_GO_VOLUME_ADJUST:    //0x88             //进入音量调节
        case OE_GO_BRIGHT_ADJUST:    //0x89             //进入亮度调节

             break;
        case OE_CH_INC:              //0x8a            //频道 +
             //CNextChannel();
             //ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
             break;             

        case OE_CH_DEC:              //0x8b            //频道 -
             //CPrevChannel();
             //ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
             break;             
        default:

            break;
    }
    ucOsdEventMsg = _NONE_MSG;
}
//-----------------------------------------------------------
void ShowHint()
{

}
//----------------------------------------------------------------------------------------------------
void ShowNote()
{

}
//----------------------------------------------------------------------------------------------------
void KeyMsgToOsdMsg(void)
{  
     switch(ucKeyMessage)
     {
         case _MENU_KEY_MESSAGE:        //2.Menu   Enter
              ucKeyMessage = VK_ENTER;
              break;
		 case _LEFT_RIGHT_KEY_MESSAGE:  
              if(ucOsdState == _MENU_NONE)
              {
                  EnterFactoryMenu();
              }
              break;
         case _RIGHT_KEY_MESSAGE:       //3.Up     Increase
              ucKeyMessage = VK_RIGHT;
              break;         
         case _LEFT_KEY_MESSAGE:        //4.Down   Decrease
              ucKeyMessage = VK_LEFT;
              break;         
         case _EXIT_KEY_MESSAGE:        
              EnterKeyProc();
              break;   
         case _ENTER_KEY_MESSAGE:        //5.Menu  Exit
              ucKeyMessage = VK_MENU_OUT;
              break;
         default:
              ucKeyMessage = VK_NONE;
              break;
     }
}
//----------------------------------------------------------------------------------------------------
void EnterKeyProc(void)
{
      if(ucOsdState == _MENU_NONE)
      {
           DoAuto();
           ucKeyMessage = VK_NONE; 
      }
      else
      {
           ucKeyMessage = VK_MENU_OUT;
      }
}
//----------------------------------------------------------------------------------------------------
void NotUseFunc()
{
    //SetOSDRamAddress(0,0,0);
    //DirectWOSDRam(0,0,0,0);
    //SetRowCmds(0,0);
    //Gotoxy(0,0,0);
    //OutputChar(0);
    //Textout(0);
    //PrintfDec(0);
    PrintfHex(0);
    //OSDPosition(0,0,0,0,0);
    //OSDLine(0,0,0,0,0);
    //OSDClear(0,0,0, 0,0,0);
    OutputDisplaySize();       //在当前的位置输出显示尺寸
    OutputRefrushRate();       //在当前的位置输出刷新频率
    OutputHSync();             //在当前的位置输出HSync
    //COsdFxCodeWrite(0);
    //COsdFxDisableOsd();
    COsdFxDrawWindow(0,0,0,0,0);
    COsdFxChangeWindowColor(0,0);
    //StrLen(0);
    //ValueInRangeChange(0,0,0,0,0);
    SetRTDPWM(0,0);
    //CAutoDoAutoConfig();
    //CAutoDoWhiteBalance();
    //CEepromSaveOsdUserData();
    //CEepromSaveBriConData();
    //CEepromSaveColorTempData();
    //CScalerLoadFont(0, 0, 0, 0);
    ShowMode();
    OSDSlider(0, 0, 0, 0, 0,0);   
    GetLanguegeCount();
    GetNextLanguage(0);
    GetPrevLanguage(0);
    //CheckLanguage();
    //FirstLanguage();
    LastLanguage();
    PrintfInt(0);
    //COsdFxEnableOsd();
    //DoReset();
    VPosGuage();
    HPosGuage();
    ClockGuage();
    CenterTextout(0,0,0);
    RightAlignTextOut(0,0,0);
    COsdFxCloseWindow(0);
    //ChangeSource();
    //SetOSDDouble(0);
    Set2BitColor(3, 2, 5, 2,0);
    GetCurrLanguagePos();
    IndexofLanuguage(0);

⌨️ 快捷键说明

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