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

📄 osdav501.c

📁 LCD TV,uVision2 Project, (C) Keil Software
💻 C
字号:
#define __OSDAV501___

#include "Header\Include.h"

#if(_OSD_TYPE == _OSD501)

#if(_VIDEO_AV_SUPPORT || _VIDEO_SV_SUPPORT || _VIDEO_TV_SUPPORT)

//------------------------------------------------------------
void OSDAVProc()
{
    switch(ucOsdState)
    {
        case _MENU_NONE:                MAVNoneProc();          break;

        case _M_COLOR:
        case _M_SOUND:
        case _M_FEATURE:
        case _M_SOURCE_INFO:
        case _M_EXIT:                   MAVMainMenuProc();      break;

        case _M_BRIGHTNESS:
        case _M_CONTRAST:
        case _M_SHARPNESS:
        case _M_SAUTRATION:
        case _M_HUE:
        case _M_COLOR_EXIT:             MVideoColorProc();      break;

        case _M_VOLUME:
        case _M_SOUND_EXIT:             MVideoSoundProc();      break;

        case _M_INPUT_SOURCE:
        case _M_LANGUAGE:
		case _M_RESET:
        case _M_FEATURE_EXIT:           MVideoFeatureProc();     break;

        case _M_BRIGHTNESS_ADJ:         MBrightnessProc();       break;
        case _M_CONTRAST_ADJ:           MContrastProc();         break;
        case _M_SHARPNESS_ADJ:          MSharpnessProc();        break;
        case _M_SAUTRATION_ADJ:         MSautrationProc();       break;
        case _M_HUE_ADJ:                MHueProc();              break;

        case _M_VOLUME_ADJ:             MVolumeAdjProc();        break;

        case _M_INPUTSOURCE_ADJ:        MInputSourceProc();      break;
        case _M_LANGUAGE_ADJ:           MLanguageAdjProc();      break;

        case _M_SP_VOLUME:               MSPVolumeProc();        break;
        case _M_SP_BRIGHTNESS:           MSPBrightProc();
        default:
               break;
    }
}
//------------------------------------------------------------
void MAVNoneProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        MAVNoneMenu();       break;
         case VK_LEFT:        MAVNoneLR(1);        break;
         case VK_RIGHT:       MAVNoneLR(0);        break;
//fenixadd
		 case VK_UP: 				               break;
         case VK_DOWN:        				       break;
//fenixend
//################################################################
#if(IR_ENABLE)
		 case _IR_MUTE_KEY_MESSAGE:	 CSetMuteState(); break;

#endif	//end of IR_ENABLE
//################################################################		
     }
}
//---------------------------------------------------------------------------
void MAVNoneMenu()
{
     ucOsdState = _M_COLOR;
     InitOSDFrame();
     DrawMainIcon(tVideoMainIcon);
     MainMenuItemState(0,1);
     DrawMenuItem(tVideoColorPage);
     COsdFxEnableOsd();
}
//---------------------------------------------------------------------------
void MAVNoneLR(unsigned char LR)
{
     if(LR)
     {
         EnterSPVolume();
     }
     else
     {

         EnterSPVolume();//EnterSPBright();		//fenix disabl SPBright
     }
}
//---------------------------------------------------------------------------

void MAVMainMenuProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MAVMainMenuMenu(_UP);       break;
         case VK_LEFT:        MAVMainMenuLR(1);        break;
         case VK_RIGHT:       MAVMainMenuLR(0);        break;
//fenixadd
         case VK_UP:          MAVMainMenuMenu(_UP);	       break;
         case VK_DOWN:        MAVMainMenuMenu(_DOWN);       break;
//fenixend
     }
}
//---------------------------------------------------------------------------
void MAVMainMenuMenu(unsigned char ucUD)
{
    switch(ucOsdState)
    {
        case _M_COLOR:          if(ucUD) ucOsdState = _M_HUE_ADJ;
								else	 ucOsdState = _M_BRIGHTNESS_ADJ;             
								fDrawCurrentLine(tVideoColorItem);					 break;

        case _M_SOUND:          if(ucUD) ucOsdState = _M_VOLUME_ADJ;
								else	 ucOsdState = _M_VOLUME_ADJ;            
								fDrawCurrentLine(tVgaSoundItem);					 break;

        case _M_FEATURE:		//gg1
								//fenix target
	 							ucInputSourceTemp = stSystemData.InputSource;	//gg
//								printData("ucInputSourceTemp0 =%x",ucInputSourceTemp);
		
						        if(ucUD) ucOsdState = _M_RESET;
								else 	 ucOsdState = _M_INPUTSOURCE_ADJ;            
								fDrawCurrentLine(tVideoFeatureItem);				 break;

        case _M_EXIT:
             // Close OSD
             ucOsdState = _MENU_NONE;
             COsdFxDisableOsd();
             CCheckShowHinit();
             return;
    }

}
//---------------------------------------------------------------------------
void MAVMainMenuLR(unsigned char LR)
{
    // 1 . clear old item
    unsigned char ucPos = CurrMenuPos(tVideoMainItem);
    MainMenuItemState(ucPos,0);
    // Clear Old Screen
    CLEAR_CLIENTOSD();


    // 2. change item
    if(LR)
    {
        NextMenuItem(tVideoMainItem);
    }
    else
    {
        PrevMenuItem(tVideoMainItem);
    }
    // 3. draw item
    ucPos = CurrMenuPos(tVideoMainItem);
    MainMenuItemState(ucPos,1);

    // Draw New Page
    switch(ucOsdState)
    {
        case _M_COLOR:          DrawMenuItem(tVideoColorPage);			break;

        case _M_SOUND:          DrawMenuItem(tVgaSoundPage);			break;

        case _M_FEATURE:        DrawMenuItem(tVideoFeaturePage);		break;

        case _M_EXIT:           DrawMenuItem(tExitPage);                break;
    }
}
//---------------------------------------------------------------------------
void MVideoColorProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVideoColorMenu();                        break;
         case VK_LEFT:        break;//MVideoColorLR(1);                         break;
         case VK_RIGHT:       break;//MVideoColorLR(0);                         break;
//fenixadd
         case VK_UP:          MenuItemUD(tVideoColorItem,1);            break;
         case VK_DOWN:        MenuItemUD(tVideoColorItem,0);            break;
//fenixend
     }
}
//---------------------------------------------------------------------------

void MVideoSoundProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVideoSoundMenu();       break;
         case VK_LEFT:        break;//MSoundLR(1);        break;
         case VK_RIGHT:       break;//MSoundLR(0);        break;
//fenixadd
         case VK_UP:         MenuItemUD(tVgaSoundItem,1);        break;
         case VK_DOWN:       MenuItemUD(tVgaSoundItem,0);       break;
//fenixend
     }
}
//---------------------------------------------------------------------------

void MVideoFeatureProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVideoFeatureMenu();       break;
         case VK_LEFT:        MVideoFeatureMenu();				 break;//MVideoFeatureLR(1);        break;
         case VK_RIGHT:       									 break;
//fenixadd
         case VK_UP:         MenuItemUD(tVideoFeatureItem,1);        break;
         case VK_DOWN:       MenuItemUD(tVideoFeatureItem,0);        break;
//fenixend
     }
}
//---------------------------------------------------------------------------
void MVideoFeatureMenu()
{
    switch(ucOsdState)
    {			
		  case _M_RESET:
			DoReset();
			break;
    }
}
//---------------------------------------------------------------------------
void MSautrationProc()
{
     SET_KEYREPEATENABLE();		//fenix
     SLIDER(SATURATION_GUAGE);		//fenix

     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MSautrationMenu();       break;
         case VK_LEFT:        MSautrationLR(1);        break;
         case VK_RIGHT:       MSautrationLR(0);        break;
//fenixadd
         case VK_UP:         MenuItemUD(tVideoColorItem,1);        break;
         case VK_DOWN:       MenuItemUD(tVideoColorItem,0);        break;
//fenixend
     }
}
//---------------------------------------------------------------------------
void MSautrationLR(unsigned char LR)
{
    SET_KEYREPEATENABLE();
    SATURATION_GUAGE = ValueInRangeChange(0, 100, SATURATION_GUAGE,LR,0);

    rp_CAdjustVDCSaturation(SATURATION_GUAGE);
    SLIDER(SATURATION_GUAGE);
    ucOsdEventMsg = _SAVE_EE_VIDEOCOLOR_MSG;
}
//---------------------------------------------------------------------------
void MHueProc()
{
     SET_KEYREPEATENABLE();		//fenix
     SLIDER(HUE_GUAGE);		//fenix
//	printMsg("MHueProc");
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MHueMenu();       break;
         case VK_LEFT:        MHueLR(1);        break;
         case VK_RIGHT:       MHueLR(0);        break;
//fenixadd
         case VK_UP:        MenuItemUD(tVideoColorItem,1);        break;
         case VK_DOWN:       MenuItemUD(tVideoColorItem,0);        break;
//fenixend
     }
}
//---------------------------------------------------------------------------
void MHueLR(unsigned char LR)
{
    SET_KEYREPEATENABLE();
    HUE_GUAGE = ValueInRangeChange(0, 100, HUE_GUAGE,LR,0);

    rp_CAdjustVDCHue(HUE_GUAGE);
    SLIDER(HUE_GUAGE);
    ucOsdEventMsg = _SAVE_EE_VIDEOCOLOR_MSG;
}
//---------------------------------------------------------------------------





#endif    //#if(_VIDEO_AV_SUPPORT || _VIDEO_SV_SUPPORT || _VIDEO_TV_SUPPORT)

#endif    //#if(OSD_TYPE == OSD501)

⌨️ 快捷键说明

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