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

📄 osdctrl.c

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 C
📖 第 1 页 / 共 5 页
字号:
		subSelect(Select);
	}
	else if(cursor >= OSDSETUP_HPOS && cursor <= OSDSETUP_TIME)
	{
		subSelect(UnSelect);
    		cursor = cursor + (step * 2);
    		if (cursor > OSDSETUP_TIME)
			cursor = OSDSETUP_HPOS;
    		if (cursor < OSDSETUP_HPOS)
			cursor = OSDSETUP_TIME;
		subSelect(Select);
	}
	else if(cursor >= LANGUAGE_ENGLISH && cursor <= LANGUAGE_SCHINESE)
	{
		subSelect(UnSelect);
    		cursor += step;
    		if (cursor > LANGUAGE_SCHINESE)
			cursor = LANGUAGE_ENGLISH;
    		if (cursor < LANGUAGE_ENGLISH)
			cursor = LANGUAGE_SCHINESE;
		subSelect(Select);
	}
	else if(cursor >= RESET_YES && cursor <= RESET_NO)
	{
		subSelect(UnSelect);
    		cursor += step;
    		if (cursor > RESET_NO)
			cursor = RESET_YES;
    		if (cursor < RESET_YES)
			cursor = RESET_NO;
		subSelect(Select);
	}
//==================================== FACTORY ==========================================
	else if (cursor >= AUTO_LEVEL && cursor <= F_RETURN)
	{
		factorySelect(UnSelect);
    		cursor += step;
    		if (cursor > F_RETURN)
			cursor = AUTO_LEVEL;
    		if (cursor < AUTO_LEVEL)
			cursor = F_RETURN;
		factorySelect(Select);
		if ((cursor >= C1_R) && (cursor <= C1_CON))
		{
			if (eepData.colorPos != COLOR_6500)
			{
				eepData.colorPos = COLOR_6500;
				eepData.brightness = eepData.brightness65;
				setBrightness(eepData.brightness);
				eepData.contrast = eepData.contrast65;
				setColorTemp();
			}
		}
		else if ((cursor >= C2_R) && (cursor <= C2_CON))
		{
			if (eepData.colorPos != COLOR_7500)
			{
				eepData.colorPos = COLOR_7500;
				eepData.brightness = eepData.brightness75;
				setBrightness(eepData.brightness);
				eepData.contrast = eepData.contrast75;
				setColorTemp();
			}
		}
		else if (eepData.colorPos != COLOR_NATIVE)
		{
			eepData.colorPos = COLOR_NATIVE;
			eepData.brightness = DEF_brightness;
			setBrightness(eepData.brightness);
			eepData.contrast = DEF_contrast;
			setColorTemp();
		}
				
	}
	else if(cursor == INFORMATION_SET || cursor == INFORMATION_R)
	{
		factorySelect(UnSelect);
    		if (cursor == INFORMATION_SET)
			cursor = INFORMATION_R;
    		else
			cursor = INFORMATION_SET;
		factorySelect(Select);
	}
	else if(cursor >= SET_PAGE && cursor <= SET_EXIT)
	{
		factorySelect(UnSelect);
    		cursor += step;
    		if (cursor > SET_EXIT)
			cursor = SET_PAGE;
    		if (cursor < SET_PAGE)
			cursor = SET_EXIT;
		factorySelect(Select);
	}
}


/********************************************************
* Moving ENTER button to select menu item       *
*********************************************************/
void menuCtrl(void)		
{
	switch(cursor)
	{
		case HOT_BRIGHTNESS:
		case HOT_CONTRAST:
			disableOSD();
			return;

       		case MAIN_LUMINANCE:
       			//mainUnSelect();
       			cursor = LUMINANCE_CONTRAST;
			subMenu();
			subSelect(Select);
			adjContrast(0,SHOW);
			adjBrightness(0,SHOW);
			return;

       		case MAIN_IMAGESETUP:
       			mainSelect(UnSelect);
       			cursor = IMAGESETUP_FOUCS;
			subMenu();
			subSelect(Select);
			adjPhase(0,SHOW);
			adjPitch(0,SHOW);
			return;

       		case MAIN_IMAGEPOSITION:
       			mainSelect(UnSelect);
       			cursor = IMAGEPOSITION_H;
			subMenu();
			subSelect(Select);
			adjHPos(0,SHOW);
			adjVPos(0,SHOW);
			return;

       		case MAIN_COLORTEMP:
			mainSelect(UnSelect);
	      		if (eepData.colorPos == COLOR_6500)
				cursor = COLORTEMP_WARM;
	      		else if (eepData.colorPos == COLOR_7500)
				cursor = COLORTEMP_COOL;
			else
				cursor = COLORTEMP_USER;
			subMenu();
			subSelect(Select);
			return;

       		case MAIN_AUTOCONFIG:
       			mainSelect(UnSelect);
       			cursor = AUTOCONFIG_YES;
			subMenu();
			subSelect(Select);
			return;

       		case MAIN_OSDSETUP:
       			mainSelect(UnSelect);
       			cursor = OSDSETUP_HPOS;
			subMenu();
			subSelect(Select);
			adjOSDPosH(0,SHOW);
			adjOSDPosV(0,SHOW);
			adjOSDTime(0,SHOW);
			return;

       		case MAIN_LANGUAGE:
       			mainSelect(UnSelect);
       			cursor = eepData.language + 0x80;
			subMenu();
			subSelect(Select);
			return;

       		case MAIN_INFORMATION:
			if (!AdjustFlag)
			{
				mainSelect(UnSelect);
				subMenu();
			}
			else
			{
				mainIcon();
				mainSelect(Select);
			}
			AdjustFlag ^= 1;
			return;

       		case MAIN_RESET:
       			mainSelect(UnSelect);
       			cursor = RESET_YES;
			subMenu();
			subSelect(Select);
			return;
#if WITH_AUDIO
       		case MAIN_EXIT:       			
			mainSelect(UnSelect);
			AdjustFlag ^= 1;
			if (AdjustFlag)
			 {    
			     PortDataOut((MainMenuCols+1)*1+11,UPDATE_CODE,blankData,7);
			     subMenu();
			     subSelect(Select);
			     adjVolume(0,SHOW);
			 }    
			else 
			 {
			     PortDataOut((MainMenuCols+1)*6+3, UPDATE_ATTR, mainIconAttrData[UnSelect],3);
	                     PortDataOut((MainMenuCols+1)*7+3, UPDATE_ATTR, mainIconAttrData[UnSelect],3);
                             
                             mainIcon();
                             mainSelect(Select);
			     PortDataOut((MainMenuCols+1)*1+11,UPDATE_CODE,volumeData[eepData.language],sizeof(volumeData[0]) / sizeof(char));	
                    	     			     			 	  
			 }
			return;    		
#else
       		case MAIN_EXIT:
       			disableOSD();
			return;
#endif			

	       	case LUMINANCE_BRIGHTNESS:
	       	case LUMINANCE_CONTRAST:
	       	case IMAGESETUP_FOUCS:
	       	case IMAGESETUP_CLOCK:
	       	case IMAGEPOSITION_H:
	       	case IMAGEPOSITION_V:
	       	case OSDSETUP_HPOS:
	       	case OSDSETUP_VPOS:
	       	case OSDSETUP_TIME:
	       	case USER_R:
	       	case USER_G:
	       	case USER_B:
			AdjustFlag ^= 1;
			setScrollBarAttr(AdjustFlag);
			if (AdjustFlag)
				subSelect(UnSelect);
			else
				subSelect(Select);
       			return;

	       	case COLORTEMP_WARM:
			subSelect(UnSelect);
			cursor = 0x10 + ((cursor & 0xF0) >> 4) - 2;
			mainIcon();
			mainSelect(Select);
	      		eepData.colorPos = COLOR_6500;
	       		eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1); 
			eepData.brightness = eepData.brightness65;
			setBrightness(eepData.brightness);
			eepData.contrast = eepData.contrast65;
			setColorTemp();
			return;
       			
	       	case COLORTEMP_COOL:
			subSelect(UnSelect);
			cursor = 0x10 + ((cursor & 0xF0) >> 4) - 2;
			mainIcon();
			mainSelect(Select);
	      		eepData.colorPos = COLOR_7500;
	       		eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1); 
			eepData.brightness = eepData.brightness75;
			setBrightness(eepData.brightness);
			eepData.contrast = eepData.contrast75;
			setColorTemp();
       			return;

	       	case COLORTEMP_USER:
	      		eepData.colorPos = COLOR_USER;
	       		eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1); 
			eepData.brightness = DEF_brightness;
			setBrightness(eepData.brightness);
			eepData.contrast = DEF_contrast;
	       		subSelect(UnSelect);
       			cursor = USER_R;
			subMenu();
			subSelect(Select);
			adjUser_R(0,SHOW);
			adjUser_G(0,SHOW);
			adjUser_B(0,SHOW);
       			return;

		case LANGUAGE_ENGLISH:
		case LANGUAGE_DEUTSCH:
		case LANGUAGE_FRANCAIS:
		case LANGUAGE_ESPANOL:
		case LANGUAGE_ITALIANO:
	       	case LANGUAGE_SCHINESE:
	       		adjLanguage(0,HIDE);
			subSelect(UnSelect);
			cursor = 0x10 + ((cursor & 0xF0) >> 4) - 2;
			mainIcon();
			mainSelect(Select);
			PortDataOut((MainMenuCols+1)*1+11,UPDATE_CODE,LanguageData[eepData.language],sizeof(LanguageData[0]) / sizeof(char));
       			return;

       		case AUTOCONFIG_YES:
       			subSelect(UnSelect);
       			do_auto_setup(SHOW);
			cursor = 0x10 + ((cursor & 0xF0) >> 4) - 2;
			mainIcon();
			mainSelect(Select);
			return;
			
		case AUTOCONFIG_NO:
		case RESET_NO:
			subSelect(UnSelect);
			cursor = 0x10 + ((cursor & 0xF0) >> 4) - 2;
			mainIcon();
			mainSelect(Select);
			return;

		case RESET_YES:
       			subSelect(UnSelect);
			osdAutoConfig();
       			mainReset();
 			if (!FactoryFlag)
	       			do_auto_setup(HIDE);
			cursor = 0x10 + ((cursor & 0xF0) >> 4) - 2;
			mainIcon();
			mainSelect(Select);
			return;
 
//==================================== FACTORY ==========================================
       		case MAIN_FACTORY:
			cursor = AUTO_LEVEL;
			factoryDraw();
			enableOSD();
			factoryUpdataSHOW();
			factorySelect(Select);
			if (eepData.colorPos != COLOR_NATIVE)
			{
				eepData.colorPos = COLOR_NATIVE;
				setColorTemp();
			}
			return;

		case AUTO_LEVEL:
			SetOSDData((FactoryMenuCols + 1) * 1 + 11, UPDATE_CODE, 0x00, 6);
			do_adcGainTune();
			factoryUpdataSHOW();
			return;

		case BLACK_LEVEL:
		case GAIN_R:
		case GAIN_G:
		case GAIN_B:
		case OFFSET_R:
		case OFFSET_G:
		case OFFSET_B:
		case C1_R:
		case C1_G:
		case C1_B:
		case C1_BRI:
		case C1_CON:
		case C2_R:
		case C2_G:
		case C2_B:
		case C2_BRI:
		case C2_CON:
		case BURN_IN:
		case SET_PAGE:
		case SET_ADDH:
		case SET_ADDL:
		case SET_DATAH:
		case SET_DATAL:
			if (AdjustFlag)
			{
				AdjustFlag = 0;
				factorySelect(UnSelect2);
				factorySelect(Select);
			}
			else
			{
				AdjustFlag = 1;
				factorySelect(UnSelect);
				factorySelect(Select2);
			}
			return;

		case INFORMATION:
			cursor = INFORMATION_R;
			factoryDraw_INFO();
			factorySelect(Select);
			return;
			
		case F_RETURN:
			cursor = MAIN_FACTORY;
        		eepData.colorPos = DEF_colorPos;
			eepDataOut(EEPDATASTART+(&eepData.colorPos-&eepData),(unsigned char *)&eepData.colorPos, 1);        	        
			eepData.brightness = DEF_brightness1;
			setBrightness(eepData.brightness);
			eepData.contrast = DEF_contrast1;
			setColorTemp();
			mainMenu();
			mainSelect(Select);
			return;

		case INFORMATION_SET:
			cursor = SET_PAGE;
			factoryDraw_SETREG();
			factoryUpdataSETREG();
			factorySelect(Select);
			return;
			
		case INFORMATION_R:
			cursor = INFORMATION;
			factoryDraw();
			enableOSD();
			factoryUpdataSHOW();
			factorySelect(Select);
			return;
			
		case SET_WRITE:
			if (buff[19] == 0)
				RegByteOut(buff[18], buff[17]);
			else
			{
				RegByteOut(0xC0, 0x40);
				RegByteOut(buff[18], buff[17]);
				RegByteOut(0xC0, 0x3C);
			}
			factoryUpdataSETREG();
			return;
			
		case SET_READ:
			if (buff[19] == 0)
				buff[17] = RegByteIn(buff[18]);
			else
			{
				RegByteOut(0xC0, 0x40);
				buff[17] = RegByteIn(buff[18]);
				RegByteOut(0xC0, 0x3C);
			}
			factoryUpdataSETREG();
			return;
			
		case SET_EXIT:
			disableOSD();

⌨️ 快捷键说明

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