📄 lcd_osd002.c
字号:
PrintfInt(0);
RightAlignTextOut(0,0,0);
ChangeSource();
SetOSDDouble(0);
GetCurrLanguagePos();
IndexofLanuguage(0);
}
//----------------------------------------------------------------------------------------------------
void InitOSDFrame()
{
COsdFxDisableOsd();
CAdjustColorPalette(tPALETTE_0);
SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);
SetRowCmds(ROW_COUNT,COL_WIDTH);
COsdFxCodeWrite(ucCloseAllWindow);
COsdFxCodeWrite(ucMain_Frame);
OSDPosition(372,324,50,50,0x01);
ShowMode();
}
//----------------------------------------------------------------------------------------------------
void InitDialog()
{
COsdFxDisableOsd();
CAdjustColorPalette(tPALETTE_0);
SetOSDRamAddress(ROW_COUNT,COL_WIDTH,FONT_BASE_ADDRESS);
SetRowCmds(ROW_COUNT,COL_WIDTH);
COsdFxCodeWrite(ucCloseAllWindow);
COsdFxCodeWrite(ucDialog_Frame);
OSDClear(11, 7, 0, COL_WIDTH, 0x8C, THE_BYTE0);
OSDClear(11, 7, 0, COL_WIDTH, 0x00, THE_BYTE1);
OSDClear(11, 7, 0, COL_WIDTH, 0xB0, THE_BYTE2);
OSDPosition(372,180,50,50,0x01);
}
//----------------------------------------------------------------------------------------------------
void MNoneProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MNoneMenu(); break;
case VK_LEFT: MNoneLR(1); break;
case VK_RIGHT: MNoneLR(0); break;
case VK_ENTER: MNoneEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MNoneMenu()
{
CScalerLoadFont(FntMainPageIcon,0x6e,60,_COMPRESS_FONT);
InitOSDFrame();
ucOsdState = MENU_ITEM_BRIGHT;
DrawItemSelect(1);
CenterTextout((unsigned char code *)sBright[GET_LANGUAGE],15,3);
SLIDER2(BRIGHTNESS_GUAGE);
COsdFxEnableOsd();
}
//----------------------------------------------------------------------------------------------------
void MNoneLR(unsigned char LR)
{
if(LR)
{
ucOsdState = MENU_BRIGHT_SP;
MBrightSPDraw();
//EnterFactoryMenu();
//stSystemData.InputSource = _INPUT_PORT_1;
//ucOsdEventMsg = _CHANGE_SOURCE_MSG;
}
else
{
ucOsdState = MENU_VOLUME_SP;
MVolumeSPDraw();
//stSystemData.InputSource = _INPUT_PORT_0;
//ucOsdEventMsg = _CHANGE_SOURCE_MSG;
}
}
//----------------------------------------------------------------------------------------------------
void MNoneEnter()
{
AutoDialog();
}
//----------------------------------------------------------------------------------------------------
void MMainItemProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MMainItemMenu(); break;
case VK_LEFT: MMainItemLR(1); break;
case VK_RIGHT: MMainItemLR(0); break;
case VK_ENTER: MMainItemEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MMainItemMenu()
{
//Exit Menu
DrawItemSelect(0);
COsdFxDisableOsd();
ucOsdState = _MENU_NONE;
}
//----------------------------------------------------------------------------------------------------
void MMainItemLR(unsigned char LR)
{
//STEP 1 : BEFORE ITEM CHANGE CLEAR OLD SELECT
OSDLine(3, 3, 25, 0x00, THE_BYTE1); // Clear Title
DrawItemSelect(0);
//STEP 2 : ITEM CHANGE
ucOsdState = ValueInRangeChange(MENU_ITEM_BRIGHT,MENU_ITEM_CLOSE,ucOsdState,LR,1);
//STEP 3 : AFTER ITEM CHANGE DRAW SELECT
DrawItemSelect(1);
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT:
TITLE_OUT((unsigned char code *)sBright[GET_LANGUAGE]);
SLIDER2(BRIGHTNESS_GUAGE);
break;
case MENU_ITEM_CONTRAST:
TITLE_OUT((unsigned char code *)sContrast[GET_LANGUAGE]);
SLIDER2(CONTRAST_GUAGE);
break;
case MENU_ITEM_PHASE:
TITLE_OUT((unsigned char code *)sPhase[GET_LANGUAGE]);
SLIDER2(PHASE_GUAGE);
break;
case MENU_ITEM_CLOCK:
TITLE_OUT((unsigned char code *)sClock[GET_LANGUAGE]);
SLIDER2(ClockGuage());
break;
case MENU_ITEM_HPOS:
TITLE_OUT((unsigned char code *)sHPos[GET_LANGUAGE]);
SLIDER2(HPosGuage());
break;
case MENU_ITEM_VPOS:
TITLE_OUT((unsigned char code *)sVPos[GET_LANGUAGE]);
SLIDER2(VPosGuage());
break;
case MENU_ITEM_LANGUAGE:
TITLE_OUT((unsigned char code *)sLanguage[GET_LANGUAGE]);
OSDLine(11, 3, 25, 0x00, THE_BYTE1); // Clear value
SUBTITLE_OUT((unsigned char code *)sLangName[GET_LANGUAGE]);
break;
case MENU_ITEM_AUTO:
TITLE_OUT((unsigned char code *)sAuto[GET_LANGUAGE]);
OSDLine(11, 3, 25, 0x00, THE_BYTE1); // Clear value
break;
case MENU_ITEM_RESET:
TITLE_OUT((unsigned char code *)sReset[GET_LANGUAGE]);
OSDLine(11, 3, 25, 0x00, THE_BYTE1); // Clear value
break;
case MENU_ITEM_CLOSE:
TITLE_OUT((unsigned char code *)sExit[GET_LANGUAGE]);
OSDLine(11, 3, 25, 0x00, THE_BYTE1); // Clear value
break;
}
}
//----------------------------------------------------------------------------------------------------
void MMainItemEnter()
{
DrawItemSelect(2);
// Enter Sub Item
switch(ucOsdState)
{
case MENU_ITEM_BRIGHT:
SLIDER1(BRIGHTNESS_GUAGE);
ucOsdState = MENU_ITEM_BRIGH_ADJ;
break;
case MENU_ITEM_CONTRAST:
SLIDER1(CONTRAST_GUAGE);
ucOsdState = MENU_ITEM_CONTRAST_ADJ;
break;
case MENU_ITEM_PHASE:
SLIDER1(PHASE_GUAGE);
ucOsdState = MENU_ITEM_PHASE_ADJ;
break;
case MENU_ITEM_CLOCK:
SLIDER1(ClockGuage());
ucOsdState = MENU_ITEM_CLOCK_ADJ;
break;
case MENU_ITEM_HPOS:
SLIDER1(HPosGuage());
ucOsdState = MENU_ITEM_HPOS_ADJ;
break;
case MENU_ITEM_VPOS:
SLIDER1(VPosGuage());
ucOsdState = MENU_ITEM_VPOS_ADJ;
break;
case MENU_ITEM_LANGUAGE:
ucOsdState = MENU_ITEM_LANGUAGE_ADJ;
OSDLine(11, 3, 25, 0x64, THE_BYTE2);
break;
case MENU_ITEM_AUTO:
OSDLine(11, 3, 25, 0x64, THE_BYTE2); // Clear value
SUBTITLE_OUT((unsigned char code *)sAuto[GET_LANGUAGE]);
CAutoDoAutoConfig();
DrawItemSelect(1);
OSDLine(11, 3, 25, 0x00, THE_BYTE1); // Clear value
OSDLine(11, 3, 25, 0xc4, THE_BYTE2); // Clear value
break;
case MENU_ITEM_RESET:
DoReset();
DrawItemSelect(1);
break;
case MENU_ITEM_CLOSE:
//Exit Menu
DrawItemSelect(0);
COsdFxDisableOsd();
ucOsdState = _MENU_NONE;
break;
}
}
//----------------------------------------------------------------------------------------------------
void DrawItemSelect(unsigned char State) // State 0 : Not Select 1 : Select 2 : Enter Item
{
unsigned char ucColor;
unsigned char x = ((ucOsdState - 1) % 5) * 5 + 4;
unsigned char y = ((ucOsdState - 1) / 5) * 3 + 5;
if(State == 0) ucColor = 0xe4;
else if(State == 1) ucColor = 0x1B;
else ucColor = 0xc4;
OSDClear(y, 2, x, 3, ucColor, THE_BYTE2); //set color
}
//----------------------------------------------------------------------------------------------------
//--------- BRIGHTNESS PROC ----------------------------------
void MBrightAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MBrightAdjMenu(); break;
case VK_LEFT: MBrightAdjLR(1); break;
case VK_RIGHT: MBrightAdjLR(0); break;
case VK_ENTER: MBrightAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MBrightAdjMenu()
{
ucOsdState = MENU_ITEM_BRIGHT;
DrawItemSelect(1);
SLIDER2(BRIGHTNESS_GUAGE);
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MBrightAdjLR(unsigned char LR)
{
unsigned int iBright = BRIGHTNESS_GUAGE;
SET_KEYREPEATENABLE();
iBright = ValueInRangeChange(0,100,iBright,LR,0);
iBright = iBright * 255;
if((iBright % 100) == 0) iBright /= 100;
else iBright = iBright/100 + 1;
stConBriData.Brightness = iBright;
SLIDER1(BRIGHTNESS_GUAGE);
CAdjustBrightness();
}
//----------------------------------------------------------------------------------------------------
void MBrightAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- CONTRAST ADJUST PROC ----------------------------------
void MContrastAdjProc()
{
switch(ucKeyMessage)
{
case VK_MENU: MContrastAdjMenu(); break;
case VK_LEFT: MContrastAdjLR(1); break;
case VK_RIGHT: MContrastAdjLR(0); break;
case VK_ENTER: MContrastAdjEnter(); break;
}
}
//----------------------------------------------------------------------------------------------------
void MContrastAdjMenu()
{
ucOsdState = MENU_ITEM_CONTRAST;
DrawItemSelect(1);
SLIDER2(CONTRAST_GUAGE);
ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
CLR_KEYREPEATENABLE();
}
//----------------------------------------------------------------------------------------------------
void MContrastAdjLR(unsigned char LR)
{
unsigned int ucContrast = CONTRAST_GUAGE;
SET_KEYREPEATENABLE();
ucContrast = ValueInRangeChange(0,100,ucContrast,LR,0);
ucContrast = ucContrast * 255;
stConBriData.Contrast = ucContrast / 100;
if(ucContrast % 100 != 0) stConBriData.Contrast = stConBriData.Contrast + 1;
SLIDER1(CONTRAST_GUAGE);
CAdjustContrast();
}
//----------------------------------------------------------------------------------------------------
void MContrastAdjEnter()
{
}
//----------------------------------------------------------------------------------------------------
//--------- PHASE ADJUST PROC ----------------------------------
void MPhaseAdjProc()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -