📄 osdvga003.c
字号:
#define __OSDVGA003___
#include "Header\Include.h"
#if(OSD_TYPE == OSD003)
#if(_TMDS_SUPPORT || _VGA_SUPPORT)
//------------------------------------------------------------
void OSDVGAProc()
{
switch(ucOsdState)
{
case _MENU_NONE: MNoneProc(); break;
case MENU_ITEM_BRIGHT:
case MENU_ITEM_CONTRAST:
case MENU_ITEM_PHASE:
case MENU_ITEM_CLOCK:
case MENU_ITEM_HPOS:
case MENU_ITEM_VPOS:
case MENU_ITEM_LANGUAGE:
case MENU_ITEM_AUTO:
case MENU_ITEM_RESET:
case MENU_ITEM_CLOSE:
MMainItemProc();
break;
case MENU_ITEM_BRIGH_ADJ: MBrightAdjProc(); break;
case MENU_ITEM_CONTRAST_ADJ: MContrastAdjProc(); break;
case MENU_ITEM_PHASE_ADJ: MPhaseAdjProc(); break;
case MENU_ITEM_CLOCK_ADJ: MClockAdjProc(); break;
case MENU_ITEM_HPOS_ADJ: MHPosAdjProc(); break;
case MENU_ITEM_VPOS_ADJ: MVPosAdjProc(); break;
case MENU_ITEM_LANGUAGE_ADJ: MLanguageAdjProc(); break;
case MENU_VOLUME_SP: MVolumeAdjProc(); break;
default: break;
}
}
//------------------------------------------------------------
void DrawPhasePage()
{
TITLE_OUT((unsigned char code *)sPhase[GET_LANGUAGE]);
LOADICOFNT(FntIcnPhase); // andy icon not ready
ICON_OUT();
SLIDER2(PHASE_GUAGE);
}
//----------------------------------------------------------------------------------------------------
void DrawClockPage()
{
TITLE_OUT((unsigned char code *)sClock[GET_LANGUAGE]);
LOADICOFNT(FntIcnClk); // andy icon not ready
ICON_OUT();
SLIDER2(ClockGuage());
}
//----------------------------------------------------------------------------------------------------
void DrawHPosPage()
{
TITLE_OUT((unsigned char code *)sHPos[GET_LANGUAGE]);
LOADICOFNT(FntIcnHPos); // andy icon not ready
ICON_OUT();
SLIDER2(HPosGuage());
}
//----------------------------------------------------------------------------------------------------
void DrawVPosPage()
{
TITLE_OUT((unsigned char code *)sVPos[GET_LANGUAGE]);
LOADICOFNT(FntIcnVPos); // andy icon not ready
ICON_OUT();
SLIDER2(VPosGuage());
}
//----------------------------------------------------------------------------------------------------
void DrawAutoPage()
{
TITLE_OUT((unsigned char code *)sAuto[GET_LANGUAGE]);
LOADICOFNT(FntIcnAuto); // andy icon not ready
DispIcon(12,4,0x60);
}
//----------------------------------------------------------------------------------------------------
void MNoneProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MNoneMenu(); break;
case VK_LEFT: MNoneLR(1); break;
case VK_RIGHT: MNoneLR(0); break;
case VK_ENTER: MNoneEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MNoneMenu()
{
InitOSDFrame();
SelectState();
DrawBrightPage();
ucOsdState = MENU_ITEM_BRIGHT;
ShowPageIndex(ucOsdState,10);
COsdFxEnableOsd();
}
//----------------------------------------------------------------------------------------------------
void MNoneLR(unsigned char LR)
{
if(LR) GotoAdjustBrightness();
else GotoAdjustVolume();
}
//----------------------------------------------------------------------------------------------------
void MNoneEnter()
{
DoAuto();
}
//----------------------------------------------------------------------------------------------------
void MMainItemProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MMainItemMenu(); break;
case VK_LEFT: MMainItemLR(1); break;
case VK_RIGHT: MMainItemLR(0); break;
case VK_ENTER: MMainItemEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MMainItemMenu()
{
AdjustState();
// Enter Sub Item
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT:
SLIDER1(BRIGHTNESS_GUAGE);
ucOsdState = MENU_ITEM_BRIGH_ADJ;
break;
case MENU_ITEM_CONTRAST:
SLIDER1(CONTRAST_GUAGE);
ucOsdState = MENU_ITEM_CONTRAST_ADJ;
break;
case MENU_ITEM_PHASE:
SLIDER1(PHASE_GUAGE);
ucOsdState = MENU_ITEM_PHASE_ADJ;
break;
case MENU_ITEM_CLOCK:
SLIDER1(ClockGuage());
ucOsdState = MENU_ITEM_CLOCK_ADJ;
break;
case MENU_ITEM_HPOS:
SLIDER1(HPosGuage());
ucOsdState = MENU_ITEM_HPOS_ADJ;
break;
case MENU_ITEM_VPOS:
SLIDER1(VPosGuage());
ucOsdState = MENU_ITEM_VPOS_ADJ;
break;
case MENU_ITEM_LANGUAGE:
ucOsdState = MENU_ITEM_LANGUAGE_ADJ;
break;
case MENU_ITEM_AUTO:
CenterTextout((unsigned char code *)sAuto[GET_LANGUAGE],14,6);
CAutoDoAutoConfig();
SelectState();
OSDLine(6,0,COL_WIDTH,0x00,BYTE_DISPLAY);
break;
case MENU_ITEM_RESET:
DoReset();
SelectState();
break;
case MENU_ITEM_CLOSE:
COsdFxDisableOsd();
ucOsdState = _MENU_NONE;
break;
}
}
//----------------------------------------------------------------------------------------------------
void MMainItemLR(unsigned char LR)
{
//STEP 1 : BEFORE ITEM CHANGE CLEAR OLD SELECT
ClearClientDisplay();
//STEP 2 : ITEM CHANGE
ucOsdState = ValueInRangeChange(MENU_ITEM_BRIGHT,MENU_ITEM_CLOSE,ucOsdState,LR,1);
ShowPageIndex(ucOsdState,10);
//STEP 3 : AFTER ITEM CHANGE DRAW SELECT
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT: DrawBrightPage(); break;
case MENU_ITEM_CONTRAST: DrawContrastPage(); break;
case MENU_ITEM_PHASE: DrawPhasePage(); break;
case MENU_ITEM_CLOCK: DrawClockPage(); break;
case MENU_ITEM_HPOS: DrawHPosPage(); break;
case MENU_ITEM_VPOS: DrawVPosPage(); break;
case MENU_ITEM_LANGUAGE: DrawLanguagePage(); break;
case MENU_ITEM_AUTO: DrawAutoPage(); break;
case MENU_ITEM_RESET: DrawResetPage(); break;
case MENU_ITEM_CLOSE: DrawExitPage(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MMainItemEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- PHASE ADJUST PROC ----------------------------------
void MPhaseAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MPhaseAdjMenu(); break;
case VK_LEFT: MPhaseAdjLR(1); break;
case VK_RIGHT: MPhaseAdjLR(0); break;
case VK_ENTER: MPhaseAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MPhaseAdjMenu()
{
ucOsdState = MENU_ITEM_PHASE;
SelectState();
SLIDER2(PHASE_GUAGE);
ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MPhaseAdjLR(unsigned char LR)
{
SET_KEYREPEATENABLE();
stModeUserData.Phase = ValueInRangeChange(0,63,stModeUserData.Phase,LR,0);
SLIDER1(PHASE_GUAGE);
CAdjustPhase(stModeUserData.Phase);
}
//----------------------------------------------------------------------------------------------------
void MPhaseAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- CLOCK ADJUST PROC ----------------------------------
void MClockAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MClockAdjMenu(); break;
case VK_LEFT: MClockAdjLR(1); break;
case VK_RIGHT: MClockAdjLR(0); break;
case VK_ENTER: MClockAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MClockAdjMenu()
{
ucOsdState = MENU_ITEM_CLOCK;
SelectState();
SLIDER2(ClockGuage());
ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MClockAdjLR(unsigned char LR)
{
SET_KEYREPEATENABLE();
stModeUserData.Clock = ValueInRangeChange(COsdFxGetAdcClockRange(_GET_CLOCKRANGE_MIN),COsdFxGetAdcClockRange(_GET_CLOCKRANGE_MAX),stModeUserData.Clock,LR,0);
SLIDER1(ClockGuage());
CAdjustAdcClock(stModeUserData.Clock);
}
//----------------------------------------------------------------------------------------------------
void MClockAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- H POSITION ADJUST PROC ----------------------------------
void MHPosAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MHPosAdjMenu(); break;
case VK_LEFT: MHPosAdjLR(1); break;
case VK_RIGHT: MHPosAdjLR(0); break;
case VK_ENTER: MHPosAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MHPosAdjMenu()
{
ucOsdState = MENU_ITEM_HPOS;
SelectState();
SLIDER2(HPosGuage());
ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MHPosAdjLR(unsigned char LR)
{
SET_KEYREPEATENABLE();
stModeUserData.HPosition = ValueInRangeChange(stModeUserCenterData.CenterHPos - _HPOSITION_BIAS,
stModeUserCenterData.CenterHPos + _HPOSITION_BIAS,
stModeUserData.HPosition,LR,0);
SLIDER1(HPosGuage());
CAdjustHPosition();
}
//----------------------------------------------------------------------------------------------------
void MHPosAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- V POSITION ADJUST PROC ----------------------------------
void MVPosAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MVPosAdjMenu(); break;
case VK_LEFT: MVPosAdjLR(1); break;
case VK_RIGHT: MVPosAdjLR(0); break;
case VK_ENTER: MVPosAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MVPosAdjMenu()
{
ucOsdState = MENU_ITEM_VPOS;
SelectState();
SLIDER2(VPosGuage());
ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MVPosAdjLR(unsigned char LR)
{
stModeUserData.VPosition = ValueInRangeChange(stModeUserCenterData.CenterVPos - _VPOSITION_BIAS,stModeUserCenterData.CenterVPos + _VPOSITION_BIAS,stModeUserData.VPosition,LR,0);
SLIDER1(VPosGuage());
CAdjustVPosition();
}
//----------------------------------------------------------------------------------------------------
void MVPosAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
void DoAuto()
{
InitOSDFrame();
SelectState();
DrawAutoPage();
COsdFxEnableOsd();
CenterTextout((unsigned char code *)sAuto[GET_LANGUAGE],14,6);
CAutoDoAutoConfig();
SelectState();
COsdFxDisableOsd();
}
//----------------------------------------------------------------------------------------------------
#endif //#if(_TMDS_SUPPORT || _VGA_SUPPORT)
#endif //#if(OSD_TYPE == OSD003)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -