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

📄 key_handler_svcd.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
			speed = PM_SPEED_X4;			break;		case PM_SPEED_X4:			speed = PM_SPEED_X8;			break;		case PM_SPEED_X8:			speed = PM_SPEED_X16;			break;		case PM_SPEED_X16:			speed = PM_SPEED_X32;			break;		case PM_SPEED_X32:#if _APP_CAP_FUNC_CIRCULAR_SPEED_CONTROL#if _APP_CAP_KEY_SEPERATE_PLAY			UiCmdGeneral( UOP_PLAY);#else			UiCmdGeneral( UOP_PLAYPAUSE );#endif			return;//			direction = PLAY_FORWARD;//			speed = SCAN_SPEED_X1;//			break;#else			OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);			return;#endif		default:			speed = PM_SPEED_X2;			break;	}		SysPrintf("\nGuiXvcdScanForward new speed is %d", speed);	//if(FastForwardFlag)	if ( direction == PM_DIR_FORWARD )		UiScanForward( UOP_SVCD_FORWARD_SCAN, speed );	else		UiScanBackward(UOP_SVCD_BACKWARD_SCAN,  speed);}/****************************************************************************** *  Function name : GuiXvcdUpDown *  Arguments     :  *  Return        : VOID *  By            : Liurenliang *  Description   :  *  Revisions     : ****************************************************************************** */VOID GuiXvcdUpDown( UCHAR param ){	MediaInfo_t			media;	UINT				temp_sum;	BOOL				UpFlag=0;	XVCDSearch_t  		track_value;	OSD_State_st *osd_state;		//BYTE2	temp_2dig = GetTempValue(2);		if (param==RC_KEY_UP)		UpFlag=1;	osd_state = OSD_GetState();	switch( osd_state->etCur_dsp )	{		case DISPLAY_INFO:			GetMediaInfoState( &media );							switch( osd_state->etInfo_sub )			{				case INFO_SUB_CTRACK:                    			GetXvcdSearchValue(&track_value);					if(track_value.track_search==0)						temp_sum = media.xvcd.cur_track;					else						temp_sum = track_value.track_search;										SetTempValueSetFlag( TRUE );					temp_sum = GuiSelFuc[UpFlag]((UCHAR)temp_sum, (UCHAR)1, (UCHAR)media.xvcd.total_track);	// cydrain 20060410					InitTempValueState();					track_value.track_search = temp_sum;					SetXvcdSearchValue(track_value);					OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);					break;									default:					OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					break;								} /* switch sub menu */						break;		default:			OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					break;				} /* switch (main display selection) */}/****************************************************************************** *  Function name : GuiXvcdLeftRight *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  *  Revisions     : ****************************************************************************** */VOID GuiXvcdLeftRight( UCHAR param ){#if _APP_CAP_FUNC_XVCD_LANG_SEL	Xvcdlang_t			lang;#endif	BOOL 			LeftFlag=0;	OSD_State_st *osd_state;	OsdCtrl_st ctrl;#if _APP_CAP_AUD_KARAOKE			SetupKaraoke_t	karaoke;	SetupInfoGetMenuKaraoke(&karaoke);#endif	if(param==RC_KEY_LEFT)		LeftFlag=1;	osd_state = OSD_GetState();	switch( osd_state->etCur_dsp )	{#if _APP_CAP_FUNC_XVCD_LANG_SEL 		case DISPLAY_LANG:			GetSvcdLangState( &lang );			if( lang == XVCD_LANG_1)				lang = XVCD_LANG_2;			else 				lang = XVCD_LANG_1;						SetSvcdLangState( lang );			OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY				OsdTimerSet( OSD_TIME_FOR_BANNER, TIMER_ENABLE );#endif				break;	#endif			case DISPLAY_INFO: // Qian liping 060525			/* In these cases, invalid icon */			if(osd_state->etInfo_sub == INFO_SUB_NONE ||#if !_APP_CAP_FUNC_TIMESEARCH_IN_STOP				GetMainState()==MAIN_STOP || #else				(GetMainState()==MAIN_STOP && IsSvcdFullStopMode()==TRUE && GetSvcdMenuState()==TRUE)||#endif				osd_state->etInfo_dsp  > INFO_FIRST 	) //IsSvcdFullStopMode())			{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);				break;			}					InitTempValueState();						/* only TRACK, TIME are editable */			if( osd_state->etInfo_sub == INFO_SUB_CTRACK && IsThisItemSpi() == FALSE) /* spi time can not be selected */			{	#if _APP_CAP_NAV_CDG_DECODE				if (GetCDGDiscLoaded())				{					OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					return;				}#endif				ctrl.p.info.old = INFO_SUB_CTRACK; 				ctrl.p.info.new = INFO_SUB_CTIME;				OSD_ChangeDisplay(OSD_CTRL_ELEM_SELECT, &ctrl, SYS_NO_WAIT);							}			else if( osd_state->etInfo_sub == INFO_SUB_CTIME )			{				ctrl.p.info.old = INFO_SUB_CTIME; 				ctrl.p.info.new = INFO_SUB_CTRACK;				OSD_ChangeDisplay(OSD_CTRL_ELEM_SELECT, &ctrl, SYS_NO_WAIT);											}					else			{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);			}			break;					default:			OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); 			break;				} /* switch (main display) */}/****************************************************************************** *  Function name : GuiXvcdDefaultEnter *  Arguments     :  *  Return        : void *  By            : Taejin Kwon *  Description   : 	Comfirmation of numeric keys *  Revisions     : (yanglu, 051203)  ****************************************************************************** */VOID GuiXvcdDefaultEnter( VOID )	 {	BYTE2	temp_2dig = GetTempValue(2);	if( temp_2dig != 0 )		{		UiSelectAndActive( (UCHAR)temp_2dig);		OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT);		InitTempValueState();	}	else	{		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);	}	}/****************************************************************************** *  Function name : GuiXvcdEnter *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  *  Revisions     : ****************************************************************************** */VOID GuiXvcdEnter( UCHAR param ){	OSD_State_st *osd_state;	BYTE2	temp_2dig = GetTempValue(2);	BOOL			flag;	MediaInfo_t		media;	OsdCtrl_st ctrl;	XVCDSearch_t track_value ;	osd_state = OSD_GetState();	switch( osd_state->etCur_dsp )	{		/*move enter function to play/pause key*/		case DISPLAY_INFO:			flag = GetTempValueSetFlag();			GetMediaInfoState( &media );			GetXvcdSearchValue(&track_value);			switch( osd_state->etInfo_sub )			{				case INFO_SUB_CTRACK:					/* Reset timer & temp keeper data for later use.*/					OsdSelTimerSet( 1, TIMER_DISABLE );					InitTempValueState();										if(track_value.track_search==0)					{						OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					}					else						UiTrackPlay( (UCHAR)track_value.track_search, PARAM_PB_NORMAL);										ctrl.p.info.old = osd_state->etInfo_sub; 					ctrl.p.info.new = INFO_SUB_NONE;					OSD_ChangeDisplay(OSD_CTRL_ELEM_SELECT, &ctrl, SYS_NO_WAIT);											break;									case INFO_SUB_CTIME:#if _APP_CAP_NAV_CDG_DECODE   //limeng 060403					if(GetCDGDiscLoaded()==TRUE)			 		    flag=FALSE;#endif					if( flag == TRUE )						GuiTimeSearch();					break;									default:					if (temp_2dig != 0)					{						UiSelectAndActive( (UCHAR) temp_2dig);						//OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT); // Qian liping 061010 : fix bug 120						InitTempValueState();					}					else					{						OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					}					break;			} /* switch sub-menu */				break;		case DISPLAY_STEREO:		case DISPLAY_LANG:#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY				OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT);#endif			break;			default:			/* Track Jump during play */			if (temp_2dig != 0)			{				UiSelectAndActive( (UCHAR) temp_2dig);				OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT);				InitTempValueState();			}			else			{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);			}			break;	} /* switch */	}/****************************************************************************** *  Function name : GuiXvcdPlayPause *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  *  Revisions     : ****************************************************************************** */VOID GuiXvcdPlayPause( UCHAR param ){	OSD_State_st *osd_state;	BYTE2	temp_2dig = GetTempValue(2);	osd_state = OSD_GetState();	if( IsNumericAllowed(temp_2dig) == TRUE )	{		switch( osd_state->etCur_dsp )		{				case DISPLAY_INFO:#if _APP_CAP_KEY_SEPERATE_PLAY				if(gOSD_state.etCur_icon==ICON_NUMERIC)//clina 061026 number key and play key,it should next title at once					UiSelectAndActive( (UCHAR) temp_2dig);				else				UiCmdGeneral( UOP_PLAY);#else				UiCmdGeneral( UOP_PLAYPAUSE );#endif				SetTempValueSetFlag(FALSE);				InitTempValueState();				break;			default:				/* maybe menu domain */				if( temp_2dig== 0 )				{#if _APP_CAP_KEY_SEPERATE_PLAY					UiCmdGeneral( UOP_PLAY);#else					UiCmdGeneral( UOP_PLAYPAUSE );#endif				}				else				{						UiSelectAndActive( (UCHAR) temp_2dig);				}										break;		}				InitTempValueState();	} 	else 	{#if _APP_CAP_KEY_SEPERATE_PLAY		UiCmdGeneral( UOP_PLAY);#else		UiCmdGeneral( UOP_PLAYPAUSE );#endif	}}/****************************************************************************** *  Function name : GuiXvcdPause *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  ****************************************************************************** */VOID GuiXvcdPause(UCHAR param){#if _APP_CAP_KEY_SEPERATE_PLAY	UiCmdGeneral( UOP_PAUSE);#else	UiCmdGeneral( UOP_PLAYPAUSE );#endif}/****************************************************************************** *  Function name : GuiXvcdReturn *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  *  Revisions     : ****************************************************************************** */ extern BOOL gRedraw_flag;VOID GuiXvcdReturn( UCHAR param ){	OSD_State_st *osd_state;	SetMainState_t		main;	/*Liu 0804 move zoom process to zoom handle function*/	main = GetMainState();	osd_state = OSD_GetState();	if( GetSvcdMenuState() == TRUE )		// MENU ON	{		UiCmdGeneral( UOP_RETURN );		return;	} else {	// MENU OFF		if( osd_state->etCur_dsp != DISPLAY_OFF )		{			//if( GetSvcdRepeatState() == REPEAT_SUB_A )			if( GetSvcdRepeatABState() == REPEAT_SUB_A #ifdef _APP_CAP_ROCO_VCD_RETURN //wanglin 061018				||osd_state->etCur_dsp ==DISPLAY_INFO#endif			)							{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);			}			else			{				/*in CD_DA case, should return to info osd 				*  Lrl				*/				if (GetDiscState() == CD_DA #if _APP_CAP_FUNC_MIXED_VCD_CDDA										&& GetMixedCdState() == FALSE#endif										)				{					if (osd_state->etCur_dsp ==DISPLAY_INFO)					{						OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					}					else						OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT);				}				else				{					gRedraw_flag=FALSE;//clina 061018					OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT);				}			}			return;		} 			OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);	}}/****************************************************************************** *  Function name : GuiXvcdStep *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  ****************************************************************************** */VOID GuiXvcdStep( UCHAR param ){	if( GetSvcdRepeatABState() == REPEAT_SUB_A )	{		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);		return;	}	UiCmdGeneral( UOP_STEP ); }/****************************************************************************** *  Function name : GuiXvcdLang *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  *  Revisions     : ****************************************************************************** */VOID GuiXvcdLang( UCHAR param ){	OSD_State_st *osd_state;	if(GetDiscState()!=SVCD_DISC)	{		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);		return;	}		SysPrintf("\n[GUI] 3D Setting key");	osd_state = OSD_GetState();			if( osd_state->etCur_dsp == DISPLAY_LANG )	{		GuiXvcdLeftRight(RC_KEY_RIGHT);	}	else		OSD_SetMainDisplay(DISPLAY_LANG, SYS_NO_WAIT);}//#endif

⌨️ 快捷键说明

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