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

📄 ctrl..c

📁 NT68617源程序代码集合
💻 C
📖 第 1 页 / 共 4 页
字号:
			{
				AdjMute(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_MUTE;
			}
			else	AdjMute(SHOWONLY, DISADJ_COLOR);
//			AdjMute(SHOW + INC + 1, DISADJ_COLOR);
			break;

		case 1:
			Flg_ParAdj = ~Flg_ParAdj;
			MenuShowSelectStr();

			if (Flg_ParAdj)  {
				AdjVolume(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_VOLUME;
				}
			else AdjVolume(SHOWONLY, DISADJ_COLOR);
			break;
		}
//	MenuBottomInfo();
	CtrlActiveOsdReset();
#else
	switch (SubMenuCursor) {
		case 1:
			AdjMute(SHOW + INC + 1, DISADJ_COLOR);
			break;

		case 2:
			Flg_ParAdj = ~Flg_ParAdj;
			if (Flg_ParAdj)  {
				AdjVolume(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_VOLUME;
				}
			else AdjVolume(SHOWONLY, DISADJ_COLOR);
			break;
		}
	MenuBottomInfo();
	CtrlActiveOsdReset();
#endif
}
#endif	


static void CtrlSelMainItem_Tools(void)
{
#if EN_ACEROSD
	switch (SubMenuCursor)
	{
		case 0:			// 选择语言
			if (IsWidthPanel())
			{
				Flg_ParAdj = ~Flg_ParAdj;
				MenuShowSelectStr();
				if(Flg_ParAdj)	Adj4B3Disp(SHOW + 1, ENADJ_COLOR);		//test
				else			Adj4B3Disp(SHOW + 1, DISADJ_COLOR);	
				ParAdjState = ADJPAR_WIDEMODE;	//待修改
			}
			break;

		case 1:			// DDC/CI	该功能待增加 08-04-22
			Flg_ParAdj = ~Flg_ParAdj;
			MenuShowSelectStr();
			if (Flg_ParAdj)  {
				AdjDDC_CI(SHOW + 1, ENADJ_COLOR);
				ParAdjState = ADJPAR_DDC_CI;	//待修改
				}
			else AdjDDC_CI(SHOW + 1, DISADJ_COLOR);
			break;

		case 2:			// ACM	该功能待增加 08-04-22
	#if EN_720MODE || EN_ACM
			Flg_ParAdj = ~Flg_ParAdj;
			MenuShowSelectStr();
	#endif
			if (Flg_ParAdj)  {
				AdjACM(SHOW + 1, ENADJ_COLOR);
				ParAdjState = ADJPAR_ACM;	//待修改
				}
			else AdjACM(SHOW + 1, DISADJ_COLOR);
			break;

		case 3:			// Source	该功能待增加 08-04-22
//			Flg_ParAdj = ~Flg_ParAdj;
//			MenuShowSelectStr();
			if (Flg_ParAdj)  {
				AdjSource(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_SOURCE;	//待修改
				}
			else AdjSource(SHOWONLY, DISADJ_COLOR);

			break;

		case 4:			// Language
			Flg_ParAdj = ~Flg_ParAdj;
			MenuShowSelectStr();
			FontIndex = FontIndexBackup[8];
			if (Flg_ParAdj)  {
				AdjLanguage(SHOW+1, ENADJ_COLOR);		//此处不能用SHOWONLY,因为会写进新的字体 08-04-22
				ParAdjState = ADJPAR_LANGUAGE;
				}
			else {
				AdjLanguage(SHOW+1, DISADJ_COLOR);
				SysPar.Osd_Attr = (SysPar.Osd_Attr & 0xF0)|Language;
				ActiveSave_SYSPAR();
				SaveSysPar();
				MenuShowSubItem();
//				MenuBottomInfo();
				}
			break;

#if 0
		case 5:
			Flg_ParAdj = ~Flg_ParAdj;
			MenuShowSelectStr();
			if (Flg_ParAdj)  {
				AdjPowerSave(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_POWERSAVE;
				}
			else AdjPowerSave(SHOWONLY, DISADJ_COLOR);
			break;
#endif

		case 5:			// RESET
			CtrlReset();
			break;

#if EN_CMWIN
		case 6:			// Color Mangenment
			Flg_ParAdj = ~Flg_ParAdj;
			if (Flg_ParAdj)  {
				AdjCMWindow(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_CMWIN;
				}
			else AdjCMWindow(SHOWONLY, DISADJ_COLOR);
			break;
#endif
	}
	
	if (SubMenuCursor != 3)
	{
//		MenuBottomInfo();
		CtrlActiveOsdReset();
	}
#else
	switch (SubMenuCursor) {
		case 1:			// 选择语言
			Flg_ParAdj = ~Flg_ParAdj;
			if (Flg_ParAdj)  {
				AdjLanguage(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_LANGUAGE;
				}
			else {
				AdjLanguage(SHOWONLY, DISADJ_COLOR);
				SysPar.Osd_Attr = (SysPar.Osd_Attr & 0xF0)|Language;
				ActiveSave_SYSPAR();
				SaveSysPar();
				MenuShowSubItem();
				MenuBottomInfo();
				}
			break;

		case 2:			// OSD显示时间
			Flg_ParAdj = ~Flg_ParAdj;
			if (Flg_ParAdj)  {
				AdjOsdTime(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_OSDTIME;
				}
			else AdjOsdTime(SHOWONLY, DISADJ_COLOR);
			break;

		case 3:			// 进入省电的时间
			Flg_ParAdj = ~Flg_ParAdj;
			if (Flg_ParAdj)  {
				AdjPowerSave(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_POWERSAVE;
				}
			else AdjPowerSave(SHOWONLY, DISADJ_COLOR);
			break;

		case 4:			// RESET
			CtrlReset();
			break;

		case 5:			// 4:3
			if (IsWidthPanel()) Adj4B3Disp(SHOW + INC + 1, DISADJ_COLOR);
			break;
			
	#if EN_CMWIN
		case 6:			// Color Mangenment
			Flg_ParAdj = ~Flg_ParAdj;
			if (Flg_ParAdj)  {
				AdjCMWindow(SHOWONLY, ENADJ_COLOR);
				ParAdjState = ADJPAR_CMWIN;
				}
			else AdjCMWindow(SHOWONLY, DISADJ_COLOR);
			break;
	#endif
		}
	
	if (SubMenuCursor != 4) {
		MenuBottomInfo();
		CtrlActiveOsdReset();
		}
#endif
}


/*
********************************************************************************
* 	函 数 名: CtrlMenuReturn
* 	功能描述: 返回上一级菜单,如果是主菜单,则消除菜单显示
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
static void CtrlMenuReturn(void)
{
	OsdDisCursor();		//	除前面的特例以外,所有子项的第一项,表示返回主选择项
#if EN_ACEROSD
	OsdCancelSubFrame();
#endif
	MenuState = MENU_KEY;
}


/*
********************************************************************************
* 	函 数 名: CtrlOsdReset
* 	功能描述: 当有OSD显示时,超过规定的间隔时调用该函数消除OSD显示,并将一些参数
*             设置成默认值
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
void CtrlOsdReset(void)
{
	CtrlParReset();
	CtrlOsdParReset();

	if (SysState == SYS_BURNIN)  {
		MenuBurning();
		Flg_EnBurning = 1;
		}
}


/*
********************************************************************************
* 	函 数 名: CtrlParReset
* 	功能描述: 当OSD显示复位时,对需要复位的参数进行操作
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
void CtrlParReset(void)
{
	SetTimerEvent(EVENT_SYSREST, 0x00);
	MenuState = MENU_OFF;
	Flg_ParAdj = 0;
	Language = SysPar.Osd_Attr & 0x0F;
}


/*
********************************************************************************
* 	函 数 名: CtrlOsdParReset
* 	功能描述: 当OSD显示复位时,对OSD相关的参数进行复位
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
void CtrlOsdParReset(void)
{
	OsdClear();
	AdjOsdHpos(HIDE, 0);
	AdjOsdVpos(HIDE, 0);
	OsdZoom(EN_OSDZOOM, EN_OSDZOOM);
	OsdFontIndexReset();
	MenuState = MENU_OFF;
}


/*
********************************************************************************
* 	函 数 名: CtrlActiveOsdReset
* 	功能描述: 激活OSD显示复位的定时触发事件
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
void CtrlActiveOsdReset(void)
{
	SetTimerEvent(EVENT_SYSREST, (SysPar.Osd_Timeout<<1) + 1);
}


void CtrlActiveParSave(void)
{
	SetTimerEvent(EVENT_SAVEPAR, 0x04);
}


#define MaxBurnOsdHpos		(PanelWidth - OSD_BURNWIN_WIDTH * OSD_FONT_WIDTH)
#define MaxBurnOsdVpos		(PanelHeight - OSD_BURNWIN_HEIGHT * OSD_FONT_HEIGHT)
#define BurnOsdHposStep	2
#define BurnOsdVposStep	1

bit Flg_OsdHdir,Flg_OsdVdir;
uint16 xdata BurnOsdHpos = 200;
uint16 xdata BurnOsdVpos = 300;

/*
********************************************************************************
* 	函 数 名: CtrlMoveOsd
* 	功能描述: 在老化时显示一个移动的窗口
* 	输    入: 无
* 	返    回: 无
*   注    意: 在退出老化时,要恢复窗口的位置
********************************************************************************
*/
void CtrlMoveOsd(void)
{
	if (SysState != SYS_BURNIN)  return;
	if (Flg_OsdHdir)  {
		BurnOsdHpos += BurnOsdHposStep;
		if (BurnOsdHpos >= MaxBurnOsdHpos)  {
			BurnOsdHpos = MaxBurnOsdHpos;
			Flg_OsdHdir = 0;
			}
		}
	else  {
		if (BurnOsdHpos <= BurnOsdHposStep)  {
			BurnOsdHpos = 0;
			Flg_OsdHdir = 1;
			}
		else  BurnOsdHpos -= BurnOsdHposStep;
		}

	if (Flg_OsdVdir)  {
		BurnOsdVpos += BurnOsdVposStep;
		if (BurnOsdVpos >= MaxBurnOsdVpos)  {
			BurnOsdVpos = MaxBurnOsdVpos;
			Flg_OsdVdir = 0;
			}
		}
	else  {
		if (BurnOsdVpos <= BurnOsdVposStep)  {
			BurnOsdVpos = 0;
			Flg_OsdVdir = 1;
			}
		else  BurnOsdVpos -= BurnOsdVposStep;
		}
	
	OsdHpos(BurnOsdHpos);
	OsdVpos(BurnOsdVpos);
}


/*
********************************************************************************
* 	函 数 名: CtrlAutoImage
* 	功能描述: 进行自动调整处理
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
#if EN_DDC_CI
void AutoImagerAdjust(void)
	{
		CtrlAutoImage();
	}
#endif

static void CtrlAutoImage(void)
{
	if (GetEventTime(EVENT_SYSREST))  SetTimerEvent(EVENT_SYSREST, 0);
#if EN_ACEROSD
	MenuShowInfo(StrAutoAdjust, WHITE, WHITE);
#else
	MenuShowInfo(StrAutoAdjust, LIGHTGRAY, BLACK);
#endif
	if (AutoTuneProc() == AUTO_OK) {
		ActiveSave_VGAMODE();
		CtrlActiveParSave();
		}
	OsdDisable();
	MenuState = MENU_OFF;
}


/*
********************************************************************************
* 	函 数 名: CtrlAutoColor
* 	功能描述: 进行自动调整处理
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
#if EN_DDC_CI
	void AutoColorAdjust(void)
	{
		CtrlAutoColor();
	}
#endif

static void CtrlAutoColor(void)
{
	if (GetEventTime(EVENT_SYSREST))  SetTimerEvent(EVENT_SYSREST, 0);
#if EN_ACEROSD
	MenuShowInfo(StrAutoColor, WHITE, WHITE);
#else
	MenuShowInfo(StrAutoColor, LIGHTGRAY, BLACK);
#endif
	if (AutoTuneAdc() == AUTO_OK) {
		ActiveSave_ADCPAR();
		CtrlActiveParSave();
		}
	OsdDisable();
	MenuState = MENU_OFF;
}


/*
********************************************************************************
* 	函 数 名: CtrlDispCursor
* 	功能描述: 显示当前状态的光标
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
void CtrlDispCursor(void)
{
#if EN_ACEROSD
	if (MenuState == MENU_KEY)  OsdKeyCursor();
	else  
	{
#if USE_DAEWOO
#else
	#if !EN_COLORMANGEMENT
		if(KeyMenuCursor == 0)
		{
			if(SubMenuCursor == 0)	SubMenuCursor++;
		}
	#endif
#endif
	
#if USE_AUDIO
		if(KeyMenuCursor == 3)		//在第3项菜单下,防止辅助光标进入无功能项	08-04-22
#else
		if(KeyMenuCursor == 2)
#endif
		{
			if(SubMenuCursor == 0)	
			{
				if(!IsWidthPanel())		SubMenuCursor++;
			}
			
#if !EN_DDC_CI
			if(SubMenuCursor == 1)		SubMenuCursor++;	
#endif

#if EN_720MODE
#else
	#if !EN_ACM
			if(SubMenuCursor == 2)		SubMenuCursor++;
	#endif
#endif

#if !EN_SOURCE
			if(SubMenuCursor == 3)		SubMenuCursor++;
#endif
		}
		
		OsdCursor(SubMenuCursor * 2 + SubMenuWin.Vs + 3, PALETTE_SUBFRAME+1);
	}
#else
	if (MenuState == MENU_KEY)  OsdKeyCursor();
	else  {
		OsdCursor(SubMenuCursor + 5, YELLOW);
		}
#endif
}


/*
********************************************************************************
* 	函 数 名: CtrlCursorLeft
* 	功能描述: 向左移动主菜单光标
* 	输    入: 无
* 	返    回: 无
********************************************************************************
*/
static void CtrlCursorLeft(void)
{
#if EN_ACEROSD
	OsdKeyCancelCursor();
	#if USE_AUDIO
		if (KeyMenuCursor == 0)  KeyMenuCursor = 4;
	#else
		if (KeyMenuCursor == 0)  KeyMenuCursor = 3;
	#endif
#else
	#if USE_AUDIO
		if (KeyMenuCursor == 0)  KeyMenuCursor = 5;
	#else
		if (KeyMenuCursor == 0)  KeyMenuCursor = 4;
	#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -