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

📄 gui.cpp.svn-base

📁 sigmadesign smp8623 gui source code ,bingo
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
	// secret menu stuff#ifndef GUI_REFID_2	CheckForSecretCode(key);#endif	return status;}RMstatus RMcuracaoGui::HandleActivation(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	KillTimer(TIMER_WAIT_ANIMATION, FALSE);	printf("activate\n");	if (m_bTV)	{		if (m_bTVMenuOn)		{			m_pnav->DisplayOSDList(FALSE);			if (m_pnav->m_tvList.previous != m_pnav->m_tvList.current)			{				if (m_pnav->m_tvList.current == 0)					m_pnav->m_tvList.current = m_pnav->m_tvList.nbItems - 1;				else					m_pnav->m_tvList.current--;				HandleNext();			}			m_bTVMenuOn = FALSE;		}		else		{			if (m_infoOn)			{				m_infoOn = 0;				status = m_pnav->RemoveSlider(m_pnav->SelectedObjectId());			}			m_pnav->DisplayOSDList(TRUE);			m_bTVMenuOn = TRUE;			m_pnav->m_tvList.previous = m_pnav->m_tvList.current;			if (m_pnav->m_tvList.current == 0)				m_pnav->m_tvList.rotate = TRUE;			else				m_pnav->m_tvList.rotate = FALSE;		}	}	else	{#ifndef __NUMSEL		if(m_pnav->OsdOn() == FALSE && !ISPOPUP(m_pnav->SelectedObjectId()))		{#else		// for cdda with osd on to accept activation;		// secret menu keys can never use HW_SELECT/_ENTER anyway		if (m_pnav->ActivePageId() == m_pnav->MainPageId() && !ISPOPUP(m_pnav->SelectedObjectId()))		{#endif			if (m_numericInputCount > 0 && m_context->player)				return SendNumericInput();			else				return RM_UNKNOWN_KEY;		}		if (ISPOPUP(m_pnav->SelectedObjectId()))		{			if (m_pnav->PopupSelectedObjectId() != 0)			{				status = m_pnav->GetCommandInfo(m_pnav->PopupSelectedObjectId(), ACTIVATE_EVENT, &cmdInfo);				if (RMSUCCEEDED(status))				{					return CommandHandler(&cmdInfo);				}			}		}		status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), ACTIVATE_EVENT, &cmdInfo);		if (RMFAILED(status))		{			// if activation command is not present, check for default activation for some objects			status = m_pnav->DefaultActivateCurrentObject();			return status;		}		return CommandHandler(&cmdInfo);	}	return RM_OK;}RMstatus RMcuracaoGui::HandleVolume(RMremoteKey key){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	RMuint32 objectId;	if (IsTv())	{		m_pnav->DisplayOSDList(FALSE);		m_bTVMenuOn = FALSE;		m_pnav->m_tvList.current = m_pnav->m_tvList.previous;		if (m_pnav->m_tvList.current == 0)			m_pnav->m_tvList.firstvisible = m_pnav->m_tvList.nbItems - 1;		else			m_pnav->m_tvList.firstvisible = m_pnav->m_tvList.current - 1;	}	if (ISPOPUP(m_pnav->SelectedObjectId()))	{		status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), (key == RM_HW_VOL_PLUS) ? (RMascii*) VOLUME_UP_EVENT				: (RMascii*) VOLUME_DOWN_EVENT, &cmdInfo);		if (RMFAILED(status))			return RM_ERROR;		return CommandHandler(&cmdInfo);	}	if (m_pnav->SelectedObjectId() == VOLUME_CONTROL || m_pnav->SelectedObjectId() != m_pnav->BCSSliderId())	{		objectId = VOLUME_CONTROL;	}	else	{		objectId = m_pnav->BCSSliderId();	}	status = m_pnav->GetCommandInfo(objectId, (key == RM_HW_VOL_PLUS) ? (RMascii*) VOLUME_UP_EVENT : (RMascii*) VOLUME_DOWN_EVENT,			&cmdInfo);	if (RMFAILED(status))	{		return RM_ERROR;	}	status = CommandHandler(&cmdInfo);	// save settings (if changed) after a timeout amount of time from the last level change	if (RMSUCCEEDED(status))		SetTimer(TIMER_SAVESETTINGS);	return status;}RMstatus RMcuracaoGui::HandleReturn(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	if (m_bTV)	{		if (m_bTVMenuOn)		{			m_pnav->DisplayOSDList(FALSE);			m_bTVMenuOn = FALSE;			m_pnav->m_tvList.current = m_pnav->m_tvList.previous;			if (m_pnav->m_tvList.current == 0)				m_pnav->m_tvList.firstvisible = m_pnav->m_tvList.nbItems - 1;			else				m_pnav->m_tvList.firstvisible = m_pnav->m_tvList.current - 1;		}		else		{			HandleStop();		}	}	else	{		if ((m_playMode != STATE_STOP) && (m_playMode != STATE_CLOSE))			return HandleStop();		// check if popup		if (ISPOPUP(m_pnav->SelectedObjectId()))		{			status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), RETURN_EVENT, &cmdInfo);			if (RMSUCCEEDED(status))				return CommandHandler(&cmdInfo);			else			{				// default to removal				return ShowPopup(m_pnav->SelectedObjectId(), FALSE);			}		}		// no popup handling Return, try other alternatives		if (m_isoPlayList.active == TRUE && m_isoPlayList.filetype == FILETYPE_PICTURE)			return StopFiles(TRUE);		else if (m_playMode != STATE_STOP && m_playMode != STATE_CLOSE)			return RM_UNKNOWN_KEY;		// see if current page handles the key otherwise pass it to selected object		status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), RETURN_EVENT, &cmdInfo);		if (RMFAILED(status))		{			status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), RETURN_EVENT, &cmdInfo);			if (RMFAILED(status))				return RM_ERROR;		}		return CommandHandler(&cmdInfo);	}	return RM_OK;}RMstatus RMcuracaoGui::HandleMute(){	RMbool mute;	RMstatus status;	mute = m_muteOn ^ 1;	if (mute)	{		status = SetVolume(0);		if (m_infoOn)		{			m_infoOn = 0;			status = m_pnav->RemoveSlider(m_pnav->SelectedObjectId());		}	}	else	{		status = SetVolume(m_settings.volume);	}	if (RMFAILED(status) && m_playMode != STATE_CLOSE)		return RM_ERROR;	m_muteOn = mute;	if (m_muteOn)	{		status = m_pnav->DisplayEvent(MUTE_EVENT, m_muteOn, TIMER_NONE, m_eventText, MUTE_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);	}	else	{		status = m_pnav->RemoveEventBitmap();		RestoreNonTimedEvent();	}	return status;}RMstatus RMcuracaoGui::ResetMute(){	if (m_muteOn)	{		return HandleMute();	}	return RM_ERROR;}RMstatus RMcuracaoGui::HandleNumericInput(RMremoteKey key){	RMascii input;	RMstatus status;	switch (key)	{	case RM_HW_KEY_0:		input = '0';		break;	case RM_HW_KEY_1:		input = '1';		break;	case RM_HW_KEY_2:		input = '2';		break;	case RM_HW_KEY_3:		input = '3';		break;	case RM_HW_KEY_4:		input = '4';		break;	case RM_HW_KEY_5:		input = '5';		break;	case RM_HW_KEY_6:		input = '6';		break;	case RM_HW_KEY_7:		input = '7';		break;	case RM_HW_KEY_8:		input = '8';		break;	case RM_HW_KEY_9:		input = '9';		break;	default:		return RM_ERROR;	}	// handle popup case -- looking for strings only!!!!!!!!!!!!!!!!!!!!!!!!!!	status = m_pnav->CharacterInput(input);	if (RMSUCCEEDED(status))		return status;	if (m_bTV)	{		if (m_numericInputCount < 2)		{			m_numericInput[m_numericInputCount] = input;			m_numericInputCount++;#ifdef __NUMSEL			if (m_numericInputCount < 2)			{				if (m_infoOn)				{					m_infoOn = 0;					status = m_pnav->RemoveSlider(m_pnav->SelectedObjectId());				}				m_numericInput[m_numericInputCount] = '_';				m_numericInput[m_numericInputCount + 1] = '\0';				m_pnav->DisplayEvent(GENERIC_EVENT, TRUE, TIMER_EVENT, TRUE, m_numericInput, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40,						TRUE, PLAYER_NUMERICINPUT_TIMEOUT);				SetTimer(TIMER_PLAYER_NUMERIC_INPUT);			}			else			{				m_numericInput[m_numericInputCount] = '\0';				// don't clear on TIMER_PLAYER_NUMERIC_INPUT timeout because player's state event/other bitmaps may be present				m_pnav->DisplayEvent(GENERIC_EVENT, TRUE, TIMER_EVENT, TRUE, m_numericInput, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40,						TRUE, 10);#endif				SetTimer(TIMER_PLAYER_NUMERIC_INPUT, 10);			}			printf("gore\n");			return RM_OK;		}		else		{#ifndef __NUMSEL			ResetNumericInput();#else			m_numericInput[0] = input;			m_numericInput[1] = '_';			m_numericInput[2] = '\0';			m_numericInputCount = 1;			m_pnav->DisplayEvent(GENERIC_EVENT, TRUE, TIMER_EVENT, TRUE, m_numericInput, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40, TRUE,					PLAYER_NUMERICINPUT_TIMEOUT);			SetTimer(TIMER_PLAYER_NUMERIC_INPUT);			printf("dolu\n");			return RM_OK; // so gui interpretcommand won't return RM_UNKNOWN_KEY and pass the single numeric key to player#endif		}	}	return RM_ERROR;}RMstatus RMcuracaoGui::HandleInfo(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	if (((m_playMode == STATE_CLOSE || m_playMode == STATE_STOP) || ISPOPUP(m_pnav->SelectedObjectId())) && m_infoOn == FALSE)	{		return RM_ERROR;	}	if (m_pnav->WMVHDOn())	{		status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), WMVHDINFO_EVENT, &cmdInfo);	}	else if (m_isoPlayList.filetype == FILETYPE_PICTURE)		return RM_ERROR;	status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), FILEINFO_EVENT, &cmdInfo);	if (RMFAILED(status))	{		return RM_ERROR;	}	return CommandHandler(&cmdInfo);}RMstatus RMcuracaoGui::HandleEvent(RMascii *event){	typeCommandInfo cmdInfo;	RMstatus status = RM_ERROR;	status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), event, &cmdInfo);	if (RMSUCCEEDED(status))	{		status = CommandHandler(&cmdInfo);	}	return status;}RMstatus RMcuracaoGui::HandleClear(){	typeCommandInfo cmdInfo;	RMstatus status = RM_ERROR;	status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), CLEAR_EVENT, &cmdInfo);	if (RMSUCCEEDED(status))	{		return CommandHandler(&cmdInfo);	}	if (RMSUCCEEDED(m_pnav->HandleDefaultClear()))		return RM_OK;	status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), CLEAR_EVENT, &cmdInfo);	if (RMSUCCEEDED(status))	{		return CommandHandler(&cmdInfo);	}	return RM_ERROR;}RMstatus RMcuracaoGui::HandleTimeSearch(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	if (m_playMode == STATE_CLOSE /*|| m_playMode == STATE_STOP*/)	{		m_pnav->DisplayEvent(INVALIDOP_EVENT, TRUE, TIMER_EVENT, m_eventText, INVALIDOP_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);		return RM_ERROR;	}	if (m_playMode != STATE_STOP)	{		if (m_isoPlayList.filetype == FILETYPE_PICTURE)			return RM_ERROR;		if (m_pnav->WMVHDOn())		{			status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), WMVHDTIMESEARCH_EVENT, &cmdInfo);		}		else			status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), FILETIMESEARCH_EVENT, &cmdInfo);	}	else		return RM_ERROR;	if (RMFAILED(status))	{		m_pnav->DisplayEvent(INVALIDOP_EVENT, TRUE, TIMER_EVENT, m_eventText, INVALIDOP_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);		return RM_ERROR;	}	return CommandHandler(&cmdInfo);}RMstatus RMcuracaoGui::HandleRepeat(RMbool doRepeat){	RMstatus status = RM_UNKNOWN_KEY;#ifdef WITH_WMVHD_SUPPORT	// see first if running wmvhd	if (m_pnav->WMVHDOn())	{		return HandleWMVHDRepeat(doRepeat);	}#endif	if (doRepeat == FALSE || m_isoPlayList.repeat == REPEAT_TRACKS)	{		if (m_isoPlayList.repeat != REPEAT_OFF && m_isoPlayList.active)		{			m_pnav->DisplayEvent(REPEATCLEARED_EVENT, TRUE, TIMER_EVENT, m_eventText, REPEAT_OFF_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8,					180, 40);		}		m_isoPlayList.repeat = REPEAT_OFF;		RMCopyAscii(m_repeatModeStr, REPEAT_OFF_STR);	}	else if (m_isoPlayList.repeat == REPEAT_OFF)	{		if (m_isoPlayList.filetype == FILETYPE_PICTURE)		{			m_isoPlayList.repeat = REPEAT_TRACKS;			RMCopyAscii(m_repeatModeStr, REPEAT_TRACKS_STR);			m_pnav->DisplayEvent(REPEATTRACKS_EVENT, TRUE, TIMER_EVENT, m_eventText, m_repeatModeStr, DISPLAY_TEXT_ON_EVENT_ARG, 8,					180, 40);		}		else		{			m_isoPlayList.repeat = REPEAT_TRACK;			RMCopyAscii(m_repeatModeStr, REPEAT_TRACK_STR);			m_pnav->DisplayEvent(REPEATTRACK_EVENT, TRUE, TIMER_EVENT, m_eventText, m_repeatModeStr, DISPLAY_TEXT_ON_EVENT_ARG, 8,					180, 40);		}	}	else if (m_isoPlayList.repeat == REPEAT_TRACK)	{		m_isoPlayList.repeat = REPEAT_TRACKS;		m_isoPlayList.playSingle = FALSE;		RMCopyAscii(m_repeatModeStr, REPEAT_TRACKS_STR);		m_pnav->DisplayEvent(REPEATTRACKS_EVENT, TRUE, TIMER_EVENT, m_eventText, m_repeatModeStr, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180,				40);	}	else		return RM_ERROR;	return status;}// circle through all video out settings in the setup menuRMstatus RMcuracaoGui::HandleVideoOut(){	RMstatus status;	RMuint8 next = 0;	RMuint32 nextcmd = 0;	//	RMuint32 id;	RMuint32 videoOut = m_videoOut;	typeVideoOutCommands videoOutCommandList;	// do not change if in the setup.	// this is to be consistent with changing with the	// menu for which a confirmation dialog is shown	if (m_pnav->ActivePageId() == m_pnav->SetupPageId() && !m_pnav->WMVHDOn())		return RM_OK;	if (m_settings.tvStandard == TV_NTSC_COMMAND)

⌨️ 快捷键说明

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