⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.c

📁 NT68617源程序代码集合
💻 C
📖 第 1 页 / 共 4 页
字号:
//			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 + -