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

📄 gui.cpp

📁 sigmadesign smp8623 gui source code ,bingo
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		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)		status = m_pnav->GetVideoOutCommandList(&videoOutCommandList, TV_NTSC_COMMAND);	else if (m_settings.tvStandard == TV_PAL_COMMAND)		status = m_pnav->GetVideoOutCommandList(&videoOutCommandList, TV_PAL_COMMAND);	else	{		printf("CANNOT CHANGE VIDEO OUT -- DONT'T KNOW TV STANDARD\n");		return RM_ERROR;	}	if (RMFAILED(status))	{		return RM_ERROR;	}	do	{		for (RMuint8 i = 0; i < videoOutCommandList.count; i++)		{			if (videoOutCommandList.cmd[i] == videoOut)			{				RMDBGLOG((ENABLE, "Current output is %s\n", videoOutCommandList.cmdtxt[i]));				next = i;				next += 1;				if (next == videoOutCommandList.count)					next = 0;				nextcmd = videoOutCommandList.cmd[next];				RMDBGLOG((ENABLE, "New output is %s\n", videoOutCommandList.cmdtxt[next]));				break;			}		}		if (nextcmd == 0)		{			return RM_ERROR;		}		status = SetTVOut(nextcmd);		videoOut = nextcmd;	} while (RMFAILED(status)); // Don't keep Video Mode that failed	m_pnav->DisplayEvent(VIDEOOUT_EVENT, TRUE, TIMER_EVENT, TRUE, videoOutCommandList.cmdtxt[next], DISPLAY_TEXT_ON_EVENT_ARG, 8, 240,			40);	return RM_OK;}RMstatus RMcuracaoGui::HandleWelcome(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	KillTimer(TIMER_WAIT_ANIMATION, FALSE);	//printf("activate\n");	status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), POWER_EVENT, &cmdInfo);	if (RMSUCCEEDED(status))	{		CommandHandler(&cmdInfo);	}	return RM_OK;}RMstatus RMcuracaoGui::HandleHelp(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	KillTimer(TIMER_WAIT_ANIMATION, FALSE);	//printf("activate\n");	status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), HELP_EVENT, &cmdInfo);	if (RMSUCCEEDED(status))	{		CommandHandler(&cmdInfo);	}	return RM_OK;}// going on stand-byRMstatus RMcuracaoGui::HandlePower(){	m_context->needToExit = TRUE;	// kill all timers	KillTimer(TIMER_NONE, TRUE);	RMstatus status = HandleStop();	if (status != RM_OK)	{	}	// make sure there's no popup left open	if (ISPOPUP(m_pnav->SelectedObjectId()))		ShowPopup(m_pnav->SelectedObjectId(), FALSE);	// reload main gui if on wmvhd	if (m_pnav->WMVHDOn())		ReInitialize((RMnonAscii *) GUI_XML);	//	Initialize((RMnonAscii *) GUI_XML);	// reload main page if not current one	if (m_pnav->ActivePageId() != m_pnav->MainPageId())		ShowPage(m_pnav->MainPageId());	return RM_OK;}RMstatus RMcuracaoGui::HandleZoom(){	RMstatus status;	if ((m_playMode == STATE_CLOSE || m_playMode == STATE_STOP) || ISPOPUP(m_pnav->SelectedObjectId()))	{		return RM_ERROR;	}	if (m_isoPlayList.active == TRUE && m_isoPlayList.filetype == FILETYPE_PICTURE)		return RM_ERROR;	status = ZoomVideo();	if (RMSUCCEEDED(status))	{		RMascii txt[10];		if (m_zoomStep == 0)			RMCopyAscii(txt, OFF_STR);		else			sprintf(txt, "%02u", m_zoomStep);		//		m_pnav->DisplayEvent(ZOOM_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG2, 8, 100, 40);	}	return status;}RMstatus RMcuracaoGui::HandleShuffle(RMbool toggle){	if (toggle == FALSE)		m_shuffleOn = FALSE;	else		m_shuffleOn ^= 1;	RMascii txt[10];	if (m_shuffleOn)		RMCopyAscii(txt, ON_STR);	else		RMCopyAscii(txt, OFF_STR);	m_pnav->DisplayEvent(SHUFFLE_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG2, 8, 240, 40);	return RM_OK;}RMstatus RMcuracaoGui::HandleMenu(){	if (m_pnav->WMVHDOn())	{		if (m_playMode != STATE_CLOSE && m_playMode != STATE_STOP)		{			if (m_MediaList.active == TRUE)			{				RMASSERT(m_MediaList.numCurrentItem < m_MediaList.numItems);				if (m_pnav->CanSkipMedia(m_MediaList.id[m_MediaList.numCurrentItem]))				{					// save resume pos					m_MediaResumeInfo.time = m_fileInfo.time;					m_MediaResumeInfo.id = m_MediaList.id[m_MediaList.numCurrentItem];					StopFiles(FALSE);					RestoreOsd(TRUE); // go to main page				}			}		}		return RM_OK;	}	return RM_UNKNOWN_KEY;}RMstatus RMcuracaoGui::HandleTrickMode(RMremoteKey key){	RMstatus status = RM_UNKNOWN_KEY;	if (ISPOPUP(m_pnav->SelectedObjectId()))		return RM_ERROR;	if (m_pnav->WMVHDOn())	{		if (m_MediaList.active == TRUE)		{			RMASSERT(m_MediaList.numCurrentItem < m_MediaList.numItems);			if (m_pnav->CanSkipMedia(m_MediaList.id[m_MediaList.numCurrentItem]) == FALSE)			{				return RM_ERROR;			}		}	}	return status;}// not supported if iso and not WMVHDRMstatus RMcuracaoGui::HandleLanguage(){	RMstatus status = RM_OK;	typeCommandInfo cmdInfo;	status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), SUB_EVENT, &cmdInfo);	if (RMFAILED(status))	{		return status;	}	return CommandHandler(&cmdInfo);}RMstatus RMcuracaoGui::HandlePBC(){	return RM_UNKNOWN_KEY;}RMstatus RMcuracaoGui::HandleTimerTimeout(RMguiTimerType timer){	RMstatus status = RM_OK;	if (!m_initialized)	{		RMDBGLOG((GUIDBG, "GUI not initialized !!\n"));		return RM_ERROR;	}	if(timer != TIMER_LOAD_ANIMATION)		KillTimer(timer);	switch (timer)	{	case TIMER_SLIDESHOW:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(SLIDESHOW)\n"));		status = PlayNextFile();		break;	case TIMER_PICTUREERRORMESSAGE:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(PICTUREERRORMESSAGE)\n"));		ShowPopup(m_pnav->SelectedObjectId(), FALSE);		status = PlayNextFile();		break;	case TIMER_MEDIA:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(MEDIA)\n"));		m_pnav->ResetDisplay(FALSE);		status = PlayNextMediaFile();		break;	case TIMER_SLIDER:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(SLIDER)\n"));		//		if(m_pnav->SelectedObjectId() == PROGRESS_CONTROL)		m_infoOn = 0;		status = m_pnav->RemoveSlider(m_pnav->SelectedObjectId());		RestoreNonTimedEvent();		break;	case TIMER_EVENT:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(EVENT)\n"));		if (!m_isoPlayList.active || m_isoPlayList.filetype != FILETYPE_PICTURE)			status = m_pnav->RemoveEventBitmap(GENERIC_EVENT);		RestoreNonTimedEvent();		break;	case TIMER_ERRORMESSAGE:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(ERRORMESSAGE)\n"));		status = ShowPopup(m_pnav->SelectedObjectId(), FALSE);		break;	case TIMER_VIDEOOUTCHANGE:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(VIDEOOUTCHANGE)\n"));		status = RestorePreviousResolution();		break;	case TIMER_SAVESETTINGS:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(SAVESETTINGS)\n"));		status = SavePlayerSettings();		break;	case TIMER_PLAYER_NUMERIC_INPUT:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(PLAYER_NUMERIC_INPUT)\n"));		if (m_bTV)		{			RMint8 _temp = atoi(m_numericInput);			if (_temp == 0 || _temp > m_pnav->m_tvList.nbItems)				break;			printf("_temp: %d\n", _temp);			_temp -= 1;			printf("_temp: %d\n", _temp);			if (_temp < 0)			{				_temp = m_pnav->m_tvList.nbItems + _temp;			}			printf("_temp: %d\n", _temp);			//if(_temp <= m_pnav->m_tvList.nbItems - 2)			{//				m_pnav->m_tvList.badchannel = -1;//				m_bMissingChannel = FALSE;//				m_pnav->m_tvList.starting = TRUE;//				//m_pnav->m_tvList.badchannel = FALSE;//				//m_pnav->m_tvList.firstvisible = _temp;				//m_pnav->m_tvList.current = _temp;//				//		m_pnav->m_tvList.firstvisible = _temp + 1;//				//m_userSkipped = TRUE;//				m_pnav->m_tvList.up = TRUE;//				//m_pnav->m_tvList.starting = TRUE;				//			StopAVFile();				//m_context->changeChannel = TRUE;				//HandleNext();			}			//PlayNextFile(TRUE);		}		ResetNumericInput(); //SendNumericInput();		break;	case TIMER_REMOVEPOPUP:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(REMOVEPOPUP)\n"));		status = m_pnav->RemoveTimedPopup();		break;	case TIMER_GENERIC:		RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(GENERIC)\n"));		status = RM_OK;		break;	case TIMER_WAIT_ANIMATION:		//	RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(TIMER_WAIT_ANIMATION)\n"));		status = m_pnav->StartAnimation(TIMER_WAIT_ANIMATION);		break;	case TIMER_LOAD_ANIMATION:	{		loader = 1;		RMbool showPage = FALSE;		if ((!m_bTV && ((m_playMode == STATE_STOP) || (m_playMode == STATE_CLOSE))))			showPage = TRUE;		status = m_pnav->StartAnimation(TIMER_LOAD_ANIMATION, showPage);	}		break;	default:		status = RM_ERROR;		break;	}	return status;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////RMstatus RMcuracaoGui::CommandHandler(typeCommandInfo *command){	RMstatus status = RM_OK;	RMuint32 objectId;	RMuint16 channel;	//	printf("Command handler: %ld\n", command->id);	switch (command->id)	{	case LOAD_TV_LIST:		channel = m_pnav->m_tvList.current;		m_bTV = TRUE;		if(m_pnav->m_tvList.items)		{			m_pnav->FreeTVList();		}		m_pnav->ReadTVList();		 m_pnav->m_tvList.current = channel;		m_pnav->m_tvList.starting = TRUE;		PlayFiles(m_pnav->m_tvList.items[m_pnav->m_tvList.current].url, m_pnav->m_tvList.current);		break;	case SHOW_LIST_COMMAND:		if (command->validLink == FALSE)			return RM_ERROR;		ShowList(command->linkId, TRUE);		break;	case SHOW_LIST_COMMAND_SHORTCUT:		if (command->validLink == FALSE)			return RM_ERROR;		ShowListShortcut(command->linkId, command->nValue);		break;	case VERIFY_COMMAND:		if (command->validLink == FALSE)			return RM_ERROR;		ShowPage(command->linkId);		break;	case SHOW_LIST_COMMAND_RESET:		if (command->validLink == FALSE)		{			if(command->value)			{				printf("language to set: %d\n", atoi(command->value));				m_pnav->SetLang(atoi(command->value));			}			return HandleReturn();		}		ShowList(command->linkId, FALSE);		break;	case SET_LANGUAGE_COMMAND:		printf("language to set: %d\n", atoi(command->value));		m_pnav->SetLang(atoi(command->value));		break;	case SHOW_PAGE_COMMAND:		if (command->validLink == FALSE)			return RM_ERROR;		ShowPage(command->linkId);		break;	case SHOW_AUDIO_PAGE_COMMAND:		if (command->validLink == FALSE)			return RM_ERROR;		// mark filter		m_pnav->InitIsoReading(NULL, FALSE, FILETYPE_AUDIO);		ShowPage(command->linkId);		break;	case SHOW_VIDEO_PAGE_COMMAND:		if (command->validLink == FALSE)			return RM_ERROR;		// mark filter		m_pnav->InitIsoReading(NULL, FALSE, FILETYPE_VIDEO);		ShowPage(command->linkId);		break;	case SHOW_PICTURES_PAGE_COMMAND:		if (command->validLink == FALSE)			return RM_ERROR;		// mark filter		m_pnav->Init

⌨️ 快捷键说明

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