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

📄 gui.cpp.svn-base

📁 sigmadesign smp8623 gui source code ,bingo
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
		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;}// 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;	}	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;			_temp -= 2;			if (_temp < 0)			{				_temp = m_pnav->m_tvList.nbItems + _temp;			}			printf("temp is %d\n", _temp);			//if(_temp <= m_pnav->m_tvList.nbItems - 2)			{				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;				//			StopAVFile();				m_context->changeChannel = TRUE;			}			//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();		break;	default:		status = RM_ERROR;		break;	}	return status;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////RMstatus RMcuracaoGui::CommandHandler(typeCommandInfo *command){	RMstatus status = RM_OK;	RMuint32 objectId;#ifdef GUI_REFID_2	RMuint32 cmdId;#endif	//	printf("Command handler: %ld\n", command->id);	switch (command->id)	{#ifdef GUI_REFID_2	case SHOW_BITMAP_IN_GROUP:	{		MDShowBitmapInGroup* pMD = static_cast<MDShowBitmapInGroup*>(command->pMetaData);		m_pnav->handleShowPictureCommand(pMD->m_szBitmapName, pMD->m_szGroupName);	}	break;	case SET_LANGUAGE:	HandleSetLanguage(command);	if(m_settings.quickSetupStatus> 0)	{		m_settings.quickSetupStatus--;	}	break;	case SET_VIDEO_OUTPUT:	//		printf("SET_VIDEO_OUTPUT: %s, linkId: %ld\n", command->value, command->linkId);	if(command->validLink == FALSE)	return RM_ERROR;	cmdId = 0;	if(RMCompareAscii(command->value, "VIDEO_COMPOSITE"))	cmdId = (m_settings.tvStandard == TV_NTSC_COMMAND ? SET_NTSCSD_MODE_COMMAND : SET_PALSD_MODE_COMMAND);	else if(RMCompareAscii(command->value, "VIDEO_HDMI"))	cmdId = (m_settings.tvStandard == TV_NTSC_COMMAND ? SET_HDMI59_MODE_COMMAND : SET_HDMI50_MODE_COMMAND);	else if(RMCompareAscii(command->value, "VIDEO_SCART"))	cmdId = (m_settings.tvStandard == TV_NTSC_COMMAND ? SET_NTSCSCARTRGB_MODE_COMMAND : SET_PALSCARTRGB_MODE_COMMAND);	else if(RMCompareAscii(command->value, "VIDEO_COMPONENT"))	cmdId = (m_settings.tvStandard == TV_NTSC_COMMAND ? SET_HDCOMPONENT60_MODE_COMMAND : SET_HDCOMPONENT50_MODE_COMMAND);	if(cmdId != 0)	{		RMuint32 videoOutput = GetActiveVideoOutput(m_settings.activeVideoOutput);#ifdef GUI_REFID_3		ShowResolutionChangeMessage();#endif		m_videoOut = GetActiveVideoOutput(cmdId, TRUE);		m_videoConnector = m_settings.activeVideoOutput;		if(RMSUCCEEDED(SetTVOut(m_videoOut)))		{			m_settings.activeVideoOutput = cmdId;			m_pnav->SetMenuItemText(m_settings.activeVideoOutput);			if(videoOutput != cmdId)			{				if(RMSUCCEEDED(m_pnav->GetObjectIdByName("ConfirmResolutionChangePopup", &objectId)))				{					ConfirmResolutionChange(objectId, videoOutput, 0);					//check if the resolution changed to continue otherwise stay here					if(videoOutput == m_videoOut)					break;				}			}		}	}	if(m_settings.quickSetupStatus> 0)	{		ShowPage(command->linkId);		m_settings.quickSetupStatus--;	}	break;	case SET_DISPLAY_FORMAT:	//		printf("SET_DISPLAY_FORMAT: %s, linkId: %ld\n", command->value, command->linkId);	if(command->validLink == FALSE)	return RM_ERROR;	cmdId = 0;	if(RMCompareAscii(command->value, "TV_4_3"))	{		cmdId = TV_4_3LETTERBOX_COMMAND;	}	else if(RMCompareAscii(command->value, "TV_16_9"))	{		cmdId = TV_16_9_COMMAND;	}	if(cmdId != 0)	{		if(RMSUCCEEDED(SetTVType(cmdId)))		{			m_settings.tvType = cmdId;			m_pnav->SetMenuItemText(cmdId);		}	}	if(m_settings.quickSetupStatus> 0)	{		ShowPage(command->linkId);		m_settings.quickSetupStatus--;	}	break;	case SET_AUDIO_SETUP:	//		printf("SET_AUDIO_SETUP: %s, linkId: %ld\n", command->value, command->linkId);	if(command->validLink == FALSE)	return RM_ERROR;	cmdId = 0;	if(RMCompareAscii(command->value, "AUDIO_STEREO"))	cmdId = SET_ANALOG_DPCM_COMMAND;	else if(RMCompareAscii(command->value, "AUDIO_SURROUND"))	cmdId = SET_ENCODED_DIGITAL_COMMAND;	if(cmdId!= 0)	{		if(RMSUCCEEDED(SetAudioOut(cmdId)))		{			m_settings.audioOut = cmdId;			m_pnav->SetMenuItemText(m_settings.audioOut);		}	}	if(command->linkId & POPUP_IDMASK)	{		ShowPage(m_pnav->MainPageId());		return m_pnav->ShowMessage(command->linkId, TIMER_NONE);	}	if(m_settings.quickSetupStatus> 0)	{		ShowPage(command->linkId);		m_settings.quickSetupStatus--;	}	break;	case STOP_QUICK_SETUP:	if(m_settings.quickSetupStatus> 0)	{		m_settings.quickSetupStatus = 0;	}	SavePlayerSettings();	// do not set mode to IDLE if there's a disc in the tray	SetPlayerMode(m_isDiscDetected ? PLAYER_MODE_DISC : PLAYER_MODE_IDLE);	ShowPage(m_pnav->MainPageId());	break;	case START_QUICK_SETUP:	// save current quick setup params	m_quickSetupParams.activeVideoOutput = m_settings.activeVideoOutput;	m_quickSetupParams.audioOut = m_settings.audioOut;	m_quickSetupParams.tvType = m_settings.tvType;	m_quickSetupParams.videoOutput = GetActiveVideoOutput(m_settings.activeVideoOutput);	m_quickSetupParams.menuLanguage = m_settings.menuLanguage;	//		printf("setting quick setup language to %d\n", m_settings.menuLanguage);	m_settings.quickSetupStatus = NUMBER_OF_QUICK_SETUP_PAGES;	SetPlayerMode(PLAYER_MODE_QUICK_SETUP);	ShowPage(m_pnav->QuickSetupPageId());	break;	case RESET_PLAYER_DEFAULTS:	SetDefaultPlayerSettings();	ShowPopup("DefaultSuccess");	break;	case APPLY_NETWORK_CONFIG:	status = m_pnav->VerifyNetworkConfig("NetworkSettingsPopup", &m_settings);	if(RMFAILED(status)) ShowPopup("NetworkConfigFail");	else	{		ApplyNetworkConfig();		ShowPopup("NetworkConfigSuccess");	}	break;	case DISABLE_DHCP:	case ENABLE_DHCP:	if(m_pnav->SelectedObjectId() & POPUP_IDMASK)	ShowPopup(m_pnav->SelectedObjectId(), FALSE);	m_pnav->SetMenuItemText(command->id);	if(debug)printf("Net. config before: 0x0%lx\n", m_settings.networkConfig);	SetDHCP(command->id);	if(debug)printf("Net. config after: 0x0%lx\n", m_settings.networkConfig);	break;	case SHOW_PAGE_COMMAND:	if(command->validLink == FALSE)	return RM_ERROR;	ShowPage(command->linkId);	break;	case SHOW_HELP_MESSAGE:	if(command->validLink == FALSE)	return RM_ERROR;	if(m_pnav->SelectedObjectId() & POPUP_IDMASK)	m_popupOnHold = m_pnav->SelectedObjectId();	else fprintf(stderr, "No popup is active, hold value not changed\n");	m_pnav->ShowMessage(command->linkId, TIMER_NONE);	break;	case RESUME_MESSAGE:	status = ShowPopup(m_pnav->SelectedObjectId(), FALSE);	if(m_popupOnHold != 0)	m_pnav->ShowMessage(m_popupOnHold, TIMER_NONE);	else fprintf(stderr, "No hold value found... :(\n");	break;	case SET_SCREENSAVER_TIMOUT:	RMasciiToUInt32(command->value, &m_screenSaverSpeed);	m_settings.screenSaverDelay = m_screenSaverSpeed;	m_pnav->SetMenuItemTextByValue(SET_SCREENSAVER_TIMOUT, m_screenSaverSpeed);	if((m_screenSaverSpeed <= 0) || (m_screenSaverSpeed> 10000)) m_screenSaverSpeed = 0;	fprintf(stderr, "Screen Saver timeout updated to %ld seconds\n", m_screenSaverSpeed);	status = ShowPopup(m_pnav->SelectedObjectId(), FALSE);	break;	case TRIGGER_ADVANCED_FEATURE:	status = m_pnav->VerifyAdvancedFeature("AdvancedFeaturesPopup");	if(RMFAILED(status))	{		if(m_pnav->SelectedObjectId() & POPUP_IDMASK)		m_popupOnHold = m_pnav->SelectedObjectId();		ShowPopup("AdvancedFeatureFailPopup");	}//else ShowPopup("AdvancedFeatureSuccedPopup");	break;	case SET_AUDIO_DOWNMIX_COMMAND:	case SET_AUDIO_FIVE_ONE_COMMAND:	m_settings.audioMixMo

⌨️ 快捷键说明

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