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

📄 osdpub902.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 2 页
字号:
    #if(_VIDEO_TV_SUPPORT)
    CEepromSaveVedioColor();
    #endif

    #if(_VIDEO_TV_SUPPORT && _TV_CHIP != _TV_NONE)
    CSaveChannelFreq(0,0);
    CSaveChannelColorType(0,0);
    CSaveChannelSkip(0,0);
    CSaveChannelSoundType(0, 0);
    CPrevChannel();
    CNextChannel();
    CTvAutoSearch();
    CManualSearch(0,0);
    CTuningCurrentChannel(0, 0);        
    MChannelProc();
    MSystemProc();
    MTuningProc();
    MSwapProc();
    MManualSearchProc();
    #endif 
}
//----------------------------------------------------------------------------------------------------
void COsdProc()
{
     switch(stSystemData.InputSource)
     {
         case _SOURCE_VGA:
         case _SOURCE_DVI:
             OSDVGAProc();
             break;

         case _SOURCE_VIDEO8_AV:
         case _SOURCE_VIDEO8_SV:
         case _SOURCE_VIDEO8_YUV:
             //OSDAVProc();
             break;
  
         case _SOURCE_VIDEO8_TV:
             //OSDTVProc();
             break;

     }
     
     #if(_FACTORY_MENU_EN)
        COsdFacHandler();
     #endif     
}
//----------------------------------------------------------------------------------------------------
void COsdDispFirstTimeLoadFont(void)
{
    COsdFxDisableOsd();

    SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);

    CScalerLoadFont(FntGlobal,0x00,127,_COMPRESS_FONT);
}
//----------------------------------------------------------------------------------------------------
void COsdDispOsdTimerEvent(void)
{
     COsdFxDisableOsd();
     ucOsdState = _MENU_NONE;
}
//---------------------------------------------------------------------------
void InitOsd()
{
    COsdFxDisableOsd();
    if(fOsdDouble)    
        SetOSDDouble(OSD_DOUBLE_WIDTH_ENABLE);
    else              
        SetOSDDouble(0);
    SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);     //  1
    SetRowCmds(ROW_COUNT,COL_WIDTH);                             //  2
    COsdFxCodeWrite(ucCloseAllWindow);                           //  Close all windows

    LoadPalette();
}
//---------------------------------------------------------------------------
void InitOSDFrame()
{
    InitOsd();

    DrawMainPage();
    
    if(fOsdDouble)
    	OSDPosition(MAIN_OSD_WIDTH * 2 ,MAIN_OSD_HEIGHT,stOsdUserData.OsdHPos/2,stOsdUserData.OsdVPos,0x01);
    else 
        OSDPosition(MAIN_OSD_WIDTH ,MAIN_OSD_HEIGHT,stOsdUserData.OsdHPos,stOsdUserData.OsdVPos,0x01);
}
//---------------------------------------------------------------------------
void DrawMainPage()
{
     switch(stSystemData.InputSource)
     {
         #if(_VGA_SUPPORT)
         case _SOURCE_VGA:
         case _SOURCE_DVI:
              DrawVGAMainPage();
             break;
         #endif
         #if(_VIDEO_SUPPORT)
         case _SOURCE_VIDEO8_AV:
         case _SOURCE_VIDEO8_SV:
         case _SOURCE_VIDEO8_YUV:
              //DrawAVMainPage();
              break;
         #endif
  
         #if(_TV_CHIP != _TV_NONE)
         case _SOURCE_VIDEO8_TV:
              //DrawTVMainPage();
              break;
         #endif
     }
}
//---------------------------------------------------------------------------
void DispIcon(unsigned char x,unsigned char y,unsigned char ucIconBaseAddr)
{
     Gotoxy(x,y,BYTE_DISPLAY);

     pData[0] = ucIconBaseAddr;
     pData[1] = ucIconBaseAddr + 1;
     CScalerWrite(_OSD_DATA_PORT_92,2,pData,_NON_AUTOINC);
}
//---------------------------------------------------------------------------
void Set2BitColor(unsigned char x,unsigned char y,
                  unsigned char Width,unsigned char Height,
                  unsigned char code *Style)
{
     OSDClear(y,Height,x,Width,Style[0],THE_BYTE0);
     OSDClear(y,Height,x,Width,Style[1],THE_BYTE2);
}
//---------------------------------------------------------------------------
void OSDSlider_Base(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range,unsigned char color)
{
    unsigned int bound;
    unsigned char i,c;
    OSDLine(row, col + 1, length, color, BYTE_COLOR);   // Set Slider Attribute. 4 extra columns for space/numbers/space
    bound   = length * value;
    Gotoxy(col,row,THE_BYTE1);
    OutputChar(0x21);          // Left Border
    for (i = 1; i <= length; i++)
    {
        if (bound)
        {
            if(bound >= range)
            {
                c       = 0x28;
                bound   = bound - range;
            }
            else
            {
                color   = (bound << 4) / range;
                bound   = 0;
                if (4 > color)                    c = 0x23;
                else if (7 > color)               c = 0x24;
                else if (10 > color)              c = 0x25;
                else if (13 > color)              c = 0x26;
                else                              c = 0x27;
            }
        }
        else
        {
            c = 0x22;
        }
        OutputChar(c);
    }
    OutputChar(0x29);    // Right Border
    //Gotoxy(length+col-2,row-1,BYTE_DISPLAY);           
    //PrintfDec(value);    //值显示在右边
}
//---------------------------------------------------------------------------
void OSDSlider(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range,unsigned char color)
{     
    OSDSlider_Base(row, col, length, value, range,color);    
    Gotoxy(length+col-2,row-1,BYTE_DISPLAY);           
    PrintfDec(value);    //值显示在右边
}
//---------------------------------------------------------------------------
void OSDSliderTime(unsigned char row, unsigned char col, unsigned char length, unsigned char value, unsigned char range,unsigned char color)
{     
    OSDSlider_Base(row, col, length, value, range,color);    
    Gotoxy(length+col-2,row-1,BYTE_DISPLAY);           
    PrintfDec(value + MIN_TIMEOUT);    //值显示在右边
}
//---------------------------------------------------------------------------

void LoadLanguageFont()
{
     switch(GET_LANGUAGE)
     {
         case _LNG_CHINESE_S:
              CScalerLoadFont(FntCHI_S, 0x80,52,_COMPRESS_FONT);
              break;
         case _LNG_CHINESE_T:
              CScalerLoadFont(FntCHI_T, 0x80,52,_COMPRESS_FONT);
              break;     
         case _LNG_JAPANESE:
              CScalerLoadFont(FntJapanese, 0x80,71, _COMPRESS_FONT);
              break;
     }
}
//----------------------------------------------------------------------------------------------------
void LoadPalette()
{
     switch(GET_OSDCOLOR())
     {
          case 0:
               CAdjustColorPalette(tPALETTE_0);
               break;
          default:
               break;
     }

}
//---------------------------------------------------------------------------------------------------------------------
void CenterLineTextout(unsigned char code *Text,unsigned char row,unsigned char length)
{
     unsigned char Len = StrLen(Text);
     if(length < Len)      
     	length = 0;
     else                  
     	length = (length - Len) / 2;
     Gotoxy(length,row,THE_BYTE1);
     Textout(Text);
}
//---------------------------------------------------------------------------------------------------------------------
void RightAlignLineTextOut(unsigned char code *Text,unsigned char row,unsigned char length)
{
     unsigned char Len = StrLen(Text);     
     if(length>Len)
     	length =length-Len;
     else
     	length =0;
     
     Gotoxy(length,row,THE_BYTE1);
     Textout(Text);
}
//---------------------------------------------------------------------------------------------------------------------
void ShowMode()
{
    OutputDisplaySize();
    OutputChar(' ');OutputChar('@');OutputChar(' ');
    OutputRefrushRate();
}
//----------------------------------------------------------------------------------------------------
void CFirstInitOsd(void)
{

}
//----------------------------------------------------------------------------------------------------
#endif	//#if(_OSD_TYPE == _OSD902)

⌨️ 快捷键说明

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