📄 menu.c
字号:
// OsdSetWin(&CursonWin);
// MenuShowSubBlankIcon(CursonWin.Hs, CursonWin.Vs, CursonWin.Vs + 2);
break;
case 4:
MenuShowExit();
MaxSubMenuItem = 1;
break;
#else
case 2:
MenuShowSubItemTools();
break;
case 3:
MenuShowExit();
MaxSubMenuItem = 1;
break;
#endif
#else
case 0: // 亮度/对比度部分
MenuShowSubItemGBC();
break;
case 1: // 图像控制部分
MenuShowSubItemImage();
break;
case 2: // 色温部分
MenuShowSubItemColor();
break;
#if USE_AUDIO
case 3: // 音频部分
MenuShowSubItemAudio();
break;
case 4:
MenuShowSubItemTools();
break;
case 5: // 退出以及信号源选择
MenuShowExit();
MaxSubMenuItem = 1;
break;
#else
case 3:
MenuShowSubItemTools();
break;
case 4: // 退出以及信号源选择
MenuShowExit();
MaxSubMenuItem = 1;
break;
#endif
#endif
}
}
#if EN_ACEROSD
#else
static void MenuShowReturn(void)
{
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 1, StrReturn, SubStrColor);
OsdAttrib(OSD_1BITFONT, SubPctColor);
OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 1, Icon_Return, 2);
}
#endif
static void MenuShowExit(void)
{
#if EN_ACEROSD
uint8 i;
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 1, StrInformation, SubStrColor);
// MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 3, StrExit, SubStrColor);
// for (i = 2; i < 8; i++) OsdClearLine(SubMenuWin.Vs + i);
// OsdAttrib(OSD_1BITFONT, SubPctColor);
// OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 3, Icon_Exit, 2);
// OsdClearLine(SubMenuWin.Vs + 1);
for (i=SubMenuWin.Vs+2; i<SubMenuWin.Ve; i++) OsdClearLine(i);
MenuShowRes();
#else
uint8 i;
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 1, StrExit, SubStrColor);
for (i = 2; i < 8; i++) OsdClearLine(SubMenuWin.Vs + i);
OsdAttrib(OSD_1BITFONT, SubPctColor);
OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 1, Icon_Exit, 2);
#endif
}
/*
********************************************************************************
* 函 数 名: MenuShowSubItemImage
* 功能描述: 图像部分的子菜单,在各个信号源条件下,这部分都是一样的
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
void MenuShowSubItemImage(void)
{
#if EN_ACEROSD
uint8 i=0;
uint8 Image_posX, Image_posY;
Image_posX = SubMenuWin.Hs + 1;
Image_posY = SubMenuWin.Vs + 1;
MenuShowStr(Image_posX, Image_posY, StrPicture, SubStrColor);
#if USE_DAEWOO
#if EN_COLORMANGEMENT
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StreColorManagement, SubStrColor);
#endif
#else
FontIndexBackup[i++] = FontIndex;
#if EN_COLORMANGEMENT
MenuShowStr(Image_posX, Image_posY + i*2, StreColorManagement, SubStrColor);
#else
MenuShowStr(Image_posX, Image_posY + i*2, StreColorManagement, DARKGRAY);
#endif
#endif
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrBrightness, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrContrast, SubStrColor);
// FontIndexBackup[i++] = FontIndex;
// MenuShowStr(Image_posX, Image_posY + i*2, StrBackLight, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrHpos, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrVpos, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrClock, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrPhase, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrColor, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(Image_posX, Image_posY + i*2, StrAutoAdjust, SubStrColor);
for(i=0; i<10; i++) OsdClearLine(Image_posY + 1 + i*2);
#if USE_DAEWOO
#else
#if EN_COLORMANGEMENT
AdjColorManagement(SHOWONLY, SubPctColor);
#else
AdjColorManagement(SHOWONLY, DARKGRAY);
#endif
#endif
AdjBri(SHOWONLY, SubPctColor);
AdjCon(SHOWONLY, SubPctColor);
// AdjBacklight(SHOWONLY, SubPctColor);
AdjHpos(SHOWONLY, SubPctColor);
AdjVpos(SHOWONLY, SubPctColor);
AdjClock(SHOWONLY, SubPctColor);
AdjPhase(SHOWONLY, SubPctColor);
AdjColorTemp(SHOWONLY, SubPctColor);
AdjAutoAdjust(SHOWONLY, SubPctColor);
#if USE_DAEWOO
MaxSubMenuItem = 8;
#else
MaxSubMenuItem = 9;
#endif
#else
MenuShowReturn();
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 2, StrAutoAdjust, SubStrColor);
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 3, StrHpos, SubStrColor);
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 4, StrVpos, SubStrColor);
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 5, StrClock, SubStrColor);
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 6, StrPhase, SubStrColor);
OsdClearLine(SubMenuWin.Vs + 7);
AdjHpos(SHOWONLY, SubPctColor);
AdjVpos(SHOWONLY, SubPctColor);
AdjClock(SHOWONLY, SubPctColor);
AdjPhase(SHOWONLY, SubPctColor);
MaxSubMenuItem = 6;
#endif
}
#if EN_ACEROSD
/*
********************************************************************************
* 函 数 名: MenuShowSubItemOSD
* 功能描述: OSD部分的子菜单,在各个信号源条件下,这部分都是一样的
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
static void MenuShowSubItemOSD(void)
{
uint8 i=0;
uint8 OSD_posX, OSD_posY;
OSD_posX = SubMenuWin.Hs + 1;
OSD_posY = SubMenuWin.Vs + 1;
// MenuShowReturn();
MenuShowStr(OSD_posX, OSD_posY, StrOSD, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(OSD_posX, OSD_posY + i*2, StrHpos, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(OSD_posX, OSD_posY + i*2, StrVpos, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(OSD_posX, OSD_posY + i*2, StrOsdTime, SubStrColor);
for (i=SubMenuWin.Vs+6; i<SubMenuWin.Ve; i=i+2) OsdClearLine(SubMenuWin.Vs + i);
AdjOsdHpos(SHOWONLY, SubPctColor);
AdjOsdVpos(SHOWONLY, SubPctColor);
AdjOsdTime(SHOWONLY, SubPctColor);
MaxSubMenuItem = 3;
}
#endif
#if EN_ACEROSD
#else
/*
********************************************************************************
* 函 数 名: MenuShowSubItemColor
* 功能描述: 颜色部分的子菜单,在各个信号源条件下,这部分都是一样的
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
static void MenuShowSubItemColor(void)
{
#if EN_ACEROSD
uint8 i=0;
MenuShowReturn();
FontIndexBackup[i++] = FontIndex;
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 3, StrAutoColor, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 5, StrColor, SubStrColor);
for (i=SubMenuWin.Vs+6; i<SubMenuWin.Ve; i=i+2) OsdClearLine(SubMenuWin.Vs + i);
AdjColor(SHOWONLY, SubPctColor);
#else
MenuShowReturn();
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 2, StrAutoColor, SubStrColor);
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 3, StrColor, SubStrColor);
AdjColor(SHOWONLY, SubPctColor);
#endif
}
#endif
#if USE_AUDIO
/*
********************************************************************************
* 函 数 名: MenuShowSubItemAudio
* 功能描述: 音频部分的子菜单,在各个信号源条件下,这部分都是一样的
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
static void MenuShowSubItemAudio(void)
{
#if EN_ACEROSD
uint8 i = 0;
// MenuShowReturn();
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 1, StrAudio, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 3, StrMute, SubStrColor);
FontIndexBackup[i++] = FontIndex;
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 5, StrVolume, SubStrColor);
for (i=SubMenuWin.Vs+4; i<SubMenuWin.Ve; i=i+2) OsdClearLine(SubMenuWin.Vs + i);
AdjMute(SHOWONLY, SubPctColor);
AdjVolume(SHOWONLY, SubPctColor);
MaxSubMenuItem = 2;
#else
uint8 i;
MenuShowReturn();
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 2, StrMute, SubStrColor);
MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + 3, StrVolume, SubStrColor);
for (i = 4; i < 8; i++) OsdClearLine(SubMenuWin.Vs + i);
AdjMute(SHOWONLY, SubPctColor);
AdjVolume(SHOWONLY, SubPctColor);
MaxSubMenuItem = 3;
#endif
}
#endif
uint8 code StrDispZoom[] = {0x03, _4,':',_3};
/*
********************************************************************************
* 函 数 名: MenuShowSubItemTools
* 功能描述: 显示工具子菜单
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
static void MenuShowSubItemTools(void)
{
#if EN_ACEROSD
uint8 i=0;
uint8 Tools_posX, Tools_posY;
// MenuShowReturn();
Tools_posX = SubMenuWin.Hs + 1;
Tools_posY = SubMenuWin.Vs + 1;
for(i=0; i<7; i++)
{
Alignment = LEFT;
StringWidth = SubMenuWin.He - SubMenuWin.Hs - 1;
switch(i)
{
case 0:
MenuShowStr(Tools_posX, Tools_posY + i*2, StrSetting, SubStrColor);
break;
case 1:
if (IsWidthPanel())
{
MenuShowStr(Tools_posX, Tools_posY + i*2, StrWideMode, SubStrColor);
OsdAttrib(OSD_1BITFONT, SubStrColor);
// OsdSpecPrint(SubMenuWin.Hs + 1, SubMenuWin.Vs + 11, StrDispZoom);
Adj4B3Disp(SHOWONLY, SubPctColor);
}
else
{
MenuShowStr(Tools_posX, Tools_posY + i*2, StrWideMode, DARKGRAY);
OsdAttrib(OSD_1BITFONT, DARKGRAY);
// OsdSpecPrint(SubMenuWin.Hs + 1, SubMenuWin.Vs + 11, StrDispZoom);
Adj4B3Disp(SHOWONLY, DARKGRAY);
}
break;
case 2:
#if EN_DDC_CI
MenuShowStr(Tools_posX, Tools_posY + i*2, StrDDC_CI, SubStrColor);
AdjDDC_CI(SHOWONLY, SubPctColor);
#else
MenuShowStr(Tools_posX, Tools_posY + i*2, StrDDC_CI, DARKGRAY);
AdjDDC_CI(SHOWONLY, DARKGRAY);
#endif
break;
case 3:
#if EN_720MODE
OsdAttrib(OSD_1BITFONT, SubStrColor);
OsdSpecPrint(Tools_posX, Tools_posY + i*2, Str720Mode);
AdjACM(SHOWONLY, SubPctColor);
#else
#if EN_ACM
MenuShowStr(Tools_posX, Tools_posY + i*2, StrACM, SubStrColor);
AdjACM(SHOWONLY, SubPctColor);
#else
MenuShowStr(Tools_posX, Tools_posY + i*2, StrACM, DARKGRAY);
AdjACM(SHOWONLY, DARKGRAY);
#endif
#endif
break;
case 4:
#if EN_SOURCE
MenuShowStr(Tools_posX, Tools_posY + i*2, StrSource, SubStrColor);
AdjSource(SHOWONLY, SubPctColor);
#else
MenuShowStr(Tools_posX, Tools_posY + i*2, StrSource, DARKGRAY);
AdjSource(SHOWONLY, DARKGRAY);
#endif
break;
case 5:
MenuShowStr(Tools_posX, Tools_posY + i*2, StrLanguage, SubStrColor);
break;
case 6:
MenuShowStr(Tools_posX, Tools_posY + i*2, StrReset, SubStrColor);
break;
}
FontIndexBackup[i] = FontIndex;
}
for (i=SubMenuWin.Vs+12; i<SubMenuWin.Ve; i=i+2) OsdClearLine(SubMenuWin.Vs + i);
FontIndexBackup[8] = FontIndex;
AdjLanguage(SHOWONLY, SubPctColor);
#if 0
if (IsWidthPanel())
{
OsdAttrib(OSD_1BITFONT, SubStrColor);
OsdSpecPrint(SubMenuWin.Hs + 1, SubMenuWin.Vs + 11, StrDispZoom);
Adj4B3Disp(SHOWONLY, SubPctColor);
}
else
{
OsdAttrib(OSD_1BITFONT, DARKGRAY);
// OsdSpecPrint(SubMenuWin.Hs + 1, SubMenuWin.Vs + 11, StrDispZoom);
Adj4B3Disp(SHOWONLY, DARKGRAY);
}
#endif
MaxSubMenuItem = 6;
#if EN_CMWIN //未修改08-04-16
MenuShowStr(SubMenuWin.Hs + 1, Tools_posY + 16, StrCMWin, SubStrColor);
AdjCMWindow(SHOWONLY, SubPctColor);
MaxSubMenuItem = 7;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -