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

📄 paradj.c

📁 NT68617源程序代码集合
💻 C
📖 第 1 页 / 共 3 页
字号:
	switch (SysPar.ColorTemp & 0x03) {
		case  COLOR_9300:
			OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + row++, Icon_9300, 2);
			break;

		case  COLOR_6500:
			OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + row++, Icon_6500, 2);
			break;

		case  COLOR_USER:
			OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + row++, Icon_User, 2);
			break;
		}

	if (SysPar.ColorTemp == COLOR_USER || Flg_Factory) {
		color = SubStrColor;
		cp = SubPctColor;
		MaxSubMenuItem = row + 2;
		}
	else  {
		color = DARKGRAY;
		cp = DARKGRAY;
		MaxSubMenuItem = row - 1;
		}

	MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + row++, StrRed, RED);
	MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + row++, StrGreen, GREEN);
	MenuShowStr(SubMenuWin.Hs + 1, SubMenuWin.Vs + row++, StrBlue, BLUE);
	AdjRgain(SHOWONLY, cp);
	AdjGgain(SHOWONLY, cp);
	AdjBgain(SHOWONLY, cp);
	MenuShowSysState();
#endif
}


/*
********************************************************************************
* 	函 数 名: AdjColor
* 	功能描述: 调节色温,有三个选项,9300K,6500K和USER
* 	输    入: step		: 高四位是选项,低四位是调节的步长
*             color		: 显示的颜色
* 	返    回: 无
********************************************************************************
*/
void AdjColor(uint8 step, uint8 color)
{
	uint8 Option;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY)  {
		AdjDispColor(color);
		return;
		}

	if (step)  {
		if (Option & INC)  {
			if (SysPar.ColorTemp == 2) SysPar.ColorTemp = 0;
			else  SysPar.ColorTemp++;
			}
		else  {
			if (SysPar.ColorTemp == 0) SysPar.ColorTemp = 2;
			else  SysPar.ColorTemp--;
			}
		LoadColorPar();
		ActiveSave_SYSPAR();
		AdjCon(HIDE, 0);
		if (Option & SHOW)  AdjDispColor(color);
		}
	else  AdjCon(HIDE, 0);
}

#if EN_ACEROSD	//暂时新增加的函数,可以加进AdjDispColor(),但代码繁琐08-04-21
static void AdjDispColorTemp(uint8 color)
{
	OsdAttrib(OSD_1BITFONT, color);
	switch (SysPar.ColorTemp & 0x03) {
		case  COLOR_9300:
			OsdShowStr(VALROLL_POSX + 5, SubMenuWin.Vs + MENU_Y_COLORTEMP, Icon_9300, 2);
			break;

		case  COLOR_6500:
			OsdShowStr(VALROLL_POSX + 5, SubMenuWin.Vs + MENU_Y_COLORTEMP, Icon_6500, 2);
			break;

		case  COLOR_USER:
			OsdShowStr(VALROLL_POSX + 5, SubMenuWin.Vs + MENU_Y_COLORTEMP, Icon_User, 2);
			break;
		}

	OsdShowStr(VALROLL_POSX + 1, SubMenuWin.Vs + MENU_Y_COLORTEMP, Icon_Move, 1);
	OsdShowStr(VALROLL_POSX + 10, SubMenuWin.Vs + MENU_Y_COLORTEMP, Icon_MoveR, 1);
}

void AdjColorTemp(uint8 step, uint8 color)
{
	uint8 Option;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY)  {
		AdjDispColorTemp(color);
		return;
		}

	if (step)  {
		if (Option & INC)  {
			if (SysPar.ColorTemp == 2) SysPar.ColorTemp = 0;
			else  SysPar.ColorTemp++;
			}
		else  {
			if (SysPar.ColorTemp == 0) SysPar.ColorTemp = 2;
			else  SysPar.ColorTemp--;
			}
		LoadColorPar();
		ActiveSave_SYSPAR();
		AdjCon(HIDE, 0);
		if (Option & SHOW)  AdjDispColorTemp(color);
		}
	else  AdjCon(HIDE, 0);
}
#endif

static void SetLanguageFontArray(void)
{
	switch (Language) {
		case  CHS:
			FontArrayPtr = Osd1bitFont_Chs;
			break;

		case  CHT:
			FontArrayPtr = Osd1bitFont_Cht;
			break;

		case  KOREAN:
			FontArrayPtr = Osd1bitFont_Korean;
			break;
			
		case  JAPANESE:
			FontArrayPtr = Osd1bitFont_Japanese;
			break;

		case  RUSSIAN:
			FontArrayPtr = Osd1bitFont_Russian;
			break;

		default:
			FontArrayPtr = Osd1bitFont_Chs;
			break;
		}
}

static void AdjDispLanguage(uint8 color)
{
#if EN_ACEROSD
	SetLanguageFontArray();
	Alignment = CENTER;
	StringWidth = 10;
	OsdAttrib(OSD_1BITFONT, color);
	OsdSpecPrint(VALROLL_POSX+1, SubMenuWin.Vs + 11, StrLanguageIdx[Language]);

	OsdShowStr(VALROLL_POSX + 1, SubMenuWin.Vs + 11, Icon_Move, 1);
	OsdShowStr(VALROLL_POSX + 10, SubMenuWin.Vs + 11, Icon_MoveR, 1);

#else
	SetLanguageFontArray();
	Alignment = RIGHT;
	StringWidth = 10;
	OsdAttrib(OSD_1BITFONT, color);
	OsdSpecPrint(SubMenuWin.He - 10, SubMenuWin.Vs + 2, StrLanguageIdx[Language]);
#endif
}

/*
********************************************************************************
* 	函 数 名: AdjMute
* 	功能描述: 调节音频输出是静音还是正常
* 	输    入: step		: 高四位是选项,低四位是调节的步长
*             color		: 显示的颜色
* 	返    回: 无
********************************************************************************
*/
void AdjLanguage(uint8 step, uint8 color)
{
#if EN_ACEROSD
	uint8 Option, buf;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY)  {
		AdjDispLanguage(color);
		return;
		}

	if (step)  {
		if (Option & INC)
		{
			if (Language == RUSSIAN) Language = ENGLISH;
			else  Language++;
		}
		if(Option & DEC)	
		{
			if (Language == ENGLISH) Language = RUSSIAN;
			else  Language--;
		}
		if (Option & SHOW)  {
			buf = FontIndex;
			AdjDispLanguage(color);
			FontIndex = buf;
			}
		}
	else {
		SetLanguageFontArray();
		}
#else
	uint8 Option, buf;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY)  {
		AdjDispLanguage(color);
		return;
		}

	if (step)  {
		if (Option & INC)  {
			if (Language == RUSSIAN) Language = ENGLISH;
			else  Language++;
			}
		else  {
			if (Language == ENGLISH) Language = RUSSIAN;
			else  Language--;
			}
		if (Option & SHOW)  {
			buf = FontIndex;
			AdjDispLanguage(color);
			FontIndex = buf;
			}
		}
	else {
		SetLanguageFontArray();
		}
#endif
}


#if USE_AUDIO
static void AdjDispMute(uint8 color)
{
#if EN_ACEROSD
	OsdAttrib(OSD_1BITFONT, color);
	if (SysPar.Flag  & FLAG_AUDIOMUTE)  
		OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 3, Icon_MuteOn, 2);
	else 
		OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 3, Icon_MuteOff, 2);
#else
	OsdAttrib(OSD_1BITFONT, color);
	if (SysPar.Flag  & FLAG_AUDIOMUTE)  
		OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 2, Icon_MuteOn, 2);
	else 
		OsdShowStr(SubMenuWin.He - 2, SubMenuWin.Vs + 2, Icon_MuteOff, 2);
	MenuShowSysState();
#endif
}
/*
********************************************************************************
* 	函 数 名: AdjMute
* 	功能描述: 调节音频输出是静音还是正常
* 	输    入: step		: 高四位是选项,低四位是调节的步长
*             color		: 显示的颜色
* 	返    回: 无
********************************************************************************
*/
void AdjMute(uint8 step, uint8 color)
{
	uint8 Option;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY)  {
		AdjDispMute(color);
		return;
		}

	if (step)  {
		SysPar.Flag ^= FLAG_AUDIOMUTE;
		if (SysPar.Flag & FLAG_AUDIOMUTE)  AudioMute(ON);
		else  AudioMute(OFF);
		if (Option & SHOW)  AdjDispMute(color);
		ActiveSave_SYSPAR();
		}
	else  {
		if (SysPar.Flag & FLAG_AUDIOMUTE)  AudioMute(ON);
		else  AudioMute(OFF);
		}
}



static void AdjDispVolume(uint8 color)
{
#if EN_ACEROSD
	if (MenuState == MENU_SHORT_VOL)  {
		OsdAttrib(OSD_1BITFONT, GREEN);
		OsdShowScroll(5, ShortMenuWin.Vs + 1, SysPar.Volume, 25);
		OsdAttrib(OSD_1BITFONT, LIGHTRED);
		OsdShowPercent(ShortMenuWin.He - 9, ShortMenuWin.Vs, SysPar.Volume);
		}
	else  {
		OsdAttrib(OSD_1BITFONT, color);
		OsdShowPercent(SubMenuWin.He - 3, SubMenuWin.Vs + 5, SysPar.Volume);
		OsdShowValScroll(VALROLL_POSX, SubMenuWin.Vs + 5, SysPar.Volume);
		}
#else
	if (MenuState == MENU_SHORT_VOL)  {
		OsdAttrib(OSD_1BITFONT, GREEN);
		OsdShowScroll(1, ShortMenuWin.Vs + 1, SysPar.Volume, 25);
		OsdAttrib(OSD_1BITFONT, LIGHTRED);
		OsdShowPercent(ShortMenuWin.He - 3, ShortMenuWin.Vs, SysPar.Volume);
		}
	else  {
		OsdAttrib(OSD_1BITFONT, color);
		OsdShowPercent(SubMenuWin.He - 3, SubMenuWin.Vs + 3, SysPar.Volume);
		}
#endif
}
/*
********************************************************************************
* 	函 数 名: AdjVolume
* 	功能描述: 调节音量
* 	输    入: step		: 高四位是选项,低四位是调节的步长
*             color		: 显示的颜色
* 	返    回: 无
********************************************************************************
*/
void AdjVolume(uint8 step, uint8 color)
{
	uint8 i;
	uint8 Option;

	Option = step & 0xF0;
	step &= 0x0F;

	if (SysPar.Volume > 100)  SysPar.Volume = 100;
	
	if (Option & SHOWONLY)  {
		AdjDispVolume(color);
		return;
		}
	
	for (i = 0; i< step; i++)  {
		if (Option & INC)  {
			if (SysPar.Volume < 100)  SysPar.Volume++;
			}

		else  {
			if (SysPar.Volume > 0)  SysPar.Volume--;
			}
		if (SysPar.Flag & FLAG_AUDIOMUTE) {
			if (MenuState == MENU_SUB) AdjMute(SHOW+INC+1, DISADJ_COLOR);
			else AdjMute(HIDE+INC+1, 0);
			}
		AudioVolume(SysPar.Volume);
		ActiveSave_SYSPAR();

		if (Option & SHOW)  AdjDispVolume(color);
		}
	if (!step)  AudioVolume(SysPar.Volume);
}
#endif

#if EN_ACEROSD
static void AdjDispColorManagement(uint8 color)
{
	OsdAttrib(OSD_1BITFONT, color);
	OsdShowStr(VALROLL_POSX+10, SubMenuWin.Vs + 3, Icon_MoveR, 1);
}


void AdjColorManagement(uint8 step, uint8 color)
{
	uint8 Option;	//, buf;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY) 
	{
		AdjDispColorManagement(color);
		return;
	}

	if (step)  
	{
		if (Option & INC)  
		{
		
		}
		else  
		{
		}

		if (Option & SHOW)  
		{
			AdjDispColorManagement(color);
		}
	}
	else 
	{

	}
}
#endif

//#if 0
uint8 code StrCMWinIdx[][5] = {
		{_O,_F,_F},
		{__,__,_1},
		{__,__,_2},
		{__,__,_3},
		{__,__,_4},
		{__,__,_5},
		{__,__,_6},
		{__,__,_7},
		{__,__,_8},
		{__,__,_9},
		{_A,_L,_L},
};
static void AdjDispCMWindow(uint8 color)
{
	OsdAttrib(OSD_1BITFONT, color);
	OsdShowStr(SubMenuWin.He - 3, SubMenuWin.Vs + 7, 
		StrCMWinIdx[(SysPar.ImageMode >> 4) & 0x0F], 3);
}

/*
********************************************************************************
* 	函 数 名: AdjCMWindow
* 	功能描述: 调整颜色管理窗口的显示位置以及大小,当然其大小和位置都是归一化处理
*			  的。
* 	输    入: step		: 高四位是选项,低四位是调节的步长
*             color		: 显示的颜色
* 	返    回: 无
********************************************************************************
*/
void AdjCMWindow(uint8 step, uint8 color)
{
	uint8 Option, CM_Win;

	Option = step & 0xF0;
	step &= 0x0F;
	CM_Win = (SysPar.ImageMode >> 4) & 0x0F;

	if (Option & SHOWONLY)  {
		AdjDispCMWindow(color);
		return;
		}

	if (CM_Win > BF_ALL) CM_Win = BF_ALL;
	if (step)  {
		if (Option & INC)  {
			if (CM_Win == BF_ALL) CM_Win = BF_OFF;
			else  CM_Win++;
			}
		else  {
			if (CM_Win == BF_OFF) CM_Win = BF_ALL;
			else  CM_Win--;
			}

		SarSetBrightFrame(0, CM_Win);
		SysPar.ImageMode = (SysPar.ImageMode & 0x0F) | (CM_Win << 4);
		ActiveSave_SYSPAR();
		if (Option & SHOW)  AdjDispCMWindow(color);
		}
#if !EN_CMWIN
	else  SarSetBrightFrame(0, BF_ALL);
#else
	else  SarSetBrightFrame(0, SysPar.CM_Win);
#endif
}


uint8 code Str_16_9[] = {0x06, __,_1,_6,_MAOHAO,_1,_0};
uint8 code Str_4_3[] = {0x06, __,__,__,_4,_MAOHAO,_3};

static void AdjDisp4B3Disp(uint8 color)
{
#if EN_ACEROSD
	Alignment = LEFT;
	StringWidth = 10;
	OsdAttrib(OSD_1BITFONT, color);

	
	if (IsWidthPanel()) 
	{
		if (SysPar.Flag & FLAG_4B3DISP)		OsdSpecPrint(VALROLL_POSX + 4, SubMenuWin.Vs + 3, Str_4_3);
		else	OsdSpecPrint(VALROLL_POSX + 4, SubMenuWin.Vs + 3, Str_16_9);
	}
	else	OsdSpecPrint(VALROLL_POSX + 4, SubMenuWin.Vs + 3, Str_4_3);
	OsdShowStr(VALROLL_POSX + 1, SubMenuWin.Vs + 3, Icon_Move, 1);
	OsdShowStr(VALROLL_POSX + 10, SubMenuWin.Vs + 3, Icon_MoveR, 1);
#else
	Alignment = RIGHT;
	StringWidth = 4;
	OsdAttrib(OSD_1BITFONT, color);
	if (SysPar.Flag  & FLAG_4B3DISP)  
		OsdSpecPrint(SubMenuWin.He - 4, SubMenuWin.Vs + 6, StrON);
	else 
		OsdSpecPrint(SubMenuWin.He - 4, SubMenuWin.Vs + 6, StrOFF);
#endif
}
/*
********************************************************************************
* 	函 数 名: Adj4B3Disp
* 	功能描述: 调节显示的方式是正常还是4:3
* 	输    入: step		: 高四位是选项,低四位是调节的步长
*             color		: 显示的颜色
* 	返    回: 无
********************************************************************************
*/
void Adj4B3Disp(uint8 step, uint8 color)
{
	uint8 Option, buf;

	Option = step & 0xF0;
	step &= 0x0F;

	if (Option & SHOWONLY)  {
		AdjDisp4B3Disp(color);
		return;
		}

	if (step)  {
		if(Option & INC)
		{
			SysPar.Flag ^= FLAG_4B3DISP;
			if (SysPar.Flag & FLAG_4B3DISP)  SarDispMode_4B3();
			else  SarDispMode_Normal();
		}
		else if(Option & DEC)
		{
			SysPar.Flag ^= FLAG_4B3DISP;
			if (SysPar.Flag & FLAG_4B3DISP)  SarDispMode_4B3();
			else  SarDispMode_Normal();
		}

		if (Option & SHOW)  {
			buf = FontIndex;
			AdjDisp4B3Disp(color);
			FontIndex = buf;
			}
		ActiveSave_SYSPAR();
		}
	else  {
		if (SysPar.Flag & FLAG_4B3DISP)  SarDispMode_4B3();
		else  SarDispMode_Normal();
		}
}
/*
********************************************************************************
*                                文 件 结 束                                   *
********************************************************************************
*/

⌨️ 快捷键说明

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