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

📄 osdvga902.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 4 页
字号:
{
    switch(ucOsdState)
    {        
        case _MENU_5500K:
             SET_COLOR_TEMP_TYPE(_CT_5800);
             CEepromLoadColorTempData();
             ucOsdEventMsg =  _SAVE_EE_SYSTEMDATA_MSG;
             CAdjustContrast(); 
                        
             DrawVGAMisc();
             ucOsdState = _MENU_COLOR;
             MENUITEM_SELECT(3);     
             break;
        case _MENU_6500K:

             SET_COLOR_TEMP_TYPE(_CT_6500);
             CEepromLoadColorTempData();
             ucOsdEventMsg =  _SAVE_EE_SYSTEMDATA_MSG;
             CAdjustContrast(); 
                          
             DrawVGAMisc();
             MENUITEM_SELECT(3);     
             ucOsdState = _MENU_COLOR;
             break;
        case _MENU_9300K:

             SET_COLOR_TEMP_TYPE(_CT_9300);
             CEepromLoadColorTempData(); 
             ucOsdEventMsg =  _SAVE_EE_SYSTEMDATA_MSG;
             CAdjustContrast();            

             DrawVGAMisc();
             ucOsdState = _MENU_COLOR;
             MENUITEM_SELECT(3);     
             break;
        case _MENU_USER:        
             DrawVGA_User_Red();       
             break;
        default:                                             break;
    }
}
//------------------------------------------------------------
void MColorLR(unsigned char LR)
{
     // 1 CLEAR SELECT
     MENUITEM_CLR(ucOsdState - _MENU_5500K + 1);   //2 is Begin Row Option

     // 2 CHANGE ITEM
     ucOsdState = ValueInRangeChange(_MENU_5500K,_MENU_USER,ucOsdState,LR,1);

     // 3 DRAW SELECT
     MENUITEM_SELECT(ucOsdState - _MENU_5500K + 1);
}
//------------------------------------------------------------
void MRedProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MRedMenuOut();      break;
         case VK_ENTER:
         case VK_MENU_IN:       MRedMenuIn();       break;

         case VK_LEFT:          MRedLR(LEFT);	    break;
         case VK_RIGHT:         MRedLR(RIGHT);	    break;
         case VK_PREV_MENU:     MRedLR(PREV);	    break;
         case VK_NEXT_MENU:     MRedLR(NEXT);	    break;

         case VK_ADJ_DEC:                       
         case VK_ADJ_INC:                       
         case VK_DO:                         	    break;         
     }
}
//------------------------------------------------------------
void MRedMenuOut()
{       
    DrawVGAColor();
    ucOsdState = _MENU_USER;
    MENUITEM_SELECT(4);

    ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MRedMenuIn()
{
    DrawVGA_User_Green();

    ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MRedLR(unsigned char LR)
{
     unsigned int r = USER_R_GUAGE;
     SET_KEYREPEATENABLE();
     r = ValueInRangeChange(0,100,r,LR,0);
     r = r * 255;
     stColorTempData.ColorTemp[_RED] = r / 100;
     if(r % 100 != 0)    stColorTempData.ColorTemp[_RED] = stColorTempData.ColorTemp[_RED] + 1;
     SLIDER1(USER_R_GUAGE,0x20);
     CAdjustContrast();    
}
//------------------------------------------------------------
void MGreenProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MGreenMenuOut();        break;
         case VK_ENTER:
         case VK_MENU_IN:       MGreenMenuIn();         break;

         case VK_LEFT:          MGreenLR(LEFT);         break;
         case VK_RIGHT:         MGreenLR(RIGHT);        break;
         case VK_PREV_MENU:     MGreenLR(PREV);         break;
         case VK_NEXT_MENU:     MGreenLR(NEXT);  	    break;

         case VK_ADJ_DEC:                       
         case VK_ADJ_INC:                       
         case VK_DO:                       	            break;         
     }
}
//------------------------------------------------------------
void MGreenMenuOut()
{      
    DrawVGAColor();
    ucOsdState = _MENU_USER;
    MENUITEM_SELECT(4);

    ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MGreenMenuIn()
{
    DrawVGA_User_Blue();

    ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MGreenLR(unsigned char LR)
{
     unsigned int r = USER_G_GUAGE;
     SET_KEYREPEATENABLE();
     r = ValueInRangeChange(0,100,r,LR,0);
     r = r * 255;
     stColorTempData.ColorTemp[_GREEN] = r / 100;
     if(r % 100 != 0)    stColorTempData.ColorTemp[_GREEN] = stColorTempData.ColorTemp[_GREEN] + 1;
     SLIDER1(USER_G_GUAGE,0x30);
     CAdjustContrast();    
}
//------------------------------------------------------------
void MBlueProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MBlueMenuOut();     break;
         case VK_ENTER:
         case VK_MENU_IN:       MBlueMenuIn();      break;

         case VK_LEFT:          MBlueLR(LEFT);	    break;
         case VK_RIGHT:         MBlueLR(RIGHT);	    break;
         case VK_PREV_MENU:     MBlueLR(PREV);	    break;
         case VK_NEXT_MENU:     MBlueLR(NEXT);      break;

         case VK_ADJ_DEC:                       
         case VK_ADJ_INC:                       
         case VK_DO:                                break;         
     }
}
//------------------------------------------------------------
void MBlueMenuOut()
{       
    DrawVGAColor();
    ucOsdState = _MENU_USER;
    MENUITEM_SELECT(4);

    ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MBlueMenuIn()
{
    DrawVGA_User_Red();

    ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MBlueLR(unsigned char LR)
{
     unsigned int r = USER_B_GUAGE;
     SET_KEYREPEATENABLE();
     r = ValueInRangeChange(0,100,r,LR,0);
     r = r * 255;
     stColorTempData.ColorTemp[_BLUE] = r / 100;
     if(r % 100 != 0)    stColorTempData.ColorTemp[_BLUE] = stColorTempData.ColorTemp[_BLUE] + 1;
     SLIDER1(USER_B_GUAGE,0x40);
     CAdjustContrast();    
}
//------------------------------------------------------------
void MLanguageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MLanguageMenuOut();     break;
         case VK_ENTER:
         case VK_MENU_IN:       MLanguageMenuIn();      break;

         case VK_LEFT:          MLanguageLR(NEXT);	    break;
         case VK_RIGHT:         MLanguageLR(PREV);	    break;
         case VK_PREV_MENU:     MLanguageLR(PREV);	    break;
         case VK_NEXT_MENU:     MLanguageLR(NEXT);	    break;

         case VK_ADJ_DEC:                       
         case VK_ADJ_INC:                       
         case VK_DO:                                    break;         
     }
}
//------------------------------------------------------------
void MLanguageMenuOut()
{  
    LoadLanguageFont();
    DrawVGAMisc();
    ucOsdState = _MENU_LANGUAGE;
    MENUITEM_SELECT(4);
    ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
}
//------------------------------------------------------------
void MLanguageMenuIn()
{
    LoadLanguageFont();
    DrawVGALanguage();

    MENUITEM_SELECT(GetCurrLanguagePos() + 1);

    ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
}
//------------------------------------------------------------
void MLanguageLR(unsigned char LR)
{  
     unsigned char ucCount = GetLanguegeCount();
     unsigned char ucLanguage = GetCurrLanguagePos();

     MENUITEM_CLR(ucLanguage + 1);
     ucLanguage = ValueInRangeChange(0,ucCount - 1,ucLanguage,LR,1);
     MENUITEM_SELECT(ucLanguage + 1);

     ucLanguage = IndexofLanuguage(ucLanguage);
     SET_LANGUAGE(ucLanguage); 
}
//------------------------------------------------------------
void DoAuto()
{
     LoadLanguageFont();
     InitOSDFrame();
     
     OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);      //Byte 0
     OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);     //Byte 1
     OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);
     OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);         //Byte 2  
     
     //Gotoxy(9,4,BYTE_DISPLAY);
     //Textout((unsigned char code *)sAdjusting[GET_LANGUAGE]);
     CenterLineTextout((unsigned char code *)sAdjusting[GET_LANGUAGE],4,COL_WIDTH);

     COsdFxEnableOsd();     
     CAutoDoAutoConfig();     
     CAutoDoWhiteBalance();
     COsdFxDisableOsd();

     ucOsdState = _MENU_NONE;
}
//------------------------------------------------------------
void DoAutoBalance()
{
    CAutoDoWhiteBalance();
}
//------------------------------------------------------------
void DoResetAll()
{
     unsigned char ucLanguage = GET_LANGUAGE;
     DoReset();
     stModeUserData.FirstAuto = 1;
     ucOsdState = _MENU_NONE;
     SET_LANGUAGE(ucLanguage);                  //hsl add
     ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
     COsdFxDisableOsd();
}
//------------------------------------------------------------


//----------------------hsl add-------------------------------
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
void DrawVolume()
{
    LoadLanguageFont(); 
    InitOSDFrame();    

    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2

    Gotoxy(3,3,BYTE_DISPLAY);
    Textout((unsigned char code *)sVolume[GET_LANGUAGE]);

    DrawVolumeState();
    SLIDER(stOsdUserData.Volume);
    
    COsdFxEnableOsd();                                                                                        
}      
//-------------------------------------------------------------
void MVolumeSPProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MVolumeSPMenuOut();     break;
         case VK_MENU_IN:                               break;
         case VK_ENTER:         MVolumeSPMenuIn();      break;

         case VK_LEFT:          MVolumeSPLR(LEFT);      break;
         case VK_RIGHT:         MVolumeSPLR(RIGHT);     break;
         case VK_PREV_MENU:     MVolumeSPLR(PREV);      break;
         case VK_NEXT_MENU:     MVolumeSPLR(NEXT);      break;

         case VK_ADJ_DEC:       MVolumeSPLR(LEFT);      break;
         case VK_ADJ_INC:       MVolumeSPLR(RIGHT);     break;
         case VK_DO:                                    break;
     }
}
//------------------------------------------------------------
void MVolumeSPMenuIn()
{
    if(GET_MUTE_STATE() == STATE_MUTEON)
    { 
        SET_MUTE_STATE(STATE_MUTEOFF);
        SetVolume();
    }
    else 
    {
        SET_MUTE_STATE(STATE_MUTEON);
        MUTE_ON();
    }
    DrawVolumeState();
}
//------------------------------------------------------------
void MVolumeSPLR(unsigned char LR)
{
     if(GET_MUTE_STATE() == STATE_MUTEON)
     { 
         SET_MUTE_STATE(STATE_MUTEOFF);
         DrawVolumeState();
     }
     SET_KEYREPEATENABLE();
     stOsdUserData.Volume = ValueInRangeChange(0,100,stOsdUserData.Volume,LR,0);
     SLIDER(stOsdUserData.Volume);
     SetVolume();
     ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;        
}
//------------------------------------------------------------
void MVolumeSPMenuOut()
{
     ucOsdState = _MENU_NONE;
     COsdFxDisableOsd();  
     CLR_KEYREPEATENABLE();
}

//------------------------------------------------------------
void DrawVolumeState()
{
    if(GET_MUTE_STATE() == STATE_MUTEON)
    {         
        DispIcon(1,3, 0x0d);
    }
    else 
    {           
        Gotoxy(1,3,BYTE_DISPLAY);
        OutputChar(0x14);
        OutputChar(0x1d);
    }
}
//------------------------------------------------------------
#else

#endif    //#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)

#endif    //#if(_VGA_SUPPORT)
#endif    //#if(_OSD_TYPE == _OSD902)

⌨️ 快捷键说明

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