📄 osdvga900.c
字号:
#define __OSDVGA900___
#include "Header\Include.h"
#if(_OSD_TYPE == _OSD900)
#if(_TMDS_SUPPORT || _VGA_SUPPORT)
//------------------------------------------------------------
void OSDVGAProc()
{
switch(ucOsdState)
{
case _MENU_NONE: MNonePorc(); break;
case _MENU_COLOR:
case _MENU_IMAGE_SETTING:
case _MENU_POSITION:
case _MENU_OSD_MENU:
case _MENU_LANGUAGE:
case _MENU_MISC:
case _MENU_EXIT: MMainMenuProc(); break;
case _MENU_CONTRAST:
case _MENU_BRIGHTNESS:
case _MENU_COLOR_ADJUST:
case _MENU_COLOR_TEMP:
case _MENU_COLOR_BACK: MColorPageProc(); break;
case _MENU_RED:
case _MENU_GREEN:
case _MENU_BLUE: MColorAdjustPageProc();break;
case _MENU_9300:
case _MENU_6500:
case _MENU_USER: MColorTmpPageProc(); break;
case _MENU_CLOCK:
case _MENU_PHASE:
case _MENU_GAMMA:
case _MENU_SHARPNESS:
case _MENU_IMAGE_BACK: MImagePageProc(); break;
case _MENU_HPOS:
case _MENU_VPOS:
case _MENU_POSITION_BACK: MPositionPageProc(); break;
case _MENU_OSD_HPOS:
case _MENU_OSD_VPOS:
case _MENU_OSD_TIMER:
case _MENU_OSD_COLOR:
case _MENU_OSD_BACK: MOsdPageProc(); break;
case _MENU_RESET:
case _MENU_VOLUME:
case _MENU_MUTE:
case _MENU_MISC_BACK: MMiscPageProc(); break;
case _MENU_LANGUAGE_ADJ: MLanguageProc(); break;
case _MENU_CONTRAST_ADJ: MContrastProc(); break;
case _MENU_BRIGHTNESS_ADJ: MBrightnessProc(); break;
case _MENU_RED_ADJ: MRedProc(); break;
case _MENU_GREEN_ADJ: MGreenProc(); break;
case _MENU_BLUE_ADJ: MBlueProc(); break;
case _MENU_CLOCK_ADJ: MClockProc(); break;
case _MENU_PHASE_ADJ: MPhaseProc(); break;
case _MENU_GAMMA_ADJ: MGammaProc(); break;
case _MENU_SHARPNESS_ADJ: MSharpnessProc(); break;
case _MENU_HPOS_ADJ: MHPosProc(); break;
case _MENU_VPOS_ADJ: MVPosProc(); break;
case _MENU_OSD_HPOS_ADJ: MOsdHPosProc(); break;
case _MENU_OSD_VPOS_ADJ: MOsdVPosProc(); break;
case _MENU_OSD_TIMER_ADJ: MOsdTimerProc(); break;
case _MENU_OSD_COLOR_ADJ: NOsdColorProc(); break;
case _MENU_VOLUME_ADJ : MVolumeProc(); break;
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
case _MENU_VOLUME_SP: MVolumeSPProc(); break;
#else
case _MENU_BRIGHT_SP: MBrightSPProc(); break;
#endif
default: break;
}
}
//------------------------------------------------------------
void DrawVGAMainPage()
{
// Close Window2
COsdFxCloseWindow(2);
// Load font
CScalerLoadFont(Fnt_MainPage_Ico,0x7a*2,42*2,_COMPRESS_FONT);
SetIconCntAtb(7); //Set Icon Count : 7
// Out Icon & Out Text
DispIcon(3,4,0x7a); //Color Icon
DispIcon(3,7,0x80); //Image setting Icon
DispIcon(3,10,0x86); //Position Icon
DispIcon(3,13,0x8c); //Osd Menu Icon
DispIcon(3,16,0x92); //Languege Icon
DispIcon(3,19,0x98); //Misc Icon
DispIcon(3,22,0x9e); //Exit Icon
Gotoxy(7,5,BYTE_DISPLAY);
Textout((unsigned char code *)sColor[GET_LANGUAGE]);
Gotoxy(7,8,BYTE_DISPLAY);
Textout((unsigned char code *)sImageSetting[GET_LANGUAGE]);
Gotoxy(7,11,BYTE_DISPLAY);
Textout((unsigned char code *)sPosition[GET_LANGUAGE]);
Gotoxy(7,14,BYTE_DISPLAY);
Textout((unsigned char code *)sOsdMenu[GET_LANGUAGE]);
Gotoxy(7,17,BYTE_DISPLAY);
Textout((unsigned char code *)sLanguage[GET_LANGUAGE]);
Gotoxy(7,20,BYTE_DISPLAY);
Textout((unsigned char code *)sMisc[GET_LANGUAGE]);
Gotoxy(7,23,BYTE_DISPLAY);
Textout((unsigned char code *)sExit[GET_LANGUAGE]);
DrawPen(1,(ucOsdState - _MENU_COLOR) * 3 + 5);
}
//---------------------------------------------------------------------------
void DrawVGAColorPage()
{
// Load font
CScalerLoadFont(Fnt_ColorTmp_Ico, 0x03,6,_COMPRESS_FONT);
CScalerLoadFont(Fnt_Color_Ico,0x7a*2,24*2,_COMPRESS_FONT);
CScalerLoadFont(Fnt_Back_Ico, 0x92*2,6*2,_COMPRESS_FONT);
CLEAR_OSD_ADJUST();
SetIconCntAtb(5); //Set Icon Count : 7
// Out Icon & Out Text
DispIcon(3,4,0x7a); //Contrast Icon
DispIcon(3,7,0x80); //Brightness Icon
DispIcon(3,10,0x86); //Color Adjust Icon
DispIcon(3,13,0x8c); //Color Temp Icon
DispIcon(3,16,0x92); //Back Icon
Gotoxy(7,5,BYTE_DISPLAY);
Textout((unsigned char code *)sContrast[GET_LANGUAGE]);
Gotoxy(7,8,BYTE_DISPLAY);
Textout((unsigned char code *)sBrightness[GET_LANGUAGE]);
Gotoxy(7,11,BYTE_DISPLAY);
Textout((unsigned char code *)sColorAdjust[GET_LANGUAGE]);
Gotoxy(7,14,BYTE_DISPLAY);
Textout((unsigned char code *)sColorTemp[GET_LANGUAGE]);
Gotoxy(7,17,BYTE_DISPLAY);
Textout((unsigned char code *)sBack[GET_LANGUAGE]);
COsdFxDrawWindow(XSTART(40), YSTART(355), XEND(250), YEND(445), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_BLACK), tOSD_WINDOW2_STYLE);
DrawPen(1,(ucOsdState - _MENU_CONTRAST) * 3 + 5);
}
//---------------------------------------------------------------------------
void DrawVGAImagePage()
{
// Load font
CScalerLoadFont(Fnt_Image_Ico,0x7a*2,24*2,_COMPRESS_FONT);
CScalerLoadFont(Fnt_Back_Ico,0x92*2,6*2,_COMPRESS_FONT);
CLEAR_OSD_ADJUST();
SetIconCntAtb(5); //Set Icon Count : 7
// Out Icon & Out Text
DispIcon(3,4,0x86); //Contrast Icon
DispIcon(3,7,0x8c); //Brightness Icon
DispIcon(3,10,0x7a); //Color Adjust Icon
DispIcon(3,13,0x80); //Color Temp Icon
DispIcon(3,16,0x92); //Back Icon
Gotoxy(7,5,BYTE_DISPLAY);
Textout((unsigned char code *)sClock[GET_LANGUAGE]);
Gotoxy(7,8,BYTE_DISPLAY);
Textout((unsigned char code *)sPhase[GET_LANGUAGE]);
Gotoxy(7,11,BYTE_DISPLAY);
Textout((unsigned char code *)sGamma[GET_LANGUAGE]);
Gotoxy(7,14,BYTE_DISPLAY);
Textout((unsigned char code *)sSharpness[GET_LANGUAGE]);
Gotoxy(7,17,BYTE_DISPLAY);
Textout((unsigned char code *)sBack[GET_LANGUAGE]);
COsdFxDrawWindow(XSTART(40), YSTART(355), XEND(250), YEND(445), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_BLACK), tOSD_WINDOW2_STYLE);
DrawPen(1,(ucOsdState - _MENU_CLOCK) * 3 + 5);
}
//---------------------------------------------------------------------------
void DrawVGAPositionPage()
{
// Load font
CScalerLoadFont(Fnt_POS_Ico,0x7a*2,12*2,_COMPRESS_FONT);
CScalerLoadFont(Fnt_Back_Ico,0x86*2,6*2,_COMPRESS_FONT);
CLEAR_OSD_ADJUST();
SetIconCntAtb(4); //Set Icon Count : 7
// Out Icon & Out Text
DispIcon(3,4, 0x7a); //H POSITION Icon
DispIcon(3,7, 0x80); //V POSITION Icon
DispIcon(3,10,0x86); //Back Icon
Gotoxy(7,5,BYTE_DISPLAY);
Textout((unsigned char code *)sHPos[GET_LANGUAGE]);
Gotoxy(7,8,BYTE_DISPLAY);
Textout((unsigned char code *)sVPos[GET_LANGUAGE]);
Gotoxy(7,11,BYTE_DISPLAY);
Textout((unsigned char code *)sBack[GET_LANGUAGE]);
COsdFxDrawWindow(XSTART(40), YSTART(355), XEND(250), YEND(445), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_BLACK), tOSD_WINDOW2_STYLE);
DrawPen(1,(ucOsdState - _MENU_HPOS) * 3 + 5);
}
//---------------------------------------------------------------------------
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 MNoneLR(unsigned char LR)
{
#if(_TMDS_SUPPORT)
if(LR)
{
if(stSystemData.InputSource != _SOURCE_DVI)
DoAuto();
else
{
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
DrawVolume();
ucOsdState = _MENU_VOLUME_SP;
#else
DrawBright();
ucOsdState = _MENU_BRIGHT_SP;
#endif
}
}
else
{
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
DrawVolume();
ucOsdState = _MENU_VOLUME_SP;
#else
DrawBright();
ucOsdState = _MENU_BRIGHT_SP;
#endif
}
#else
{
LR = LR;
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
DrawVolume();
ucOsdState = _MENU_VOLUME_SP;
#else
DrawBright();
ucOsdState = _MENU_BRIGHT_SP;
#endif
}
#endif
}
//------------------------------------------------------------
void MNoneMenuIn()
{
ucOsdState = _MENU_COLOR;
LoadLanguageFont();
InitOSDFrame();
DrawMainPage();
COsdFxEnableOsd();
}
//------------------------------------------------------------
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 MMainMenuMenuIn()
{
CLEAR_OSD_CLIENT();
switch(ucOsdState)
{
case _MENU_COLOR:
ucOsdState = _MENU_CONTRAST;
DrawColorPage();
break;
case _MENU_IMAGE_SETTING:
ucOsdState = _MENU_CLOCK;
DrawImagePage();
break;
case _MENU_POSITION:
ucOsdState = _MENU_HPOS;
DrawPositionPage();
break;
case _MENU_OSD_MENU:
ucOsdState = _MENU_OSD_HPOS;
DrawOSDPage();
break;
case _MENU_LANGUAGE:
ucOsdState = _MENU_LANGUAGE_ADJ;
DrawLanguagePage();
break;
case _MENU_MISC:
ucOsdState = _MENU_RESET;
DrawMiscPage();
break;
case _MENU_EXIT:
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
break;
}
}
//------------------------------------------------------------
void MMainMenuLR(unsigned char LR)
{
// Step 1: Clear Old Select
DrawPen(0,(ucOsdState - _MENU_COLOR) * 3 + 5);
// Step 2: Change Select Item
ucOsdState = ValueInRangeChange(_MENU_COLOR,_MENU_EXIT,ucOsdState,LR,1);
// Step 3: Draw
DrawPen(1,(ucOsdState - _MENU_COLOR) * 3 + 5);
}
//------------------------------------------------------------
void MMainMenuMenuOut()
{
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
}
//------------------------------------------------------------
void MColorPageProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MColorPageMenuOut(); break;
case VK_MENU_IN: MColorPageMenuIn(); break;
case VK_PREV_MENU: MColorPageLR(0); break;
case VK_NEXT_MENU: MColorPageLR(1); break;
case VK_ADJ_DEC: break;
case VK_ADJ_INC: break;
case VK_DO: break;
case VK_ENTER: MColorPageMenuIn(); break;
case VK_LEFT: MColorPageLR(0); break;
case VK_RIGHT: MColorPageLR(1); break;
}
}
//------------------------------------------------------------
void MColorPageMenuIn()
{
switch(ucOsdState)
{
case _MENU_CONTRAST:
ucOsdState = _MENU_CONTRAST_ADJ;
SLIDER(CONTRAST_GUAGE);
break;
case _MENU_BRIGHTNESS:
ucOsdState = _MENU_BRIGHTNESS_ADJ;
SLIDER(BRIGHTNESS_GUAGE);
break;
case _MENU_COLOR_ADJUST:
if(GET_COLOR_TEMP_TYPE() != _CT_USER)
break;
ucOsdState = _MENU_RED;
MColorPageRGBSelect(ucOsdState - _MENU_RED,1);
MDrawColorPageRGB();
break;
case _MENU_COLOR_TEMP:
if(GET_COLOR_TEMP_TYPE() == _CT_9300)
ucOsdState = _MENU_9300;
else if(GET_COLOR_TEMP_TYPE() == _CT_6500)
ucOsdState = _MENU_6500;
else ucOsdState = _MENU_USER;
MColorPageRGBSelect(ucOsdState - _MENU_9300,1);
MDrawColorTmp();
break;
case _MENU_COLOR_BACK:
MColorPageMenuOut();
break;
}
}
//------------------------------------------------------------
void MColorPageLR(unsigned char LR)
{
// Step 1: Clear Old Select
DrawPen(0,(ucOsdState - _MENU_CONTRAST) * 3 + 5);
// Step 2: Change Select Item
ucOsdState = ValueInRangeChange(_MENU_CONTRAST,_MENU_COLOR_BACK,ucOsdState,LR,1);
// Step 3: Draw
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -