📄 osdvga902.c
字号:
#define __OSDVGA902___
#include "Header\Include.h"
#if(_OSD_TYPE == _OSD902)
#if(_VGA_SUPPORT)
//------------------------------------------------------------
void OSDVGAProc()
{
switch(ucOsdState)
{
case _MENU_NONE: MNonePorc(); break;
//MAIN MENU
case _MENU_BRIGHTNESS_CONTRAST:
case _MENU_ADJUST:
case _MENU_PHASE_CLOCK:
case _MENU_HV_POSITION:
case _MENU_MISC:
case _MENU_RESET: MMainMenuProc(); break;
//_MENU_BRIGHTNESS_CONTRAST
case _MENU_BRIGHTNESS: MBrightnessProc(); break;
case _MENU_CONTRAST: MContrastProc(); break;
//_MENU_ADJUST
case _MENU_AUTO_ADJUST:
case _MENU_AUTO_BALANCE: MAdjustProc(); break;
case _MENU_ADJUSTING: break;
//_MENU_PHASE_CLOCK
case _MENU_PHASE: MPhaseProc(); break;
case _MENU_CLOCK: MClockProc(); break;
//_MENU_HV_POSITION
case _MENU_H_POSITION: MH_PositionProc(); break;
case _MENU_V_POSITION: MV_PositionProc(); break;
//_MENU_MISC
case _MENU_INFORMATION:
case _MENU_TIMER:
case _MENU_COLOR:
case _MENU_LANGUAGE:
case _MENU_DISPLAY_MODE: MMiscProc(); break;
case _MENU_TITLE_INFORMATION: MInformationProc(); break;
case _MENU_OSD_TIMER: MTimerProc(); break;
//_MENU_COLOR
case _MENU_5500K:
case _MENU_6500K:
case _MENU_9300K:
case _MENU_USER: MColorProc(); break;
case _MENU_RED: MRedProc(); break;
case _MENU_GREEN: MGreenProc(); break;
case _MENU_BLUE: MBlueProc(); break;
//_MENU_LANGUAGE
case _MENU_ENGLISH:
case _MENU_JAPANESE:
case _MENU_CHINESE_S:
case _MENU_GERMAN:
case _MENU_FRANCAIS:
case _MENU_ESPANOL:
case _MENU_ITALIANO: MLanguageProc(); break;
case _MENU_RESET_ALL: break;
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
case _MENU_VOLUME_SP: MVolumeSPProc(); break;
#endif
default: break;
}
}
//---------------------------------------------------------------------------
void DrawVGAMainPage()
{
// Init
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB); //Byte 0
OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY); //Byte 1
OSDLine(0,0,COL_WIDTH,COLOR_HEAD,BYTE_COLOR);
OSDClear(1, 6, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
OSDLine(7,0,COL_WIDTH,COLOR_BOTTOM,BYTE_COLOR); //COLOR_HEAD
// Out Icon & Out Text
DispIcon(1,1,0x01);
DispIcon(3,1,0x03); //BRIGHTNESS/CONTRAST
DispIcon(1,2,0x05); //AUTO ADJUST
DispIcon(1,3,0x18);
DispIcon(3,3,0x0b); //PHASE/CLOCK
DispIcon(1,4,0x07);
DispIcon(3,4,0x09); //H/V POSITION
DispIcon(1,5,0x0f); //MISC
DispIcon(1,6,0x11); //RESET
//Gotoxy(7,0,BYTE_DISPLAY);
//Textout((unsigned char code *)sMain_Menu[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sMain_Menu[GET_LANGUAGE],0,COL_WIDTH);
Gotoxy(7,1,BYTE_DISPLAY);
Textout((unsigned char code *)sBrightness_Contrast[GET_LANGUAGE]);
Gotoxy(7,2,BYTE_DISPLAY);
Textout((unsigned char code *)sAuto_Adjust[GET_LANGUAGE]);
Gotoxy(7,3,BYTE_DISPLAY);
Textout((unsigned char code *)sPhase_Clock[GET_LANGUAGE]);
Gotoxy(7,4,BYTE_DISPLAY);
Textout((unsigned char code *)sHV_Position[GET_LANGUAGE]);
Gotoxy(7,5,BYTE_DISPLAY);
Textout((unsigned char code *)sMisc[GET_LANGUAGE]);
Gotoxy(7,6,BYTE_DISPLAY);
Textout((unsigned char code *)sReset[GET_LANGUAGE]);
Gotoxy(7,6,BYTE_DISPLAY);
Textout((unsigned char code *)sReset[GET_LANGUAGE]);
//display display size 1024 x 768 @ 60Hz
//Gotoxy(5,7,BYTE_DISPLAY);
//ShowMode();
}
//------------------------------------------------------------
void DrawVGABrightness()
{
ucOsdState = _MENU_BRIGHTNESS;
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
DispIcon(1,3,0x01);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sBrightness[GET_LANGUAGE]);
SLIDER(BRIGHTNESS_GUAGE);;
//Gotoxy(17,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Contrast[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Contrast[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAContrast()
{
ucOsdState = _MENU_CONTRAST;
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
DispIcon(1,3,0x03);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sContrast[GET_LANGUAGE]);
SLIDER(CONTRAST_GUAGE);
//Gotoxy(15,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Brightness[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Brightness[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAAdjust()
{
ucOsdState = _MENU_AUTO_ADJUST;
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(2, 1, 0 , COL_WIDTH, COLOR_HEAD, BYTE_COLOR); //Byte 2
OSDClear(3, 2, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
OSDClear(5, 1, 0 , COL_WIDTH, COLOR_BOTTOM, BYTE_COLOR); //Byte 2
//Gotoxy(8,2,BYTE_DISPLAY);
//Textout((unsigned char code *)sAuto_Adjust[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sAuto_Adjust[GET_LANGUAGE],2,COL_WIDTH);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sAuto_Adjust[GET_LANGUAGE]);
Gotoxy(3,4,BYTE_DISPLAY);
Textout((unsigned char code *)sAuto_Balance[GET_LANGUAGE]);
//display display size 1024 x 768 @ 60Hz
//Gotoxy(5,5,BYTE_DISPLAY);
//ShowMode();
MENUITEM_SELECT(3);
}
//------------------------------------------------------------
void DrawVGAPhase()
{
ucOsdState = _MENU_PHASE;
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
DispIcon(1,3,0x18);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sPhase[GET_LANGUAGE]);
SLIDER(PHASE_GUAGE);
//Gotoxy(20,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Clock[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Clock[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAClock()
{
ucOsdState = _MENU_CLOCK;
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
DispIcon(1,3,0x0b);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sClock[GET_LANGUAGE]);
SLIDER(ClockGuage());
//Gotoxy(20,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_Phase[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_Phase[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAH_Position()
{
ucOsdState = _MENU_H_POSITION;
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
DispIcon(1,3,0x07);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sH_Position[GET_LANGUAGE]);
SLIDER(HPosGuage());
//Gotoxy(15,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_V_Position[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_V_Position[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAV_Position()
{
ucOsdState = _MENU_V_POSITION;
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
DispIcon(1,3,0x09);
Gotoxy(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sV_Position[GET_LANGUAGE]);
SLIDER(VPosGuage());
//Gotoxy(15,5,BYTE_DISPLAY);
//Textout((unsigned char code *)sDown_H_Position[GET_LANGUAGE]);
RightAlignLineTextOut((unsigned char code *)sDown_H_Position[GET_LANGUAGE],5,COL_WIDTH-1);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAMisc()
{
ucOsdState = _MENU_INFORMATION;
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, 5, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
OSDClear(6, 1, 0 , COL_WIDTH, COLOR_BOTTOM, BYTE_COLOR); //Byte 2
//Gotoxy(11,0,BYTE_DISPLAY);
//Textout((unsigned char code *)sMisc[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sMisc[GET_LANGUAGE],0,COL_WIDTH);
Gotoxy(2,1,BYTE_DISPLAY);
Textout((unsigned char code *)sInformation[GET_LANGUAGE]);
Gotoxy(2,2,BYTE_DISPLAY);
Textout((unsigned char code *)sOsd_Timer[GET_LANGUAGE]);
Gotoxy(2,3,BYTE_DISPLAY);
Textout((unsigned char code *)sColor[GET_LANGUAGE]);
Gotoxy(2,4,BYTE_DISPLAY);
Textout((unsigned char code *)sLanguage[GET_LANGUAGE]);
Gotoxy(2,5,BYTE_DISPLAY);
Textout((unsigned char code *)sDisplay_Mode[GET_LANGUAGE]);
//display display size 1024 x 768 @ 60Hz
//Gotoxy(5,6,BYTE_DISPLAY);
//ShowMode();
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAResetAll()
{
ucOsdState = _MENU_RESET_ALL;
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(8,4,BYTE_DISPLAY);
//Textout((unsigned char code *)sReset_All[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sReset_All[GET_LANGUAGE],4,COL_WIDTH);
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAInformation()
{
ucOsdState = _MENU_TITLE_INFORMATION;
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(1, 6, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
CenterLineTextout((unsigned char code *)sInformation[GET_LANGUAGE],1,COL_WIDTH);
Gotoxy(2,3,BYTE_DISPLAY);
Textout((unsigned char code *)sRES);
OSDClear(3, 1, 8 , 12, 0x26, BYTE_COLOR);
Gotoxy(8,3,BYTE_DISPLAY);
OutputDisplaySize();
Gotoxy(2,4,BYTE_DISPLAY);
Textout((unsigned char code *)sH);
OSDClear(4, 1, 8 , 12, 0x26, BYTE_COLOR);
Gotoxy(8,4,BYTE_DISPLAY);
OutputHSync();
Gotoxy(2,5,BYTE_DISPLAY);
Textout((unsigned char code *)sV);
OSDClear(5, 1, 8 , 12, 0x26, BYTE_COLOR);
Gotoxy(8,5,BYTE_DISPLAY);
OutputRefrushRate();
COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGATimer()
{
ucOsdState = _MENU_OSD_TIMER;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -