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

📄 gui.cpp.svn-base

📁 sigmadesign smp8623 gui source code ,bingo
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
#ifdef GUI_REFID_2			m_pnav->UpdateMenuState("DiscResumeMenuItem", TRUE, FALSE);#endif		}		m_settings.validBookmark = (m_settings.bookmarkCRC != 0);		// if the player resolution was downsized to play the DVD restore previous resolution		if (m_previousComponentOut != m_videoOut && m_previousComponentOut != 0)		{			SetTVOut(m_previousComponentOut);			m_previousComponentOut = 0;		}		break;	case CURACAO_MESSAGE_PLAYBACK_STARTED:	{		RMuint32 discId = *((RMuint32*) val);		if (m_settings.validBookmark && discId == m_settings.bookmarkCRC)		{			*((RMuint32 *) val) = (RMuint32) - 1; // resume, don't do firstplay			if (m_context->player)			{				status = m_context->player->ResumeBookmark((RMuint8 *) (((RMuint32) m_settings.bookmark + 3) & 0xFFFFFFFC));				if (RMSUCCEEDED(status))					m_pnav->DisplayEvent(RESUME_EVENT, TRUE, TIMER_EVENT, m_eventText, RESUME_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180,							40);				m_settings.validBookmark = FALSE;			}			else			{				// resume as soon as media player is up				m_resumeDvd = TRUE;			}		}		break;	}	case CURACAO_MESSAGE_DVD_MENU_STATE:	{		RMuint8 menuOn = m_menuOn;		m_menuOn = *((RMbool*) val);		if (m_menuOn && m_menuOn != menuOn)		{			if (m_zoomOn)			{				RMDBGLOG((GUIDBG, "ZOOMING OFF\n"));				ZoomVideo(FALSE);			}		}		break;	}	case CURACAO_MESSAGE_AUDIOSTREAM_CHANGE:	{		RMuint32 stream = *((RMuint32*) val);		if (m_pnav->WMVHDOn())		{			RMMemset(txt, 0, sizeof(txt));			if (RMFAILED(m_context->player->GetAudioStreamID(stream, txt)))				sprintf(txt, "%ld", stream);			m_pnav->SetMediaAudioStream(m_MediaList.id[m_MediaList.numCurrentItem], stream);			m_pnav->DisplayEvent(AUDIOCHANGE_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG3, 8, 130, 40);		}		else		{			sprintf(txt, "%ld", stream);			m_pnav->DisplayEvent(AUDIOCHANGE_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG3, 8, 130, 40);		}		break;	}	case CURACAO_MESSAGE_SUBTITLESTREAM_CHANGE:	{		RMuint32 stream = *((RMuint32*) val);		if (stream == 0)			RMCopyAscii(txt, OFF_STR);		else			sprintf(txt, "%ld", stream);		m_pnav->DisplayEvent(SUBTITLECHANGE_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG2, 8, 90, 40);		break;	}	case CURACAO_MESSAGE_ISO_READ:		// clear playlist, iso list was reset		ClearIsoPlayList();		break;	case CURACAO_MESSAGE_POPUP_DISMISSED:		PopupDismissedNotification(*((RMuint32*) val));		break;	case CURACAO_MESSAGE_VIDEOOUT_AUTO_CHANGE:	{#ifdef GUI_REFID_3		ApplyVideoOutChange();#else		//		m_pnav->DisplayEvent(GENERIC_EVENT, TRUE, TIMER_EVENT, TRUE, DVIHDMI_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);		RMbool useSaved = (val != NULL && *(RMbool *) (val));		if (!useSaved)		{			ApplyVideoOutChange();		}		else		{			// if auto detect fails (hence useSaved), can't fallback to auto detect again			if (m_videoOut != SET_HDMI_AUTO_ON_COMMAND)			{				SetTVOut(m_videoOut);			}			else			{				SetTVOut(SET_TV_NTSC_CSVIDEO_COMMAND);			}		}#endif		break;	}	default:		//		printf("message not implemented yet\n");		break;	}	return RM_OK;}///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////RMstatus RMcuracaoGui::HandlePlay(){	RMstatus status = RM_UNKNOWN_KEY;	// if on Setup...	if (m_pnav->ActivePageId() == m_pnav->SetupPageId() && m_pnav->SetupPageId() != 0)		HandleSetup();	if (ISPOPUP(m_pnav->SelectedObjectId()))		return RM_ERROR;#ifdef WITH_WMVHD_SUPPORT	if (IsWMVHD())	{		if (!m_pnav->WMVHDOn())		{			//		m_pnav->DisplayEvent(WAIT_EVENT, TRUE, TIMER_EVENT, m_eventText, WAIT_STR, DISPLAY_TEXT_ON_EVENT_ARG3, 8, 180, 40);			status = m_pnav->CheckWMVHDRequirements(m_settings.dvdRegion);			if (RMFAILED(status))			{				m_wmvHDRegionError = TRUE;				return RM_OK;			}			// requirements checked out, release current			// navigation and continue with WMVHD init			status = InitializeWMVHD();			if (RMFAILED(status))			{				ReInitialize((RMnonAscii *) GUI_XML);				ShowPage(m_pnav->MediaLibraryPageId());			}			else			{			}			return RM_OK;		}		else			return RM_UNKNOWN_KEY;	}#endif	if (m_isoPlayList.active == FALSE)	{		//		if(m_playMode == STATE_STOP || m_playMode == STATE_CLOSE){		//			status = PlayFiles(NULL, 0);		//		}	}	else	{		if (m_playMode == STATE_PAUSE)		{			if (m_isoPlayList.filetype == FILETYPE_PICTURE)			{				status = SetTimer(TIMER_SLIDESHOW);				if (RMSUCCEEDED(status))				{					m_playMode = STATE_PLAY;					//					m_pnav->DisplayEvent(PLAY_EVENT, TRUE, TIMER_NONE, m_eventText, PLAY_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);					SetfipPlayMode();				}			}		}	}	return status;}RMstatus RMcuracaoGui::HandlePause(){	RMstatus status = RM_UNKNOWN_KEY;	if (ISPOPUP(m_pnav->SelectedObjectId()))		return RM_ERROR;	if (m_isoPlayList.active == TRUE)	{		if (m_playMode == STATE_PLAY)		{			if (m_isoPlayList.filetype == FILETYPE_PICTURE)			{				KillTimer(TIMER_SLIDESHOW);				m_playMode = STATE_PAUSE;				//			m_pnav->DisplayEvent(PAUSE_EVENT, TRUE, TIMER_NONE, m_eventText, PAUSE_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);				SetfipPlayMode();			}		}	}	return status;}RMstatus RMcuracaoGui::HandleStop(){	if (!m_bTV)	{		if (m_isoPlayList.active == TRUE)		{			/*		if(m_playMode == STATE_CLOSE) {			 m_pnav->DisplayEvent(WAIT_EVENT, TRUE, TIMER_EVENT, m_eventText, WAIT_STR, DISPLAY_TEXT_ON_EVENT_ARG3, 8, 180, 40);			 return RM_OK;			 } else			 */			if (m_playMode != STATE_STOP)			{				return StopFiles(TRUE);			}		}		else if (m_pnav->WMVHDOn())		{			if (m_playMode != STATE_CLOSE && m_playMode != STATE_STOP)				return StopFiles(TRUE);		}	}	else	{		if (m_playMode != STATE_STOP)		{			m_bTV = FALSE;			return StopFiles(TRUE);		}	}	return RM_OK;}RMstatus RMcuracaoGui::HandleNext(){	RMstatus status = RM_UNKNOWN_KEY;	//	typeCommandInfo cmdInfo;	//	//	if(ISPOPUP(m_pnav->SelectedObjectId()))	//		return RM_ERROR;	//	//	if(m_pnav->WMVHDOn()){	//		if(m_MediaList.active == TRUE){	//			if(m_pnav->CanSkipMedia(m_MediaList.id[m_MediaList.numCurrentItem])){	////				m_pnav->DisplayEvent(NEXT_EVENT, TRUE, TIMER_EVENT, m_eventText, NEXT_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);	//				return PlayNextMediaFile(TRUE);	//			}	//			else if(!m_pnav->IsPictureMedia(m_MediaList.id[m_MediaList.numCurrentItem]))	//				m_pnav->DisplayEvent(INVALIDOP_EVENT, TRUE, TIMER_EVENT, m_eventText, INVALIDOP_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);	//		}	//	}	//	//	if(m_isoPlayList.active == TRUE){	//		if(m_playMode != STATE_STOP){	//			if(m_isoPlayList.filetype == FILETYPE_PICTURE){	//				return PlayNextFile(TRUE);	//			}	//			else	//			{	//				RMuint32 hasChapters;	//				m_context->player->GetInfo(CURACAO_MESSAGE_FILE_HAS_CHAPTERS, (void*)(&hasChapters));	//				if(hasChapters){	//					return RM_UNKNOWN_KEY;	// pass next to file player	//				}	//				else{	//					m_isoPlayList.previous = FALSE;	//					if(m_isoPlayList.repeat == REPEAT_TRACK)	//						HandleRepeat(FALSE);	//					m_userSkipped = TRUE;	//					StopAVFile();	//				}	//			}	//		}	//		return RM_OK;	//	}	//	//	// see if current page handles next event otherwise pass it to selected object	////	status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), NEXT_EVENT, &cmdInfo);	//	if(RMFAILED(status)){	//		status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), NEXT_EVENT, &cmdInfo);	//		if(RMFAILED(status))	//			return RM_ERROR;	//	}	//	return CommandHandler(&cmdInfo);	if (m_bTV)	{		m_userSkipped = TRUE;		m_pnav->m_tvList.up = TRUE;		StopAVFile();		//		PlayNextFile(TRUE);		return RM_OK;	}	return status;}RMstatus RMcuracaoGui::HandlePrevious(){	RMstatus status = RM_UNKNOWN_KEY;	//	typeCommandInfo cmdInfo;	//	//	if(ISPOPUP(m_pnav->SelectedObjectId()))	//		return RM_ERROR;	//	//	if(m_pnav->WMVHDOn()){	//		if(m_MediaList.active == TRUE){	//			if(m_pnav->CanSkipMedia(m_MediaList.id[m_MediaList.numCurrentItem])){	////				m_pnav->DisplayEvent(PREVIOUS_EVENT, TRUE, TIMER_EVENT, m_eventText, PREVIOUS_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);	//				return PlayPreviousMediaFile();	//			}	//			else if(!m_pnav->IsPictureMedia(m_MediaList.id[m_MediaList.numCurrentItem]))	//				m_pnav->DisplayEvent(INVALIDOP_EVENT, TRUE, TIMER_EVENT, m_eventText, INVALIDOP_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40);	//		}	//	}	//	//	if(m_isoPlayList.active == TRUE){	//		if(m_playMode != STATE_STOP){	//			if(m_isoPlayList.filetype == FILETYPE_PICTURE){	//				return PlayPreviousFile(TRUE);	//			}	//			else	//			{	//				RMuint32 hasChapters;	//				m_context->player->GetInfo(CURACAO_MESSAGE_FILE_HAS_CHAPTERS, (void*)(&hasChapters));	//				if(hasChapters){	//					return RM_UNKNOWN_KEY;	// pass previous to file player	//				}	//				else{	//					m_isoPlayList.previous = TRUE;	//					if(m_isoPlayList.repeat == REPEAT_TRACK)	//						HandleRepeat(FALSE);	//					m_userSkipped = TRUE;	//					StopAVFile();	//				}	//			}	//		}	//		return RM_OK;	//	}	//	//	// see if current page handles previous event otherwise pass it to selected object	////	status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), PREVIOUS_EVENT, &cmdInfo);	//	if(RMFAILED(status)){	//		status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), PREVIOUS_EVENT, &cmdInfo);	//		if(RMFAILED(status))	//			return RM_ERROR;	//	}	//	//	return CommandHandler(&cmdInfo);	if (m_bTV)	{		m_userSkipped = TRUE;		m_pnav->m_tvList.up = FALSE;		StopAVFile();		//		PlayNextFile(TRUE);		return RM_OK;	}	return status;}RMstatus RMcuracaoGui::HandleEject(RMbool displayEvent){	return RM_OK;}RMstatus RMcuracaoGui::HandleSetup(){	RMstatus status = RM_ERROR;	typeCommandInfo cmdInfo;	if (ISPOPUP(m_pnav->SelectedObjectId()))	{		if (m_pnav->PopupSelectedObjectId() != 0)		{			status = m_pnav->GetCommandInfo(m_pnav->PopupSelectedObjectId(), SETUP_EVENT, &cmdInfo);			if (RMSUCCEEDED(status))				return CommandHandler(&cmdInfo);		}		status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), SETUP_EVENT, &cmdInfo);		if (RMSUCCEEDED(status))			return CommandHandler(&cmdInfo);	}	if (m_playMode == STATE_STOP || m_playMode == STATE_CLOSE)	{		// if inside setup and a popup is active, just dismiss popup		if (ISPOPUP(m_pnav->SelectedObjectId()) && (m_pnav->ActivePageId() == m_pnav->SetupPageId() && m_pnav->SetupPageId() != 0))			return ShowPopup(m_pnav->SelectedObjectId(), FALSE);#ifndef GUI_REFID_2		// if setup going down and an iso disc is in, reset iso and load medialibrary page		if (m_pnav->WMVHDOn() == FALSE)		{			if (m_pnav->ActivePageId() == m_pnav->SetupPageId() && m_pnav->SetupPageId() != 0)				if (m_pnav->MediaLibraryPageId())				{					m_pnav->ResetIsoReading();					return ShowPage(m_pnav->MediaLibraryPageId());				}		}#endif		status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), SETUP_EVENT, &cmdInfo);		if (RMSUCCEEDED(status))		{			CommandHandler(&cmdInfo);		}	}	else	{		if (m_isoPlayList.active == TRUE && m_isoPlayList.filetype == FILETYPE_PICTURE)			return RM_ERROR;		if (m_pnav->SelectedObjectId() != m_pnav->BCSSliderId())		{			m_pnav->SetBCSSliderId(BRIGHTNESS_CONTROL);			status = m_pnav->DisplaySlider(m_pnav->BCSSliderId(), m_settings.brightness);		}		else		{			switch (m_pnav->BCSSliderId())			{			case BRIGHTNESS_CONTROL:				m_pnav->SetBCSSliderId(CONTRAST_CONTROL);				status = m_pnav->DisplaySlider(m_pnav->BCSSliderId(), m_settings.contrast);				break;			case CONTRAST_CONTROL:				m_pnav->SetBCSSliderId(SATURATION_CONTROL);				status = m_pnav->DisplaySlider(m_pnav->BCSSliderId(), m_settings.saturation);				break;			case SATURATION_CONTROL:				m_pnav->SetBCSSliderId(BRIGHTNESS_CONTROL);				status = m_pnav->DisplaySlider(m_pnav->BCSSliderId(), m_settings.brightness);				break;			default:				status = RM_ERROR;			}		}	}	return status;}RMstatus RMcuracaoGui::HandleSelection(RMremoteKey key){	RMstatus status = RM_ERROR;	RMuint32 objectId;	RMGuiObjectSelectDirection direction;	switch (key)	{	case RM_HW_UP:		direction = SELECT_UP;		//		if(subs.data)		//		{		//			subs.vPos -= 5;		//			if(subs.vPos <= 5 )		//				subs.vPos  = 5;		//		}		break;	case RM_HW_DOWN:		direction = SELECT_DOWN;		//		if(subs.data)		//		{		//			subs.vPos += 5;		//			if(subs.vPos >= 100 )		//				subs.vPos  = 100;		//		}		break;	case RM_HW_LEFT:		direction = SELECT_LEFT;		break;	case RM_HW_RIGHT:		direction = SELECT_RIGHT;		break;	default:		// selection not done through hardware		return RM_UNKNOWN_KEY;	}	printf("handle select\n");	if (IsTv())	{		status = m_pnav->GetNextObjectId(m_pnav->SelectedObjectId(), direction, &objectId);	}	if (m_pnav->SelectedObjectId() != 0)	{		status = m_pnav->GetNextObjectId(m_pnav->SelectedObjectId(), direction, &objectId);		if (RMSUCCEEDED(status))			status = m_pnav->SelectObject(objectId);	}	else	{		if (m_zoomOn == TRUE)			return PanVideo(direction);		if (m_pnav->OsdOn() == FALSE)			return RM_UNKNOWN_KEY;	}

⌨️ 快捷键说明

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