📄 osdvga902.c
字号:
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR); //Byte 2
OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
Gotoxy(1,3,BYTE_DISPLAY);
Textout((unsigned char code *)sOsd_Timer[GET_LANGUAGE]);
//SLIDER(TIMEOUT_GUAGE);
SPSLIDERTIMER(TIMEOUT_GUAGE);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAColor()
{
ucOsdState = _MENU_5500K;
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR); //Byte 2
OSDClear(0, 1, 0 , COL_WIDTH, COLOR_HEAD, BYTE_COLOR); //Byte 2
OSDClear(1, 4, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
OSDClear(5, 1, 0 , COL_WIDTH, COLOR_BOTTOM, BYTE_COLOR); //Byte 2
//Gotoxy(11,0,BYTE_DISPLAY);
//Textout((unsigned char code *)sColor[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sColor[GET_LANGUAGE],0,COL_WIDTH);
Gotoxy(2,1,BYTE_DISPLAY);
Textout((unsigned char code *)s5500k);
Gotoxy(2,2,BYTE_DISPLAY);
Textout((unsigned char code *)s6500k);
Gotoxy(2,3,BYTE_DISPLAY);
Textout((unsigned char code *)s9300k);
Gotoxy(2,4,BYTE_DISPLAY);
Textout((unsigned char code *)sUser[GET_LANGUAGE]);
//display display size 1024 x 768 @ 60Hz
//Gotoxy(5,5,BYTE_DISPLAY);
//ShowMode();
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGALanguage()
{
ucOsdState = _MENU_ENGLISH;
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR); //Byte 2
OSDClear(0, 1, 0 , COL_WIDTH, COLOR_HEAD, BYTE_COLOR); //Byte 2
OSDClear(1, 7, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
//Gotoxy(9,0,BYTE_DISPLAY);
//Textout((unsigned char code *)sLanguage[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sLanguage[GET_LANGUAGE],0,COL_WIDTH);
Gotoxy(2,1,BYTE_DISPLAY);
Textout((unsigned char code *)sEnglish[GET_LANGUAGE]);
Gotoxy(2,2,BYTE_DISPLAY);
Textout((unsigned char code *)sJapanese[GET_LANGUAGE]);
Gotoxy(2,3,BYTE_DISPLAY);
Textout((unsigned char code *)sChinese_s[GET_LANGUAGE]);
Gotoxy(2,4,BYTE_DISPLAY);
Textout((unsigned char code *)sGerman[GET_LANGUAGE]);
Gotoxy(2,5,BYTE_DISPLAY);
Textout((unsigned char code *)sFrancais[GET_LANGUAGE]);
Gotoxy(2,6,BYTE_DISPLAY);
Textout((unsigned char code *)sEspanol[GET_LANGUAGE]);
Gotoxy(2,7,BYTE_DISPLAY);
Textout((unsigned char code *)sItaliano[GET_LANGUAGE]);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGADis_Mode()
{
ucOsdState = _MENU_DISPLAY_MODE;
}
//------------------------------------------------------------
void DrawVGA_User_Red()
{
ucOsdState = _MENU_RED;
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR); //Byte 2
OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
Gotoxy(1,3,BYTE_DISPLAY);
Textout((unsigned char code *)sRed[GET_LANGUAGE]);
//SLIDER(USER_R_GUAGE);
SLIDER1(USER_R_GUAGE,0x20);
//Gotoxy(20,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Green[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Green[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGA_User_Green()
{
ucOsdState = _MENU_GREEN;
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR); //Byte 2
OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
Gotoxy(1,3,BYTE_DISPLAY);
Textout((unsigned char code *)sGreen[GET_LANGUAGE]);
//SLIDER(USER_G_GUAGE);
SLIDER1(USER_G_GUAGE,0x30);
//Gotoxy(20,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Blue[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Blue[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGA_User_Blue()
{
ucOsdState = _MENU_BLUE;
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR); //Byte 2
OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
Gotoxy(1,3,BYTE_DISPLAY);
Textout((unsigned char code *)sBlue[GET_LANGUAGE]);
//SLIDER(USER_G_GUAGE);
SLIDER1(USER_B_GUAGE,0x40);
//Gotoxy(20,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Red[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Red[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void MNonePorc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: break;
case VK_ENTER:
case VK_MENU_IN: MNoneMenuIn(); break;
case VK_LEFT: MNoneLR(LEFT); break;
case VK_RIGHT: MNoneLR(RIGHT); break;
case VK_PREV_MENU: MNoneLR(PREV); break;
case VK_NEXT_MENU: MNoneLR(NEXT); break;
case VK_ADJ_DEC:
case VK_ADJ_INC:
case VK_DO:
//DoAuto();
//ucKeyMessage =VK_NONE;
break;
}
}
//------------------------------------------------------------
void MNoneMenuIn()
{
ucOsdState = _MENU_BRIGHTNESS_CONTRAST;
LoadLanguageFont();
InitOSDFrame();
DrawMainPage();
MENUITEM_SELECT(1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void MNoneLR(unsigned char LR)
{
#if(_TMDS_SUPPORT)
LR =LR;
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
DrawVolume();
ucOsdState = _MENU_VOLUME_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 MMainMenuProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MMainMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MMainMenuIn(); break;
case VK_LEFT: MMainMenuLR(NEXT); break;
case VK_RIGHT: MMainMenuLR(PREV); break;
case VK_PREV_MENU: MMainMenuLR(PREV); break;
case VK_NEXT_MENU: MMainMenuLR(NEXT); break;
case VK_ADJ_DEC: break;
case VK_ADJ_INC: break;
case VK_DO: break;
}
}
//------------------------------------------------------------
void MMainMenuOut()
{
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MMainMenuIn()
{
switch(ucOsdState)
{
case _MENU_BRIGHTNESS_CONTRAST: DrawVGABrightness(); break;
case _MENU_ADJUST: DrawVGAAdjust(); break;
case _MENU_PHASE_CLOCK: DrawVGAPhase(); break;
case _MENU_HV_POSITION: DrawVGAH_Position(); break;
case _MENU_MISC:
DrawVGAMisc();
MENUITEM_SELECT(1);
break;
case _MENU_RESET:
DrawVGAResetAll();
DoResetAll();
break;
break;
}
}
//------------------------------------------------------------
void MMainMenuLR(unsigned char LR)
{
// 1 CLEAR SELECT
MENUITEM_CLR(ucOsdState);
// 2 CHANGE ITEM
ucOsdState = ValueInRangeChange(_MENU_BRIGHTNESS_CONTRAST,_MENU_RESET,ucOsdState,LR,1);
// 3 DRAW SELECT
MENUITEM_SELECT(ucOsdState);
}
//------------------------------------------------------------
void MBrightnessProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MBrightnessMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MBrightnessMenuIn(); break;
case VK_LEFT: MBrightnessLR(LEFT); break;
case VK_RIGHT: MBrightnessLR(RIGHT); break;
case VK_PREV_MENU: MBrightnessLR(PREV); break;
case VK_NEXT_MENU: MBrightnessLR(NEXT); break;
case VK_ADJ_DEC: break;
case VK_ADJ_INC: break;
case VK_DO: break;
}
}
//------------------------------------------------------------
void MBrightnessMenuOut()
{
DrawVGAMainPage();
ucOsdState = _MENU_BRIGHTNESS_CONTRAST;
MENUITEM_SELECT(1);
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MBrightnessMenuIn()
{
DrawVGAContrast();
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MBrightnessLR(unsigned char LR)
{
unsigned int iBright = BRIGHTNESS_GUAGE;
SET_KEYREPEATENABLE();
iBright = ValueInRangeChange(0,100,iBright,LR,0);
iBright = iBright * (MAX_BRIGHT - MIN_BRIGHT);
if((iBright % 100) == 0) iBright /= 100;
else iBright = iBright/100 + 1;
iBright += MIN_BRIGHT;
stConBriData.Brightness = iBright;
SLIDER(BRIGHTNESS_GUAGE);
CAdjustBrightness();
}
//------------------------------------------------------------
void MContrastProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MContrastMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MContrastMenuIn(); break;
case VK_LEFT: MContrastLR(LEFT); break;
case VK_RIGHT: MContrastLR(RIGHT); break;
case VK_PREV_MENU: MContrastLR(PREV); break;
case VK_NEXT_MENU: MContrastLR(NEXT); break;
case VK_ADJ_DEC: break;
case VK_ADJ_INC: break;
case VK_DO: break;
}
}
//------------------------------------------------------------
void MContrastMenuOut()
{
DrawVGAMainPage();
ucOsdState = _MENU_BRIGHTNESS_CONTRAST;
MENUITEM_SELECT(1);
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MContrastMenuIn()
{
DrawVGABrightness();
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MContrastLR(unsigned char LR)
{
unsigned int ucContrast = CONTRAST_GUAGE;
SET_KEYREPEATENABLE();
ucContrast = ValueInRangeChange(0,100,ucContrast,LR,0);
ucContrast = ucContrast * (MAX_CONTRAST - MIN_CONTRAST);
if(ucContrast % 100 == 0) ucContrast = ucContrast / 100;
else ucContrast = ucContrast / 100 + 1;
ucContrast += MIN_CONTRAST ;
stConBriData.Contrast = ucContrast;
SLIDER(CONTRAST_GUAGE);
CAdjustContrast();
}
//------------------------------------------------------------
void MAdjustProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MAdjustMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MAdjustMenuIn(); break;
case VK_LEFT: MAdjustLR(NEXT); break;
case VK_RIGHT: MAdjustLR(PREV); break;
case VK_PREV_MENU: MAdjustLR(PREV); break;
case VK_NEXT_MENU: MAdjustLR(NEXT); break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -