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

📄 osdvga501.c

📁 LCD TV,uVision2 Project, (C) Keil Software
💻 C
📖 第 1 页 / 共 3 页
字号:
#define __OSDVGA501___

#include "Header\Include.h"

#if(_OSD_TYPE == _OSD501)

#if(_TMDS_SUPPORT || _VGA_SUPPORT)
//------------------------------------------------------------
void OSDVGAProc()
{
    switch(ucOsdState)
    {
        case _MENU_NONE:                MNoneProc();            break;                 

        case _M_COLOR:
        case _M_PICTURE:
        case _M_SOUND:
        case _M_FEATURE:
        case _M_EXIT:                   MVgaMainProc();         break;
  
        case _M_BRIGHTNESS:
        case _M_CONTRAST:
        case _M_SHARPNESS:
        case _M_COLOR_TEMP:
        case _M_COLOR_EXIT:             MVgaColorProc();        break;
  
        case _M_AUTO_CONFIG:
        case _M_AUTO_COLOR:
        case _M_PHASE:
        case _M_CLOCK:
        case _M_H_POSITION:
        case _M_V_POSITION:
        case _M_PICTURE_EXIT:            MVgaImageProc();        break;

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

        case _M_INPUT_SOURCE:
        case _M_LANGUAGE:
		case _M_RESET:
        case _M_FEATURE_EXIT:            MVgaFeatureProc();      break;
             
        case _M_BRIGHTNESS_ADJ:          MBrightnessProc();      break;
        case _M_CONTRAST_ADJ:            MContrastProc();        break;
        case _M_SHARPNESS_ADJ:           MSharpnessProc();       break;
//##########################################################################
//		case _M_EXIT_ADJ:				 break;//MMenuExit();			 break;	//fenix
//##########################################################################	
        case _M_9300:
        case _M_6500:
        case _M_USER:
        case _M_COLORTMP_EXIT:           MColorTmpProc();        break;

        case _M_R:
        case _M_G:
        case _M_B:
        case _M_USER_EXIT:               MUserColorProc();       break;

        case _M_R_ADJ:                   MRedAdjProc();          break;
        case _M_G_ADJ:                   MGreenAdjProc();        break;
        case _M_B_ADJ:                   MBlueAdjProc();         break;

        case _M_PHASE_ADJ:               MPhaseAdjProc();        break;
        case _M_CLOCK_ADJ:               MClockAdjProc();        break;
        case _M_H_POSITION_ADJ:          MHPosAdjProc();         break;
        case _M_V_POSITION_ADJ:          MVPosAdjProc();         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();        break;

        default:                                                 break;
    }
}
//------------------------------------------------------------
 

void MNoneProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        MNoneMenu();       break;
         case VK_LEFT:        MNoneLR(1);        break;
         case VK_RIGHT:       MNoneLR(0);        break;
//FENIX ADD########################################################
//         case VK_EXIT:        osdFatherPage();        break;

#if(_IR_ENABLE)

		 case _IR_AUTO_KEY_MESSAGE:
			CAutoDoAutoConfig();				break;

#endif

//#################################################################

     }
}
//---------------------------------------------------------------------------
void MNoneMenu()
{
     ucOsdState = _M_COLOR;
     InitOSDFrame();
     DrawMainIcon(tVgaMainIcon);
     MainMenuItemState(0,1);
     DrawMenuItem(tVgaColorPage);
     COsdFxEnableOsd();
}
//---------------------------------------------------------------------------
void MNoneLR(unsigned char LR)
{
     if(LR)
     {
         EnterSPVolume();
     }
     else
     {

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





//---------------------------------------------------------------------------
void MVgaMainProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVgaMainMenu(_UP);       break;
         case VK_LEFT:        MVgaMainLR(1);        break;
         case VK_RIGHT:       MVgaMainLR(0);        break;
//fenixadd
		 case VK_UP:		  MVgaMainMenu(_UP);		break;		 
		 case VK_DOWN:		  MVgaMainMenu(_DOWN);		break;

#if (_IR_ENABLE)
		
#endif
//fenixend
     }
}
//---------------------------------------------------------------------------


void MVgaMainMenu(unsigned char ucUD)
{	
    switch(ucOsdState)
    {
	   	case _M_COLOR:     if(ucUD)	ucOsdState = _M_COLOR_TEMP;
						   else 	ucOsdState = _M_BRIGHTNESS_ADJ;           
								fDrawCurrentLine(tVgaColorItem);					 break;

       	case _M_PICTURE:   if(ucUD) ucOsdState = _M_V_POSITION;
						   else	 	ucOsdState = _M_AUTO_CONFIG;           
								fDrawCurrentLine(tVgaPictureItem);					 break;

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

       	case _M_FEATURE:   if(ucUD) ucOsdState = _M_RESET;
						   else 	ucOsdState = _M_INPUTSOURCE_ADJ;           
								fDrawCurrentLine(tVgaFeatureItem);					 break;
		
       	case _M_EXIT:
             // Close OSD
             ucOsdState = _MENU_NONE;
             COsdFxDisableOsd();
             CCheckShowHinit();
             return;
    }

}
//---------------------------------------------------------------------------
void MVgaMainLR(unsigned char LR)
{

    // 1 . clear old item
    unsigned char ucPos = CurrMenuPos(tVGAMainItem);
    MainMenuItemState(ucPos,0);
    // Clear Old Screen
    CLEAR_CLIENTOSD();


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

    // Draw New Page
    switch(ucOsdState)
    {
        case _M_COLOR:          DrawMenuItem(tVgaColorPage);            break;
        case _M_PICTURE:        DrawMenuItem(tVgaPicturePage);             break;
        case _M_SOUND:          DrawMenuItem(tVgaSoundPage);               break;
        case _M_FEATURE:        DrawMenuItem(tVgaFeaturePage);          break;
        case _M_EXIT:           DrawMenuItem(tExitPage);                break;
    }
}
//---------------------------------------------------------------------------




//---------------------------------------------------------------------------
void MVgaColorProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVgaColorMenu();       break;
         case VK_LEFT:        MVgaColorMenu();  	break;//MVgaColorLR(1);        break;
         case VK_RIGHT:       break;//MVgaColorLR(0);        break;
//fenixadd
	     case VK_UP:
		 			if(stSystemData.InputSource == _SOURCE_VGA)
						 MenuItemUD(tVgaColorItem,1);
					else
						if (stSystemData.InputSource == _SOURCE_VIDEO8_TV)
							 MenuItemUD(tTvColorItem,1);
							 else
							 		if (stSystemData.InputSource == _SOURCE_VIDEO8_AV || stSystemData.InputSource == _SOURCE_VIDEO8_AV2)
									    MenuItemUD(tVideoColorItem,1);
				     break;
         case VK_DOWN:
		 			if(stSystemData.InputSource == _SOURCE_VGA)
						 MenuItemUD(tVgaColorItem,0);
					else
						if (stSystemData.InputSource == _SOURCE_VIDEO8_TV)
							 MenuItemUD(tTvColorItem,0);
							 else
							 		if (stSystemData.InputSource == _SOURCE_VIDEO8_AV || stSystemData.InputSource == _SOURCE_VIDEO8_AV2)
									    MenuItemUD(tVideoColorItem,0);
				     break;
//fenixend
     }
}
//---------------------------------------------------------------------------
void MVgaColorMenu()
{
    switch(ucOsdState)
    {
        case _M_COLOR_TEMP:
             // enter color temp page & Draw color temp
             ClearCurrentLine(tVgaColorItem);
             ucOsdState = _M_9300;
             CLEAR_CLIENTOSD();		//gg
             DrawMenuItem(tColorTempPage);
             DrawCurrentLine(tColorTempItem);
             break;	
        case _M_COLOR_EXIT:
             // clear submenu select
             ClearCurrentLine(tVgaColorItem);
             ucOsdState = _M_COLOR;
             break;
    }
}
//---------------------------------------------------------------------------

void MVgaImageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVgaImageMenu();       break;
         case VK_LEFT:        MVgaImageMenu();	 break;//MVgaImageLR(1);        break;
         case VK_RIGHT:       break;//MVgaImageLR(0);        break;
//fenixadd
         case VK_UP:        MenuItemUD(tVgaPictureItem,1);        break;
         case VK_DOWN:       MenuItemUD(tVgaPictureItem,0);        break;
//fenixend
     }
}
//---------------------------------------------------------------------------
void MVgaImageMenu()
{
    switch(ucOsdState)
    {
        case _M_AUTO_CONFIG:
             // Do Auto Config
             CAutoDoAutoConfig();
             break;
        case _M_AUTO_COLOR:
             // Do Auto Balance
             CAutoDoWhiteBalance();
             break;
    }
}
//---------------------------------------------------------------------------
void MSoundProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MSoundMenu();       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 MVgaFeatureProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU:        break;//MVgaFeatureMenu();       break;
         case VK_LEFT:        MVGAFeatureMenu();				break;//MVgaFeatureLR(1);        break;
         case VK_RIGHT:       break;//MVgaFeatureLR(0);        break;
//fenixadd         
		 case VK_UP:         MenuItemUD(tVgaFeatureItem,1);        break;
         case VK_DOWN:       MenuItemUD(tVgaFeatureItem,0);        break;
//fenixend

     }

//fenix got curront input source
	 	ucInputSourceTemp = stSystemData.InputSource;	//gg1
	
}
//---------------------------------------------------------------------------
void MVGAFeatureMenu()
{
    switch(ucOsdState)
    {			
		  case _M_RESET:
			DoReset();
			break;
    }
}
//---------------------------------------------------------------------------
void DrawLangauge()
{

⌨️ 快捷键说明

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