📄 osdvga903.c
字号:
#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 + -