📄 osdvga902.c
字号:
{
switch(ucOsdState)
{
case _MENU_5500K:
SET_COLOR_TEMP_TYPE(_CT_5800);
CEepromLoadColorTempData();
ucOsdEventMsg = _SAVE_EE_SYSTEMDATA_MSG;
CAdjustContrast();
DrawVGAMisc();
ucOsdState = _MENU_COLOR;
MENUITEM_SELECT(3);
break;
case _MENU_6500K:
SET_COLOR_TEMP_TYPE(_CT_6500);
CEepromLoadColorTempData();
ucOsdEventMsg = _SAVE_EE_SYSTEMDATA_MSG;
CAdjustContrast();
DrawVGAMisc();
MENUITEM_SELECT(3);
ucOsdState = _MENU_COLOR;
break;
case _MENU_9300K:
SET_COLOR_TEMP_TYPE(_CT_9300);
CEepromLoadColorTempData();
ucOsdEventMsg = _SAVE_EE_SYSTEMDATA_MSG;
CAdjustContrast();
DrawVGAMisc();
ucOsdState = _MENU_COLOR;
MENUITEM_SELECT(3);
break;
case _MENU_USER:
DrawVGA_User_Red();
break;
default: break;
}
}
//------------------------------------------------------------
void MColorLR(unsigned char LR)
{
// 1 CLEAR SELECT
MENUITEM_CLR(ucOsdState - _MENU_5500K + 1); //2 is Begin Row Option
// 2 CHANGE ITEM
ucOsdState = ValueInRangeChange(_MENU_5500K,_MENU_USER,ucOsdState,LR,1);
// 3 DRAW SELECT
MENUITEM_SELECT(ucOsdState - _MENU_5500K + 1);
}
//------------------------------------------------------------
void MRedProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MRedMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MRedMenuIn(); break;
case VK_LEFT: MRedLR(LEFT); break;
case VK_RIGHT: MRedLR(RIGHT); break;
case VK_PREV_MENU: MRedLR(PREV); break;
case VK_NEXT_MENU: MRedLR(NEXT); break;
case VK_ADJ_DEC:
case VK_ADJ_INC:
case VK_DO: break;
}
}
//------------------------------------------------------------
void MRedMenuOut()
{
DrawVGAColor();
ucOsdState = _MENU_USER;
MENUITEM_SELECT(4);
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MRedMenuIn()
{
DrawVGA_User_Green();
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MRedLR(unsigned char LR)
{
unsigned int r = USER_R_GUAGE;
SET_KEYREPEATENABLE();
r = ValueInRangeChange(0,100,r,LR,0);
r = r * 255;
stColorTempData.ColorTemp[_RED] = r / 100;
if(r % 100 != 0) stColorTempData.ColorTemp[_RED] = stColorTempData.ColorTemp[_RED] + 1;
SLIDER1(USER_R_GUAGE,0x20);
CAdjustContrast();
}
//------------------------------------------------------------
void MGreenProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MGreenMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MGreenMenuIn(); break;
case VK_LEFT: MGreenLR(LEFT); break;
case VK_RIGHT: MGreenLR(RIGHT); break;
case VK_PREV_MENU: MGreenLR(PREV); break;
case VK_NEXT_MENU: MGreenLR(NEXT); break;
case VK_ADJ_DEC:
case VK_ADJ_INC:
case VK_DO: break;
}
}
//------------------------------------------------------------
void MGreenMenuOut()
{
DrawVGAColor();
ucOsdState = _MENU_USER;
MENUITEM_SELECT(4);
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MGreenMenuIn()
{
DrawVGA_User_Blue();
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MGreenLR(unsigned char LR)
{
unsigned int r = USER_G_GUAGE;
SET_KEYREPEATENABLE();
r = ValueInRangeChange(0,100,r,LR,0);
r = r * 255;
stColorTempData.ColorTemp[_GREEN] = r / 100;
if(r % 100 != 0) stColorTempData.ColorTemp[_GREEN] = stColorTempData.ColorTemp[_GREEN] + 1;
SLIDER1(USER_G_GUAGE,0x30);
CAdjustContrast();
}
//------------------------------------------------------------
void MBlueProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MBlueMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MBlueMenuIn(); break;
case VK_LEFT: MBlueLR(LEFT); break;
case VK_RIGHT: MBlueLR(RIGHT); break;
case VK_PREV_MENU: MBlueLR(PREV); break;
case VK_NEXT_MENU: MBlueLR(NEXT); break;
case VK_ADJ_DEC:
case VK_ADJ_INC:
case VK_DO: break;
}
}
//------------------------------------------------------------
void MBlueMenuOut()
{
DrawVGAColor();
ucOsdState = _MENU_USER;
MENUITEM_SELECT(4);
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MBlueMenuIn()
{
DrawVGA_User_Red();
ucOsdEventMsg = _SAVE_EE_COLORPROC1_MSG;
}
//------------------------------------------------------------
void MBlueLR(unsigned char LR)
{
unsigned int r = USER_B_GUAGE;
SET_KEYREPEATENABLE();
r = ValueInRangeChange(0,100,r,LR,0);
r = r * 255;
stColorTempData.ColorTemp[_BLUE] = r / 100;
if(r % 100 != 0) stColorTempData.ColorTemp[_BLUE] = stColorTempData.ColorTemp[_BLUE] + 1;
SLIDER1(USER_B_GUAGE,0x40);
CAdjustContrast();
}
//------------------------------------------------------------
void MLanguageProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MLanguageMenuOut(); break;
case VK_ENTER:
case VK_MENU_IN: MLanguageMenuIn(); break;
case VK_LEFT: MLanguageLR(NEXT); break;
case VK_RIGHT: MLanguageLR(PREV); break;
case VK_PREV_MENU: MLanguageLR(PREV); break;
case VK_NEXT_MENU: MLanguageLR(NEXT); break;
case VK_ADJ_DEC:
case VK_ADJ_INC:
case VK_DO: break;
}
}
//------------------------------------------------------------
void MLanguageMenuOut()
{
LoadLanguageFont();
DrawVGAMisc();
ucOsdState = _MENU_LANGUAGE;
MENUITEM_SELECT(4);
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
}
//------------------------------------------------------------
void MLanguageMenuIn()
{
LoadLanguageFont();
DrawVGALanguage();
MENUITEM_SELECT(GetCurrLanguagePos() + 1);
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
}
//------------------------------------------------------------
void MLanguageLR(unsigned char LR)
{
unsigned char ucCount = GetLanguegeCount();
unsigned char ucLanguage = GetCurrLanguagePos();
MENUITEM_CLR(ucLanguage + 1);
ucLanguage = ValueInRangeChange(0,ucCount - 1,ucLanguage,LR,1);
MENUITEM_SELECT(ucLanguage + 1);
ucLanguage = IndexofLanuguage(ucLanguage);
SET_LANGUAGE(ucLanguage);
}
//------------------------------------------------------------
void DoAuto()
{
LoadLanguageFont();
InitOSDFrame();
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);
OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR); //Byte 2
//Gotoxy(9,4,BYTE_DISPLAY);
//Textout((unsigned char code *)sAdjusting[GET_LANGUAGE]);
CenterLineTextout((unsigned char code *)sAdjusting[GET_LANGUAGE],4,COL_WIDTH);
COsdFxEnableOsd();
CAutoDoAutoConfig();
CAutoDoWhiteBalance();
COsdFxDisableOsd();
ucOsdState = _MENU_NONE;
}
//------------------------------------------------------------
void DoAutoBalance()
{
CAutoDoWhiteBalance();
}
//------------------------------------------------------------
void DoResetAll()
{
unsigned char ucLanguage = GET_LANGUAGE;
DoReset();
stModeUserData.FirstAuto = 1;
ucOsdState = _MENU_NONE;
SET_LANGUAGE(ucLanguage); //hsl add
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
COsdFxDisableOsd();
}
//------------------------------------------------------------
//----------------------hsl add-------------------------------
#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
void DrawVolume()
{
LoadLanguageFont();
InitOSDFrame();
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(3,3,BYTE_DISPLAY);
Textout((unsigned char code *)sVolume[GET_LANGUAGE]);
DrawVolumeState();
SLIDER(stOsdUserData.Volume);
COsdFxEnableOsd();
}
//-------------------------------------------------------------
void MVolumeSPProc()
{
switch(ucKeyMessage)
{
case VK_MENU_OUT: MVolumeSPMenuOut(); break;
case VK_MENU_IN: break;
case VK_ENTER: MVolumeSPMenuIn(); break;
case VK_LEFT: MVolumeSPLR(LEFT); break;
case VK_RIGHT: MVolumeSPLR(RIGHT); break;
case VK_PREV_MENU: MVolumeSPLR(PREV); break;
case VK_NEXT_MENU: MVolumeSPLR(NEXT); break;
case VK_ADJ_DEC: MVolumeSPLR(LEFT); break;
case VK_ADJ_INC: MVolumeSPLR(RIGHT); break;
case VK_DO: break;
}
}
//------------------------------------------------------------
void MVolumeSPMenuIn()
{
if(GET_MUTE_STATE() == STATE_MUTEON)
{
SET_MUTE_STATE(STATE_MUTEOFF);
SetVolume();
}
else
{
SET_MUTE_STATE(STATE_MUTEON);
MUTE_ON();
}
DrawVolumeState();
}
//------------------------------------------------------------
void MVolumeSPLR(unsigned char LR)
{
if(GET_MUTE_STATE() == STATE_MUTEON)
{
SET_MUTE_STATE(STATE_MUTEOFF);
DrawVolumeState();
}
SET_KEYREPEATENABLE();
stOsdUserData.Volume = ValueInRangeChange(0,100,stOsdUserData.Volume,LR,0);
SLIDER(stOsdUserData.Volume);
SetVolume();
ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
}
//------------------------------------------------------------
void MVolumeSPMenuOut()
{
ucOsdState = _MENU_NONE;
COsdFxDisableOsd();
CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void DrawVolumeState()
{
if(GET_MUTE_STATE() == STATE_MUTEON)
{
DispIcon(1,3, 0x0d);
}
else
{
Gotoxy(1,3,BYTE_DISPLAY);
OutputChar(0x14);
OutputChar(0x1d);
}
}
//------------------------------------------------------------
#else
#endif //#if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
#endif //#if(_VGA_SUPPORT)
#endif //#if(_OSD_TYPE == _OSD902)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -