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

📄 osdvga903.c

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

#include "Header\Include.h"

#if(_OSD_TYPE == _OSD903)

#if(_TMDS_SUPPORT || _VGA_SUPPORT)
//------------------------------------------------------------
void OSDVGAProc()
{
    switch(ucOsdState)
    {
       case _MENU_NONE:                     MNonePorc();             break;
       case _MENU_PICTURE:                   
       case _MENU_COLOR:                     
       case _MENU_IMAGE:                     
       case _MENU_OSD:                       
       case _MENU_SETUP:                     
       case _MENU_INFOR:                    MMainMenuProc();         break;                     

       case _MENU_BRIGHT:                    
       case _MENU_CONTRASS:                 MPicPageProc();          break;

       case _MENU_MAGICCOLOR:
       case _MENU_COLORTONE:                 
       case _MENU_COLORCONTROL:              
       case _MENU_GAMMA:                    MColorPageProc();        break;  

       case _MENU_COARSE:                   
       case _MENU_FINE:                      
       case _MENU_SHARPNESS:                 
       case _MENU_HPOS:                      
       case _MENU_VPOS:                      MImagePageProc();       break;

       case _MENU_LANGUAGE:                  
       case _MENU_OHPOS:                     
       case _MENU_OVPOS:                     
       case _MENU_TRANSPAR:                  
       case _MENU_PTIME:                     MOsdPageProc();         break;

       case _MENU_AUTOSIGNAL:                
       case _MENU_IMAGRESET:                 
       case _MENU_COLORESET:                 MSetupPageProc();       break;

       case _MENU_COOL:
       case _MENU_NORMAL:                    
       case _MENU_WARM:                      
       case _MENU_CUSTOM:                    MColorTonePageProc();   break;

       case _MENU_RED:
       case _MENU_GREEN:
       case _MENU_BLUE:                      MColorAdjustPageProc(); break;

       case _MENU_MOD1:
       case _MENU_MOD2:
       case _MENU_MOD3:                      MGammaAdjustPageProc();break;

       case _MENU_OFF:                        
       case _MENU_DEMO:                      
       case _MENU_FULL:                        
       case _MENU_INTELLIGENT:                MMagicColorAdj();      break;
       
       case _MENU_CONTRAST_ADJ:               MContrastProc();       break;
       case _MENU_BRIGHTNESS_ADJ:             MBrightProc();         break;

       case _MENU_RED_ADJ:                    MRedProc();            break;
       case _MENU_GREEN_ADJ:                  MGreenProc();          break;
       case _MENU_BLUE_ADJ:                   MBlueProc();           break;

       case _MENU_COARSE_ADJ:                 MCoarseProc();         break;
       case _MENU_FINE_ADJ:                   MFineProc();           break;

       case _MENU_SHARPNESS0:
       case _MENU_SHARPNESS1:
       case _MENU_SHARPNESS2:
       case _MENU_SHARPNESS3:
       case _MENU_SHARPNESS4:                 MSharpProc();          break;

       case _MENU_HPOS_ADJ:                   MHPosProc();           break;
       case _MENU_VPOS_ADJ:                   MVPosProc();           break;

       case _MENU_LANGUAGE_ADJ:               MLanguageProc();       break;
       case _MENU_OHPOS_ADJ:                  MOHPosProc();          break;
       case _MENU_OVPOS_ADJ:                  MOVPosProc();          break;
       case _MENU_TRANSPAR_ADJ:               MTransparProc();       break;

       case _MENU_PTIME_ADJ:                  MPtimeProc();          break;
      
       case _MENU_AUTOSIGNAL_ADJ:             MAutoSignalAdj();      break;
       case _MENU_IMAGRESET_ADJ:              MImageResetAdj();      break;
       case _MENU_COLORESET_ADJ:              MColorResetAdj();      break;

       case _MAGIC_CUSTOM:
       case _MAGIC_TEXT:                     
       case _MAGIC_INTERNET:                 
       case _MAGIC_ENTERTRAIN:        
       case _MAGIC_SPORT:  
       case _MAGIC_THEATER:                   OSDMagicProc();        break;
#if(_VOLUME_CTRL_TYPE == _AUDIO_NONE)
       case _DIALOG_BRIGHT:                   OSDBrightProc();       break;
#else                       
       case _DIALOG_VOLUME:                   OSDVolumeProc();       break;                   
#endif       
       default:                                                      break;

      }
}
//------------------------------------------------------------
void DrawVGAMainPage()
{
    COsdFxDisableOsd();
    CAdjustColorPalette(tPALETTE_0);

    SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);
    SetRowCmds(ROW_COUNT,COL_WIDTH);
    COsdFxCodeWrite(ucCloseAllWindow);
    COsdFxDrawWindow(XSTART(70), YSTART(15), XEND(360), YEND(252), tOSD_WINDOW0_STYLE);
    COsdFxDrawWindow(XSTART(78), YSTART(26), XEND(352), YEND(241), tOSD_WINDOW1_STYLE);
    COsdFxCodeWrite(ucMain_Frame);
//    OSDPosition(372,324,50,50,0x01);   
    OSDPosition(MAIN_OSD_WIDTH ,MAIN_OSD_HEIGHT,stOsdUserData.OsdHPos,stOsdUserData.OsdVPos,0x01);
    COsdFxEnableOsd();     

}
//------------------------------------------------------------
void MNonePorc()
{
     switch(ucKeyMessage)
     {                                                 
         case VK_MENU_OUT:                              break;
         case VK_MENU_IN:       MNoneMenuIn();          break;
         case VK_PREV_MENU:                             break;
         case VK_NEXT_MENU:                             break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MNoneMenuIn();          break;
         case VK_LEFT:          MNoneLR(0);             break;
         case VK_RIGHT:         MNoneLR(1);             break;         
     }
}
//------------------------------------------------------------
void MNoneMenuIn()
{

     COsdFxDisableOsd();
     LoadLanguageFont();
//     CScalerLoadFont(Font_Icon,0x00,0x0f,_COMPRESS_FONT); 
     //这个本来可以不加的,但是有时候有某个图标会出现有点乱,所以这里重新加载这个图标
     DrawMainPage();
     ucOsdState = _MENU_PICTURE;
     Show_Title();
     DrawPicPage();
     DrawItemSelect(1);   
}
//------------------------------------------------------------
void MNoneLR(unsigned char LR)
{
     LoadLanguageFont1();
    #if(_TMDS_SUPPORT)
     if(LR)
    {
      #if(_VOLUME_CTRL_TYPE == _AUDIO_NONE)            
          ucOsdState = _DIALOG_BRIGHT;
          Bright_Dialog_Draw();
      #else
          ucOsdState = _DIALOG_VOLUME;
          Volume_Dialog_Draw();
      #endif
    }
    else
    {
       DoAuto();
    }
    #else
    if(LR)
    {
      #if(_VOLUME_CTRL_TYPE == _AUDIO_NONE)            
          ucOsdState = _DIALOG_BRIGHT;
          Bright_Dialog_Draw();
      #else
          ucOsdState = _DIALOG_VOLUME;
          Volume_Dialog_Draw();
      #endif
    }
    else
    {
       ucOsdState = _MAGIC_CUSTOM;
       Magic_Dialog_Draw();
    }
    #endif

/*
     if(LR)
     {
        ucOsdState = _MAGIC_CUSTOM;
        Magic_Dialog_Draw();
     }
     else
     { 
#if(_VOLUME_CTRL_TYPE == _AUDIO_NONE)            
        ucOsdState = _DIALOG_BRIGHT;
        Bright_Dialog_Draw();
#else
        ucOsdState = _DIALOG_VOLUME;
        Volume_Dialog_Draw();
#endif
     }
*/
}
//------------------------------------------------------------
void MMainMenuProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MMainMenuMenuOut();     break;
         case VK_MENU_IN:       MMainMenuMenuIn();      break;
         case VK_PREV_MENU:     MMainMenuLR(0);         break;
         case VK_NEXT_MENU:     MMainMenuLR(1);         break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MMainMenuMenuIn();      break;
         case VK_LEFT:          MMainMenuLR(0);         break;
         case VK_RIGHT:         MMainMenuLR(1);         break;
     }   
}
//------------------------------------------------------------
void MMainMenuMenuOut()
{
     ucOsdState = _MENU_NONE;
     COsdFxDisableOsd();
     LoadLanguageFont1();
}
//------------------------------------------------------------
void MMainMenuMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_PICTURE:
             ucOsdState = _MENU_BRIGHT;
             Show_Tip2();
             break;
        case _MENU_COLOR:
             ucOsdState = _MENU_MAGICCOLOR;
             Show_Tip2();
             break;
        case _MENU_IMAGE:
             ucOsdState = _MENU_COARSE;
             Show_Tip2();
             break;
        case _MENU_OSD:
             ucOsdState = _MENU_LANGUAGE;
             Show_Tip2();
             break;
        case _MENU_SETUP:
             ucOsdState = _MENU_AUTOSIGNAL;
             Show_Tip2();
             break;
        case _MENU_INFOR:
             //ucOsdState = _MENU_INFOR_ADJ;
             break;
     }
}
//------------------------------------------------------------
void MMainMenuLR(unsigned char LR)
{
     DrawItemSelect(0);
     ucOsdState = ValueInRangeChange(_MENU_PICTURE,_MENU_INFOR,ucOsdState,LR,1);
     DrawItemSelect(1);
     switch(ucOsdState)
     {
        case _MENU_PICTURE:
             DrawPicPage();
             break;
        case _MENU_COLOR:
             DrawColorPage();
             break;
        case _MENU_IMAGE:
             DrawImagePage();
             break;
        case _MENU_OSD:
             DrawOsdPage();
             break;
        case _MENU_SETUP:
             DrawSetupPage();
             break;
        case _MENU_INFOR:
             ShowMode();
             break;
     }
     Show_Title();
}
//------------------------------------------------------------
void MPicPageProc()
{
     Show_MenuItem_State(_MENU_BRIGHT,ucOsdState,1);
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MMainPicMenuOut();      break;
         case VK_MENU_IN:       MMainPicMenuIn();       break;
         case VK_PREV_MENU:     MMainPicLR(0);          break;
         case VK_NEXT_MENU:     MMainPicLR(1);          break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MMainPicMenuIn();       break;
         case VK_LEFT:          MMainPicLR(0);          break;
         case VK_RIGHT:         MMainPicLR(1);          break;
     }   
}
//------------------------------------------------------------
void MMainPicMenuOut()
{
     ucOsdState = _MENU_PICTURE;
     DrawPicPage();
}
void MMainPicMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_BRIGHT:
             ucOsdState = _MENU_BRIGHTNESS_ADJ;
             Draw_Bright_Page();
             break;
        case _MENU_CONTRASS:
             ucOsdState = _MENU_CONTRAST_ADJ;
             Draw_Contrast_Page();
             break;
     }
}
//------------------------------------------------------------
void MMainPicLR(unsigned char LR)
{  
     Show_MenuItem_State(_MENU_BRIGHT,ucOsdState,0);
     ucOsdState = ValueInRangeChange(_MENU_BRIGHT,_MENU_CONTRASS,ucOsdState,LR,1);
     Show_MenuItem_State(_MENU_BRIGHT,ucOsdState,1);
}
//------------------------------------------------------------
void MColorPageProc()
{
     Show_MenuItem_State(_MENU_MAGICCOLOR,ucOsdState,1);
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MMainColorMenuOut();    break;
         case VK_MENU_IN:       MMainColorMenuIn();     break;
         case VK_PREV_MENU:     MMainColorLR(0);        break;
         case VK_NEXT_MENU:     MMainColorLR(1);        break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MMainColorMenuIn();     break;
         case VK_LEFT:          MMainColorLR(0);        break;
         case VK_RIGHT:         MMainColorLR(1);        break;
     }   
}
//------------------------------------------------------------
void MMainColorMenuOut()
{
     DrawColorPage();
     Show_MenuItem_State(_MENU_MAGICCOLOR,ucOsdState,0);
     ucOsdState = _MENU_COLOR;
}
//------------------------------------------------------------
void MMainColorMenuIn()
{
     Show_MenuItem_State(_MENU_MAGICCOLOR,ucOsdState,1);
     switch(ucOsdState)
     {
        case _MENU_COLORTONE:
             ucOsdState = _MENU_COOL;
             Draw_Color_Tone_Page();
             break;
        case _MENU_COLORCONTROL:
             ucOsdState = _MENU_RED;
             Draw_Color_Ctrl_Page();
             break;
        case _MENU_GAMMA:
             ucOsdState = GET_GAMMA() + _MENU_MOD1;
             Draw_Gamma_Page();
             break;
        case _MENU_MAGICCOLOR:
             ucOsdState = _MENU_OFF;
             Draw_Magic_Page();
             break;

⌨️ 快捷键说明

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