📄 osdav900.c
字号:
#define __OSDAV001___
#include "Header\Include.h"
#if(_OSD_TYPE == _OSD900)
#if(_VIDEO_AV_SUPPORT || _VIDEO_SV_SUPPORT || _VIDEO_TV_SUPPORT)
//------------------------------------------------------------
void OSDAVProc()
{
switch(ucOsdState)
{
case _MENU_NONE: MAVNonePorc(); break;
case _MENU_COLOR:
case _MENU_IMAGE_SETTING:
case _MENU_OSD_MENU:
case _MENU_LANGUAGE:
case _MENU_MISC:
case _MENU_EXIT: MAVMainMenuProc(); break;
case _MENU_CONTRAST:
case _MENU_BRIGHTNESS:
case _MENU_HUE:
case _MENU_SATURATION:
case _MENU_COLOR_BACK: MAVColorPageProc(); break;
case _MENU_GAMMA:
case _MENU_SHARPNESS:
case _MENU_IMAGE_BACK: MAVImagePageProc(); break;
case _MENU_OSD_HPOS:
case _MENU_OSD_VPOS:
case _MENU_OSD_TIMER:
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_GAMMA_ADJ: MGammaProc(); break;
case _MENU_SHARPNESS_ADJ: MSharpnessProc(); break;
case _MENU_OSD_HPOS_ADJ: MOsdHPosProc(); break;
case _MENU_OSD_VPOS_ADJ: MOsdVPosProc(); break;
case _MENU_OSD_TIMER_ADJ: MOsdTimerProc(); break;
case _MENU_VOLUME_ADJ : MVolumeProc(); break;
case _MENU_HUE_ADJ: MAVHueAdjProc(); break;
case _MENU_SATURATION_ADJ: MAVSaturationAdjProc();break;
default: break;
}
}
//------------------------------------------------------------
void DrawAVMainPage()
{
// 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,0x8c); //Osd Menu Icon
DispIcon(3,13,0x92); //Languege Icon
DispIcon(3,16,0x98); //Misc Icon
DispIcon(3,19,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 *)sOsdMenu[GET_LANGUAGE]);
Gotoxy(7,14,BYTE_DISPLAY);
Textout((unsigned char code *)sLanguage[GET_LANGUAGE]);
Gotoxy(7,17,BYTE_DISPLAY);
Textout((unsigned char code *)sMisc[GET_LANGUAGE]);
Gotoxy(7,20,BYTE_DISPLAY);
Textout((unsigned char code *)sExit[GET_LANGUAGE]);
DrawAVMainPageSelect(1);
}
//---------------------------------------------------------------------------
void DrawAVColorPage()
{
// 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); //HUE
DispIcon(3,13,0x8c); //SATURATION
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 *)sHue[GET_LANGUAGE]);
Gotoxy(7,14,BYTE_DISPLAY);
Textout((unsigned char code *)sSaturation[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 DrawAVImagePage()
{
// 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,0x7a);
DispIcon(3,7,0x80);
DispIcon(3,10,0x92);
Gotoxy(7,5,BYTE_DISPLAY);
Textout((unsigned char code *)sGamma[GET_LANGUAGE]);
Gotoxy(7,8,BYTE_DISPLAY);
Textout((unsigned char code *)sSharpness[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_GAMMA) * 3 + 5);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void MAVNonePorc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: break;
case VK_MENU_IN: MAVNoneMenuIn(); break;
case VK_PREV_MENU: break;
case VK_NEXT_MENU: break;
case VK_ADJ_DEC: MAVNoneLR(0); break;
case VK_ADJ_INC: MAVNoneLR(1); break;
case VK_DO: break;
case VK_ENTER: MAVNoneEnter(); break;
case VK_LEFT: MAVNoneLR(0); break;
case VK_RIGHT: MAVNoneLR(1); break;
}
}
//------------------------------------------------------------
void MAVNoneEnter()
{
DoAuto();
}
//------------------------------------------------------------
void MAVNoneLR(unsigned char LR)
{
LR = LR;
}
//------------------------------------------------------------
void MAVNoneMenuIn()
{
ucOsdState = _MENU_COLOR;
LoadLanguageFont();
InitOSDFrame();
DrawAVMainPage();
COsdFxEnableOsd();
}
//------------------------------------------------------------
//------------------------------------------------------------
void MAVMainMenuProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MAVMainMenuMenuOut(); break;
case VK_MENU_IN: MAVMainMenuMenuIn(); break;
case VK_PREV_MENU: MAVMainMenuLR(0); break;
case VK_NEXT_MENU: MAVMainMenuLR(1); break;
case VK_ADJ_DEC: break;
case VK_ADJ_INC: break;
case VK_DO: break;
case VK_ENTER: MAVMainMenuMenuIn(); break;
case VK_LEFT: MAVMainMenuLR(0); break;
case VK_RIGHT: MAVMainMenuLR(1); break;
}
}
//------------------------------------------------------------
void MAVMainMenuMenuIn()
{
CLEAR_OSD_CLIENT();
switch(ucOsdState)
{
case _MENU_COLOR:
ucOsdState = _MENU_CONTRAST;
DrawAVColorPage();
break;
case _MENU_IMAGE_SETTING:
ucOsdState = _MENU_GAMMA;
DrawAVImagePage();
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 MAVMainMenuLR(unsigned char LR)
{
// Step 1: Clear Old Select
DrawAVMainPageSelect(0);
// Step 2: Change Select Item
if(LR)
{
switch(ucOsdState)
{
case _MENU_COLOR: ucOsdState = _MENU_IMAGE_SETTING; break;
case _MENU_IMAGE_SETTING: ucOsdState = _MENU_OSD_MENU; break;
case _MENU_OSD_MENU: ucOsdState = _MENU_LANGUAGE; break;
case _MENU_LANGUAGE: ucOsdState = _MENU_MISC; break;
case _MENU_MISC: ucOsdState = _MENU_EXIT; break;
case _MENU_EXIT: ucOsdState = _MENU_COLOR; break;
}
}
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -