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

📄 ui_input.c

📁 ZORAN 962/966 SOURCE CODE,DVD chip
💻 C
📖 第 1 页 / 共 2 页
字号:
		if (!((MEDIA_TYPE_DVD_VIDEO == CoreAPI_GetCurrentMediaType()) && (!PCI_DECODED || SI_DVD_BUTTON_COUNT))
			&&  (PST_STOP != pPlayState)
			&&  (PST_STILL != pPlayState))
		{
			
			wUIOP = (UIOP_UP == wUIOP) ? UIOP_SLOWB : UIOP_SLOWF;
		}
		break;
#endif // D_USE_UP_DOWN_AS_SLOW_KEY

#ifdef D_USE_LEFT_RIGHT_AS_FAST_SCAN			
	case UIOP_LEFT:	// Fall Through !!!
	case UIOP_RIGHT:
		if(NO_ZOOM != CoreAPI_GetZoomLevel())
			break;
		
		// Use Left and Right keys as Scan keys.
		if(!((MEDIA_TYPE_DVD_VIDEO == CoreAPI_GetCurrentMediaType()) && (!PCI_DECODED || SI_DVD_BUTTON_COUNT))
			&&  (PST_STOP != pPlayState)  
			&&  (PST_STILL != pPlayState)) 
		{
			wUIOP = (UIOP_LEFT == wUIOP) ? UIOP_FASTB : UIOP_FASTF;
		}
		break;
#endif // D_USE_LEFT_RIGHT_AS_FAST_SCAN
	}
	return wUIOP;
}

/****************************************************************************************************
*	DEFINITION: Private functions
****************************************************************************************************/

/**********************************************************************************
 * Name			:
 *
 * Purpose		:
 *
 * Input			:
 *
 * Return Value	:
 *
 * Description		:
 *
 * Comments		:
 *
**********************************************************************************/
#pragma argsused
static UINT16 _UIOPPreInterpreter(UINT16 wUIOP)
{
	return wUIOP;
}

/**********************************************************************************
 * Name			:
 *
 * Purpose		:
 *
 * Input			:
 *
 * Return Value	:
 *
 * Description		:
 *
 * Comments		:
 *
**********************************************************************************/
static UINT16  _MapUICC2UIOP( UINT16 wUICC)
{
	UINT16 cIndex;
	if ( wUICC < UICC_LAST )
	{
		for (cIndex = 0; cIndex < (sizeof(uicc_to_uiop_map)/sizeof(UICC_TO_UIOP_MAP)); cIndex++)
		{
			if (uicc_to_uiop_map[cIndex].wUICC == wUICC)
				return _UIOPPreInterpreter(uicc_to_uiop_map[cIndex].wUIOP);
		}
	}
	//wUICC out of range or not listed in uicc_to_uiop_map
	dbg_printf(("Error in _MapUICC2UIOP() \n"));
	return UIOP_NONE;

}

/**********************************************************************************
 * Name			:
 *
 * Purpose		:
 *
 * Input			:
 *
 * Return Value	:
 *
 * Description		:
 *
 * Comments		:
 *
**********************************************************************************/
BOOL UI_FindInUICCTable(UINT16 wUICC, UINT16 *pwUICCTable)
{
	UINT16 wIndex;
	for (wIndex = 0; pwUICCTable[wIndex] < UICC_LAST; wIndex++)
	{
		if ( pwUICCTable[wIndex] == wUICC )
			return TRUE;
	}
	return FALSE;
}
/**********************************************************************************
 * Name			:
 *
 * Purpose		:
 *
 * Input			:
 *
 * Return Value	:
 *
 * Description		:
 *
 * Comments		:
 *
**********************************************************************************/
BOOL UI_FindInUIOPTable(UINT16 wUIOP, UINT16 *pwUIOPTable)
{
	UINT16 wIndex;
	for (wIndex = 0; pwUIOPTable[wIndex] < MS_OP_LAST; wIndex++)
	{
		if ( pwUIOPTable[wIndex] == wUIOP )
			return TRUE;
	}
	return FALSE;
}

// <<< Ram.wang_1125_05: modify I86_AV_RECEIVER FUNCTION LIKE AS THOMSON
#ifdef D_I86_AV_RECEIVER
/**********************************************************************************
 * Name :
 *
 * Purpose: Handle UOP_
 *
 * Input: None
 *
 * Return Value : None.
 *
 * Description: cycle switch the workmode.
 *
 * Comments	: 
 *
**********************************************************************************/
void UI_Change_Workmode(TUNER_WORK_MODE workmode)
{
	//printf("UI_Change_Workmode %d\n", workmode);
	switch(workmode)
	{
	case DVD_WORKMODE:
		ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (DVD_WORKMODE&0xFFFFL)));	
		//ie_send(IE_CORE_SET_NVM_WORKMODE);
		ie_send( IE_CORE_CHANGE_WORKMODE);
		break;
#ifdef D_TUNER_ENABLE
	case RADIO_WORKMODE:
		ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (RADIO_WORKMODE&0xFFFFL)));	
		//ie_send(IE_CORE_SET_NVM_WORKMODE);
		ie_send( IE_CORE_CHANGE_WORKMODE);
		break;
#endif
#ifdef 	D_AUDIO_IN_SUPPORT
	case AV1_WORKMODE:
		ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (AV1_WORKMODE&0xFFFFL)));	
		//ie_send(IE_CORE_SET_NVM_WORKMODE);
		ie_send( IE_CORE_CHANGE_WORKMODE);
		break;
	case AV2_WORKMODE:
		ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (AV2_WORKMODE&0xFFFFL)));	
		//ie_send(IE_CORE_SET_NVM_WORKMODE);
		ie_send( IE_CORE_CHANGE_WORKMODE);
		break;
	case SPDIF_IN_WORKMODE:
		ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (SPDIF_IN_WORKMODE&0xFFFFL)));	
		//ie_send(IE_CORE_SET_NVM_WORKMODE);
		ie_send( IE_CORE_CHANGE_WORKMODE);
		break;
	case SPDIF_IN_WORKMODE_OPT:
		ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (SPDIF_IN_WORKMODE_OPT&0xFFFFL)));	
		//ie_send(IE_CORE_SET_NVM_WORKMODE);
		ie_send( IE_CORE_CHANGE_WORKMODE);
		break;
#endif		
	default:
		break;
	}		
}

BOOL	UI_ProcessSourceKey(UINT16 wUIOP)
{
//NOTICE!!!!!!
//if you not use all work mode, the function need make some change
	//printf("_UIOPLib_Is_Source_Key \n");
	if(UIOP_SOURCE == wUIOP)
	{	
		switch(gps->TunerWorkmode)
		{
		case DVD_WORKMODE:
#ifdef D_TUNER_ENABLE
			UI_Change_Workmode(RADIO_WORKMODE);
#else 
#ifdef D_AUDIO_IN_SUPPORT
			UI_Change_Workmode(AV1_WORKMODE);
#endif
#endif
			break;
		case RADIO_WORKMODE:
#if defined (D_AUDIO_IN_SUPPORT)			
			UI_Change_Workmode(AV1_WORKMODE);
#else
			UI_Change_Workmode(DVD_WORKMODE);
#endif
			break;
		case AV1_WORKMODE:
			UI_Change_Workmode(AV2_WORKMODE);
			break;
		case AV2_WORKMODE:
			UI_Change_Workmode(SPDIF_IN_WORKMODE);
			break;
		case SPDIF_IN_WORKMODE:
			UI_Change_Workmode(SPDIF_IN_WORKMODE_OPT);
			break;
		case SPDIF_IN_WORKMODE_OPT:
			UI_Change_Workmode(DVD_WORKMODE);
			break;
		default:
			break;
		}
		return TRUE;
	}
	return FALSE;
}
#ifdef D_TUNER_ENABLE
/**********************************************************************************
 * Name :
 *
 * Purpose: Handle UOP_
 *
 * Input: None
 *
 * Return Value : None.
 *
 * Description:
 *
 * Comments	:
 *
**********************************************************************************/
BOOL	UI_ProcessRadioKey(UINT16 InputKey)
{
	if(RADIO_WORKMODE == gps->TunerWorkmode)
	{
		UINT8	cLoop;		
		for( cLoop = 0; cLoop < RADIO_UIOP_LAST; cLoop++ )
		{
			if ( tuner_key_to_msgparam_map[cLoop].wInputKeyCode == InputKey )	
			{
				printf("proc ie_send_ex IE_CORE_PROC_FUNCTIONKEY\n");
				ie_send_ex( IE_CORE_PROC_FUNCTIONKEY, (void *)(tuner_key_to_msgparam_map[cLoop].wUICommandCode));
				return TRUE;
			}
		}
	}	
	return FALSE;
}
#endif
#endif
// >>> Ram.wang_1125_05

⌨️ 快捷键说明

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