📄 lcd_osd_ktc.c
字号:
fac_bright = 1 < fac_bright ? fac_bright - 2 : 0;
}
stGUD0.BRIGHT = fac_bright;
Set_Bright_Contrast();
Save_GUD0();
Save_GUD4();
OSD_Slider(6, 4, 17, fac_bright, 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE8_ITEM_Contrast :
if (NOTIFY_RIGHT_KEY == action)
{
if (100 <= fac_contrast) break;
if (KEY_TURBO_ENABLE > ucKey_Issued)
fac_contrast = 100 > fac_contrast ? fac_contrast + 1 : 100;
else
fac_contrast = 99 > fac_contrast ? fac_contrast + 2 : 100;
}
else
{
if (0 == fac_contrast) break;
if (KEY_TURBO_ENABLE > ucKey_Issued)
fac_contrast = 0 < fac_contrast ? fac_contrast - 1 : 0;
else
fac_contrast = 1 < fac_contrast ? fac_contrast - 2 : 0;
}
stGUD0.CONTRAST = fac_contrast;
Set_Bright_Contrast();
Save_GUD0();
Save_GUD4();
OSD_Slider(6, 4, 17, fac_contrast, 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE8_ITEM_Light :
if (NOTIFY_RIGHT_KEY == action)
{
if (100 <= fac_light) break;
if (KEY_TURBO_ENABLE > ucKey_Issued)
fac_light = 100 > fac_light ? fac_light + 1 : 100;
else
fac_light = 99 > fac_light ? fac_light + 2 : 100;
}
else
{
if (0 == fac_light) break;
if (KEY_TURBO_ENABLE > ucKey_Issued)
fac_light = 0 < fac_light ? fac_light - 1 : 0;
else
fac_light = 1 < fac_light ? fac_light - 2 : 0;
}
Set_Bright_Contrast();
Save_GUD4();
OSD_Slider(6, 4, 17, fac_light, 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE8_ITEM_Facmode :
if (test_mode)
{
test_mode = 0;
}
else
{
test_mode = 1;
test_color = 0;
}
Save_GUD4();
RTDCodeW((test_mode) ? Page3_ON_Icon : Page3_OFF_Icon);
break;
case PAGE8_ITEM_Automode :
if (Auto_mode)
{
Auto_mode = 0;
}
else
{
Auto_mode = 1;
}
Save_GUD4();
RTDCodeW((Auto_mode) ? Page3_ON_Icon : Page3_OFF_Icon);
break;
}
}
else
{
if (NOTIFY_RIGHT_KEY == action)
ucOSD_Item_Index0 = (PAGE8_ITEM_NUM == ucOSD_Item_Index0) ? 1 : (ucOSD_Item_Index0 + 1);
else
ucOSD_Item_Index0 = (1 == ucOSD_Item_Index0) ? PAGE8_ITEM_NUM : (ucOSD_Item_Index0 - 1);
Show_Page8();
}
break;
#if(KEY_TYPE==KEY_5)
case NOTIFY_AUTO_KEY :
#endif
#if(KEY_TYPE==KEY_6)
case NOTIFY_EXIT_KEY :
#endif
ucOSD_Page_Index = 0;
ucOSD_Item_Index0 = 0;
ucOSD_Item_Index1 = 0;
ucOSD_Item_Index2 = 0;
break;
case NOTIFY_SHOW :
OSD_Position();
OSD_Clear(0, 12, 0, 29);
RTDCodeW(OSD_Enable);
Show_Page8();
break;
default :
// We don't handle other messages
break;
}
}
void Show_Page1(void)
{
Data[0] = 5;
Data[1] = Y_INC;
Data[2] = OSD_ROW_90;
Data[3] = 0xaf;
Data[4] = 0x0c;
Data[5] = 5;
Data[6] = N_INC;
Data[7] = OSD_DATA_92;
Data[8] = stGUD1.OSD_POSV;
Data[9] = stGUD1.OSD_POSH;
Data[10] = 0;
RTDWrite(Data);
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_Title_E_Atb : OSD_Title_C_Atb);
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_Title_ENG_Icon : OSD_Title_CHI_Icon);
RTDCodeW(OSD_Body_Atb);
RTDCodeW((unsigned char *)Body_Atb_TABLE[ucOSD_Item_Index0 - 1]);
RTDCodeW(OSD_Body_Icon);
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_Body2_E_Atb : OSD_Body2_C_Atb);
RTDCodeW((unsigned char *)OSD_PAGE1_TABLE[ucOSD_Item_Index0 - 1][stGUD1.FUNCTION & 0x07]);
switch (ucOSD_Item_Index0)
{
case PAGE1_ITEM_BRIGHT :
RTDCodeW(OSD_ENTER_E_Atb);
#if (BRIGHT_TYPE == GAIN)
OSD_Slider(7, 5, 14, stGUD0.BRIGHT, 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
#endif
#if (BRIGHT_TYPE == LIGHT)
OSD_Slider(7, 5, 14, fac_light, 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
#endif
break;
case PAGE1_ITEM_CONTRAST :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, stGUD0.CONTRAST, 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_POSH :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, ucH_Max_Margin - stMUD.H_POSITION, ucH_Max_Margin - ucH_Min_Margin, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_POSV :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, (unsigned int)(stMUD.V_POSITION - ucV_Min_Margin) * 50 / (128 - ucV_Min_Margin), 100, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_CLOCK :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, stMUD.CLOCK - 28, 200, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_PHASE :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, (stMUD.PHASE & 0x7c) >> 2, 31, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_SHARP :
RTDCodeW( (0 == ucOSD_Item_Index1)? OSD_ENTER_B_Atb : OSD_ENTER_R_Atb);
RTDCodeW((0 == stGUD1.FILTER) ? OSD_Sharp_1 : (1 == stGUD1.FILTER) ? OSD_Sharp_2
: (2 == stGUD1.FILTER) ? OSD_Sharp_3 : (3 == stGUD1.FILTER) ? OSD_Sharp_4 : OSD_Sharp_5);
break;
case PAGE1_ITEM_VOLUME :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, 0x1f - stGUD3.VOLUME, 0x1f, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_OSDT :
RTDCodeW(OSD_ENTER_E_Atb);
OSD_Slider(7, 5, 14, stGUD1.OSD_TIMEOUT, 60, (0 == ucOSD_Item_Index1) ? 0X01 : 0X04);
break;
case PAGE1_ITEM_AUTO :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER_E_Atb : OSD_ENTER_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER_TABLE[stGUD1.FUNCTION & 0x07]);
break;
case PAGE1_ITEM_RECALL :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER_E_Atb : OSD_ENTER_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER_TABLE[stGUD1.FUNCTION & 0x07]);
break;
case PAGE1_ITEM_COLOR :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER_E_Atb : OSD_ENTER_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER_TABLE[stGUD1.FUNCTION & 0x07]);
break;
case PAGE1_ITEM_LANGUAGE :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER_E_Atb : OSD_ENTER_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER_TABLE[stGUD1.FUNCTION & 0x07]);
break;
case PAGE1_ITEM_OSDS :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER_E_Atb : OSD_ENTER_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER_TABLE[stGUD1.FUNCTION & 0x07]);
break;
case PAGE1_ITEM_EXIT :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER_E_Atb : OSD_ENTER_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER_TABLE[stGUD1.FUNCTION & 0x07]);
break;
default :
RTDCodeW(OSD_ENTER_E_Atb);
break;
}
OSD_Line(12, 2, 24, COLOR_BLUE, 0); // Set characters to blue
{
unsigned int usHwid;
unsigned char ucTemp;
usHwid = usIPH_ACT_WID;
if (SOURCE_VGA == (stGUD1.INPUT_SOURCE & 0x07))
{
if (MODE_1600x1200x60HZ == ucMode_Curr)
{
usHwid = 1600;
}
else
{
if (MODE_1600x1200x60HZ > ucMode_Curr)
{
if (MODE_1280x0960x60HZ <= ucMode_Curr)
usHwid = 1280;
else if (MODE_1152x0864x75HZ <= ucMode_Curr)
usHwid = 1152;
}
else
{
if (MODE_USER1600x1200 == ucMode_Curr)
usHwid = 1600;
else if (MODE_USER1280x960 <= ucMode_Curr)
usHwid = 1280;
else if (MODE_USER1152x864 <= ucMode_Curr)
usHwid = 1152;
}
}
}
RTDCodeW(Page1_Mode);
Data[0] = 12;
Data[1] = N_INC;
Data[2] = OSD_DATA_92;
ucTemp = usHwid / 100;
if (10 <= ucTemp)
{
Data[3] = _1_;
Data[4] = ucTemp - 10 + _0_;
}
else
{
Data[3] = 0;
Data[4] = ucTemp + _0_;
}
ucTemp = usHwid - ((unsigned int)100 * ucTemp);
Data[5] = ucTemp / 10;
Data[6] = ucTemp - (10 * Data[5]) + _0_;
Data[5] = Data[5] + _0_;
Data[7] = _X_;
ucTemp = usIPV_ACT_LEN / 100;
Data[12] = usIPV_ACT_LEN - ((unsigned int)100 * ucTemp);
if (10 <= ucTemp)
{
Data[8] = _1_;
Data[9] = ucTemp - 10 + _0_;
Data[10] = Data[12] / 10;
Data[11] = Data[12] - (10 * Data[10]) + _0_;
Data[10] = Data[10] + _0_;
}
else
{
Data[8] = ucTemp + _0_;
Data[9] = Data[12] / 10;
Data[10] = Data[12] - (10 * Data[9]) + _0_;
Data[9] = Data[9] + _0_;
Data[11] = 0;
}
Data[12] = 0;
RTDWrite(Data);
// Show Refresh Rate
RTDCodeW(Page1_Rate);
Data[0] = 7;
Data[1] = N_INC;
Data[2] = OSD_DATA_92;
Data[3] = ucRefresh / 10;
Data[4] = ucRefresh - (Data[3] * 10) + _0_;
Data[3] = Data[3] + _0_;
Data[5] = _H_;
Data[6] = _Z_;
Data[7] = 0;
RTDWrite(Data);
}
}
void Show_Page2(void)
{
Data[0] = 5;
Data[1] = Y_INC;
Data[2] = OSD_ROW_90;
Data[3] = 0xaf;
Data[4] = 0x0c;
Data[5] = 5;
Data[6] = N_INC;
Data[7] = OSD_DATA_92;
Data[8] = stGUD1.OSD_POSV;
Data[9] = stGUD1.OSD_POSH;
Data[10] = 0;
RTDWrite(Data);
OSD_Clear(4, 7, 0, 29);
RTDCodeW(OSD_Page2_Atb);
RTDCodeW((unsigned char *)OSD_Page2_TABLE[ucOSD_Item_Index0 - 1]);
RTDCodeW(OSD_Page2_Icon);
if (ucOSD_Item_Index1)
{
RTDCodeW((unsigned char *)OSD_Page2B_TABLE[ucOSD_Item_Index1 - 1]);
}
switch (ucOSD_Item_Index0)
{
case PAGE2_ITEM_6500 :
RTDCodeW(OSD_ENTER2_E_Atb);
RTDCodeW(OSD_Page2_Icon2);
OSD_Slider(4, 4, 17, stGUD4.C3_R, 100, 0X04);
OSD_Slider(5, 4, 17, stGUD4.C3_G, 100, 0X02);
OSD_Slider(6, 4, 17, stGUD4.C3_B, 100, 0X01);
break;
case PAGE2_ITEM_7800 :
RTDCodeW(OSD_ENTER2_E_Atb);
RTDCodeW(OSD_Page2_Icon2);
OSD_Slider(4, 4, 17, stGUD4.C2_R, 100, 0X04);
OSD_Slider(5, 4, 17, stGUD4.C2_G, 100, 0X02);
OSD_Slider(6, 4, 17, stGUD4.C2_B, 100, 0X01);
break;
case PAGE2_ITEM_9300 :
RTDCodeW(OSD_ENTER2_E_Atb);
RTDCodeW(OSD_Page2_Icon2);
OSD_Slider(4, 4, 17, stGUD4.C1_R, 100, 0X04);
OSD_Slider(5, 4, 17, stGUD4.C1_G, 100, 0X02);
OSD_Slider(6, 4, 17, stGUD4.C1_B, 100, 0X01);
break;
case PAGE2_ITEM_USER :
RTDCodeW(OSD_ENTER2_E_Atb);
RTDCodeW(OSD_Page2_Icon2);
OSD_Slider(4, 4, 17, stGUD4.u_R, 100, 0X04);
OSD_Slider(5, 4, 17, stGUD4.u_G, 100, 0X02);
OSD_Slider(6, 4, 17, stGUD4.u_B, 100, 0X01);
break;
case PAGE2_ITEM_AUTO :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER2_E_Atb : OSD_ENTER2_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER2_TABLE[stGUD1.FUNCTION & 0x07]);
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_Page2_E_Atb : OSD_Page2_C_Atb);
RTDCodeW((unsigned char *)OSD_Page2_Color_TABLE[stGUD1.FUNCTION & 0x07]);
break;
case PAGE2_ITEM_EXIT :
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_ENTER2_E_Atb : OSD_ENTER2_C_Atb);
RTDCodeW((unsigned char *)OSD_ENTER2_TABLE[stGUD1.FUNCTION & 0x07]);
RTDCodeW(CHINESE < (stGUD1.FUNCTION & 0x07) ? OSD_Page2_E_Atb : OSD_Page2_C_Atb);
RTDCodeW((un
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -