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

📄 mmp_show.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
******************************************************************************
*/
VOID MmpShowUpdateFileInfo(BYTE2 file_num, BYTE2 file_total)
{
	OsdCtrl_st ctrl;

	ctrl.p.sub.value1 = file_num; //azureming@060405
	ctrl.p.sub.value2 = file_total;
	OSD_ChangeExplore(OSD_CTRL_UPDATE_FILE_NUM, &ctrl, SYS_WAIT);
	SetVfdPlaybackInfo(2,file_num,0);	
}

/******************************************************************************
* Function name  : MmpShowExploreSetPlayOSD
* Arguments      :  
*     IN        BOOL on_off
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID MmpShowExploreSetPlayOSD(BOOL on_off)
{
#if 0 // Qian liping 060920: spec 686
#if (_CUSTOM_ID_ != _CUSTOM_ID_FUNAI_)	
	OsdCtrl_st ctrl;
	
	ctrl.p.toggle = on_off;
	OSD_ChangeExplore(OSD_CTRL_SET_PLAY_OSD, &ctrl, SYS_WAIT);
#endif /* (_CUSTOM_ID_ != _CUSTOM_ID_FUNAI_) */		
#endif 
}

/******************************************************************************
* Function name  : MmpShowSetRepeatAbOsd
* Arguments      :  
*     IN        BOOL on_off
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID MmpShowSetRepeatAbOsd(BOOL on_off)
{
#if 1//(_CUSTOM_ID_ != _CUSTOM_ID_FUNAI_)	// cydrain 20060904
	OsdCtrl_st ctrl;
	
	ctrl.p.toggle = on_off;
	OSD_ChangeExplore(OSD_CTRL_SET_RPT_AB_OSD, &ctrl, SYS_WAIT);
#endif /* (_CUSTOM_ID_ != _CUSTOM_ID_FUNAI_) */	
}

/******************************************************************************
* Function name  	: MmpShowIconDoOff
* Arguments      	:  
*     IN        BOOL on_off
*			
*     OUT       
*     I/O       
* Return         		:  
*				VOID
* By             		: QQ
* Description   	:  
* Revision       		: QQ 050728
******************************************************************************
*/
VOID MmpShowIconDoOff(BOOL flag)
{
	if(flag)
		OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT);//gaoping 20060419
}

VOID MmpShowStartBigOsd (BigOsd_et big_osd_type)
{
#if _APP_CAP_OSD_USE_SETUP_LOGO	
	OSD_LogoOn(LOGO_SETUP, TRUE);
#endif /* _APP_CAP_OSD_USE_SETUP_LOGO */

	// Qian liping 060407
	//OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);

	switch (big_osd_type)
	{
		case BIG_OSD_SETUP:
			OSD_SetMainDisplay(DISPLAY_SETUP, SYS_WAIT);
			break;
		case BIG_OSD_PROGRAM:
			OSD_SetMainDisplay(DISPLAY_PROGRAM, SYS_WAIT);
			break;
		case BIG_OSD_FAT_SELECT:
			OSD_SetMainDisplay(DISPLAY_FAT_DEVICE, SYS_WAIT);
			break;
		default:
			ASSERT(0);
			break;
	}	
	
}

#if _APP_CAP_FUNC_DIVX_DRM
VOID MmpShowDrmRentalConfirm (BYTE1 view_left, BYTE1 view_total)
{
	SetDivxDrmInfoRental (view_left, view_total); //azureming@060421
	OSD_SetMainDisplay(DISPLAY_RENTAL_CONFIRMATION_MSG, SYS_NO_WAIT);		//(weilf)20060422
}

VOID MmpShowDrmRentalExpired (void)
{
	OSD_SetMainDisplay(DISPLAY_RENTAL_EXPIRED_MSG, SYS_NO_WAIT);		//(weilf)20060422
}

VOID MmpShowDrmAuthorizationError (void)
{
	OSD_SetMainDisplay(DISPLAY_AUTHORIZATION_MSG, SYS_NO_WAIT);		//(weilf)20060422
}
#endif // _APP_CAP_FUNC_DIVX_DRM

#if _APP_CAP_OSD_FLATTEN_EXPLORER
/******************************************************************************
 * Function name  : MmpShowDrawFolderPage
 * Arguments      :  
 *     IN        
 *			BYTE2 folder_page_num
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowDrawFolderPage(BYTE2 folder_page_num)
{	
#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060406
	BOOL up_arrow, dn_arrow;
#endif
	OsdCtrl_st ctrl;
	
#if MMP_SET_PRINT_INFO	
	SysPrintf("\n[MMP] Send OSD Message for Folder Page Draw");
#endif	
	ctrl.p.value = folder_page_num;
	OSD_ChangeExplore(OSD_CTRL_DRAW_FOLDER_PAGE, &ctrl, SYS_WAIT);

#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060406
	up_arrow = dn_arrow = FALSE;
	
	if(folder_page_num > 0)
		up_arrow = TRUE;
	if((folder_page_num*MMP_CTRL_PAGE_UNIT_SIZE+MMP_CTRL_PAGE_UNIT_SIZE) < GetMmpTotalFolders())
		dn_arrow = TRUE;


	ctrl.p.arrow.up = up_arrow;
	ctrl.p.arrow.dn = dn_arrow;
	OSD_ChangeExplore(OSD_CTRL_SET_ARROW, &ctrl, SYS_WAIT);
#endif
}	

/******************************************************************************
 * Function name  : MmpShowDrawFilePage
 * Arguments      :  
 *     IN        
 *			BYTE2 file_page_num
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowDrawFilePage(BYTE2 file_page_num)
{
#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060406
	BOOL up_arrow, dn_arrow;
#endif
	OsdCtrl_st ctrl;
	
#if MMP_SET_PRINT_INFO		
	SysPrintf("\n[MMP] Send OSD Message for File Page Draw");
#endif	
	//gaoping 20060407
	if (GetMmpFilePage() != file_page_num || ( gpstMmp_ctrl->estSel.ewFolder_idx_tmp!= MMP_NO_SELECTION))
	{
		SetMmpFilePage(file_page_num);	
	ctrl.p.value = file_page_num;
	OSD_ChangeExplore( OSD_CTRL_DRAW_FILE_PAGE, &ctrl, SYS_WAIT );
	}

#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060406
	up_arrow = dn_arrow = FALSE;	
	
	if(file_page_num > 0)
		up_arrow = TRUE;
	if((file_page_num*MMP_CTRL_PAGE_UNIT_SIZE+MMP_CTRL_PAGE_UNIT_SIZE) < GetMmpTotalFiles())
		dn_arrow = TRUE;

	ctrl.p.arrow.up = up_arrow;
	ctrl.p.arrow.dn = dn_arrow;
	OSD_ChangeExplore(OSD_CTRL_SET_ARROW, &ctrl, SYS_WAIT);
#endif
}		

#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060406
/******************************************************************************
* Function name  : MmpShowUpdateArrow
* Arguments      :  
*     IN       VOID
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID MmpShowUpdateArrow(VOID)
{
	BOOL up_arrow, dn_arrow;
	BYTE2 page_num, total;
	OsdCtrl_st ctrl;
	OSD_State_st *osd_state;

	up_arrow	= dn_arrow = FALSE;
	osd_state = OSD_GetState();

	if(osd_state->etExp_state.etCtrl_focus == EXPLORER_SUB_TYPE_SELECT)
	{
		ctrl.p.arrow.up = FALSE;
		ctrl.p.arrow.dn = FALSE;
	} else 	{	
		if(osd_state->etExp_state.etCtrl_focus == EXPLORER_SUB_FOLDER)
		{
			page_num = GetMmpFolderPage();
			total = GetMmpTotalFolders();
		}	
		else
		{
			page_num = GetMmpFilePage();
			total = GetMmpTotalFiles();
		}	

		if(page_num > 0)
			up_arrow = TRUE;
		if((page_num*MMP_CTRL_PAGE_UNIT_SIZE+MMP_CTRL_PAGE_UNIT_SIZE) < total)
			dn_arrow = TRUE;

		ctrl.p.arrow.up = up_arrow;
		ctrl.p.arrow.dn = dn_arrow;
	}

	OSD_ChangeExplore(OSD_CTRL_SET_ARROW, &ctrl, SYS_WAIT);
}	
#endif

/******************************************************************************
 * Function name  	: MmpShowNoticeStringRepeatKeep 
 * Arguments      	:  
 *     IN        
 *				
 *     OUT       
 *     I/O       
 * Return         	:  
 *					VOID
 * By             		: QQ
 * Description    	:  
 * Revision       	:  050822
 ******************************************************************************
 */
BOOL MmpShowNoticeStringRepeatKeep(VOID)
{
	BOOL 	flag = FALSE;
	
#if (_CUSTOM_ID_ != _CUSTOM_ID_FUNAI_)
	switch(GetMmpRepeatMode(TRUE))		// cydrain 20060410
	{	
 		case REPEAT_SUB_A:
			SetMmpNoticeString((char *) gRepeatA_string[MENU_LANG]);
			SetMmpNoticeType(MMP_NOTICE_REPEAT_A);
			flag = TRUE;
			break;
						
		case REPEAT_SUB_B:
			SetMmpNoticeString((char *) gRepeatAB_string[MENU_LANG]);
			SetMmpNoticeType(MMP_NOTICE_REPEAT_AB);
			flag = TRUE;
			break;
	}
#endif /* (_CUSTOM_ID_ != _CUSTOM_ID_FUNAI_) */

	return flag;

}


/******************************************************************************
 * Function name  : MmpShowUpdateFileSel
 * Arguments      :  
 *     IN        
 *			BYTE2 new_file_index
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowUpdateFileSel(BYTE2 new_file_index)
{
	BYTE2 old_index;
	BYTE2 open_folder, play_folder;
	OsdCtrl_st ctrl;

	if(GetMmpFileType() == MMP_IMAGE_FILE)
		return;

	open_folder = GetMmpFolderOpen();
	play_folder = GetMmpFolderPlay();

	if((gpstMmp_ctrl->epstBg_play->epEntry_list != NULL) && (open_folder == play_folder))
		old_index = gpstMmp_ctrl->epstBg_play->estSel.ewFile_idx;
	else
		old_index = gpstMmp_ctrl->estSel.ewFile_idx;		

	ctrl.p.sub.value1 = old_index;
	ctrl.p.sub.value2 = new_file_index;	
	OSD_ChangeExplore(OSD_CTRL_UPDATE_FILE_SEL, &ctrl,SYS_WAIT);
}

/******************************************************************************
 * Function name  : MmpShowUpdatePlayInfo 
 * Arguments      :  
 *     IN        
 *			MmpReqMode_et req_mode 
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID MmpShowUpdatePlayInfo(MmpReqMode_et req_mode )
{
	BYTE2 sel_file, sel_folder;	
	//gaoping 051110AM
	BYTE2 total_file;
	BYTE2 total_folder;
	if(req_mode == MMP_REQ_AUDIO 
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
	|| req_mode == MMP_REQ_VIDEO
#endif
	)
	{
		if(gpstMmp_ctrl->epstBg_play->epEntry_list != NULL)
		{
			sel_file = gpstMmp_ctrl->epstBg_play->estSel.ewFile_idx + 1; //azureming@060405
			sel_folder = gpstMmp_ctrl->epstBg_play->estSel.ewFolder_idx + 1; //azureming@060405
			total_file=gpstMmp_ctrl->epstBg_play->estSel.ewTotal_files;
		}
		else
		{
			sel_file  = 0;//MMP_NO_SELECTION;	// cydrain 20060404
			sel_folder=gpstMmp_ctrl->estSel.ewFolder_idx + 1; //azureming@060405
			total_file=gpstMmp_ctrl->estSel.ewTotal_files;
		}	
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
		if (req_mode == MMP_REQ_VIDEO)
		{
			total_folder  = gpstMmp_ctrl->estTotal_folders.video;
		}	
		else
#endif/* _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE */
		{
			total_folder  = gpstMmp_ctrl->estTotal_folders.audio;
		}	

		MmpShowUpdateFileInfo(sel_file, total_file);	
		MmpShowUpdateFolderInfo(sel_folder, total_folder);		
	
	}
	else if(req_mode == MMP_REQ_IMG)
	{
		sel_file = gpstMmp_ctrl->estSel.ewFile_idx;
		sel_folder = gpstMmp_ctrl->estSel.ewFolder_idx;
		
		MmpShowUpdateFileInfo(sel_file + 1, gpstMmp_ctrl->estSel.ewTotal_files); //azureming@060405	
		MmpShowUpdateFolderInfo(sel_folder + 1, gpstMmp_ctrl->estTotal_folders.image); //azureming@060405		
	}	

}	

/******************************************************************************
* Function name  : MmpShowExplore
* Arguments      :  
*     IN       VOID
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID MmpShowExplore(VOID)
{
	BYTE2  cur_file_index; //cur_folder_index, total_folder, total_file;
	BYTE2  cur_page, cursor_file, open_folder, folder_cursor, cur_folder_page;
	MmpDspSync_et disp_sync = GetMmpDispSync();
	MmpFileType_et page_type;
	OSD_State_st *osd_state = OSD_GetState();	// cydrain 20060406		
	
	/* Reset Zoom */
	SetZoomDefault();
	
	//OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);//clear cursor plane // Qian liping 060410

	OSD_SetMainDisplay(DISPLAY_EXPLORER, SYS_WAIT);

	cursor_file = GetMmpFileCursor();
	open_folder = GetMmpFolderOpen(); 
	page_type = GetMmpFileType(); 
//gaoping 20060407	
#if 1	// cydrain 20060406	
	if(IsBgPlay())
	{
		cur_file_index = GetMmpBgPlay() ; //azureming@060405	
		
	}
	else
	{
#if MMP_SUPPORT_JPG_RESUME_STOP//gaoping 20060410
		if (GetMmpStopMode()==MMP_RESUME_STOP)
			cur_file_index = GetMmpBgPlay();
		else
#endif

		cur_file_index = cursor_file ; //azureming@060405//gaoping 20060410
		
	}
#endif

	cur_page = GetMmpFilePage();
	cur_folder_page = GetMmpFolderPage();
	
	MmpShowDrawFolderPage(cur_folder_page);

	if (MmpGetCurFileName(NULL,MMP_NO_SELECTION))
		MmpShowDrawFilePage(cur_page);

	/* Show for selection */
	//if( (cur_folder_page*MMP_CTRL_PAGE_UNIT_SIZE <= open_folder)
		//&& (open_folder < (cur_folder_page+1)*MMP_CTRL_PAGE_UNIT_SIZE))//gaoping 20060410

⌨️ 快捷键说明

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