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

📄 osd_draw.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
 }
 
/******************************************************************************
 * Function name	: SetDvdvInfoSubtitleString 
 * Arguments		:  
 *     IN        
 *					 STR_ID  str_id
 *     OUT       
 *     I/O       
 * Return			: VOID
 *			
 * By			: Qian liping
 * Description		: Set Subtitle string according to param.  
 * Revision		: 1.0
 ******************************************************************************
 */  
VOID SetDvdvInfoSubtitleString(  CHAR *string )
{
	DvdvSubtitleInfo_t	subtitle;

	if( GetDvdvSubtitleAttribute( &subtitle ) == FALSE )
	{
		sprintf( (CHAR *)string, gToggle_mode[MENU_LANG][TOGGLE_OFF] );
	} 
	else
	{
		if( subtitle.onoff == TOGGLE_OFF )
		{
			sprintf( (CHAR *)string,gToggle_mode[MENU_LANG][TOGGLE_OFF]);
		} 
		else 
		{
			sprintf( (CHAR *)string, "%d/%d %-s ", subtitle.cur_id+1, 
#ifdef _DVD_NUM_AVAIL_STREAM
					subtitle.avail_num,
#else
					subtitle.total_num,
#endif
				GetLanguageCodeString(subtitle.sp_code_1st,subtitle.sp_code_2nd,NULL));
		}
	}

}

/******************************************************************************
 * Function name	: SetDvdvInfoAngleString 
 * Arguments		:  
 *     IN        
 *					 STR_ID  str_id
 *     OUT       
 *     I/O       
 * Return			: VOID
 *			
 * By			: Qian liping
 * Description		: Set Angle string according to param.  
 * Revision		: 1.0
 ******************************************************************************
 */   
VOID SetDvdvInfoAngleString( CHAR *string )
{
	DvdvAngleInfo_t	angle;

	if( GetDvdvAngleAttribute( &angle ) == FALSE )
	{
		sprintf((CHAR *)string, "****" );
	} 
	else
	{
		sprintf( (CHAR *)string,"%d/%d", angle.cur_num, angle.total_num );
	}
}

/******************************************************************************
 * Function name	: SetDvdvInfoPlayModeIcon 
 * Arguments		:  
 *     IN        
 *					VOID
 *     OUT       
 *     I/O       
 * Return			: VOID
 *			
 * By			: KIM DO YEON
 * Description		: Set PlayMode icon in designate window.   
 * Revision		: 1.0
 ******************************************************************************
 */     
Gfx_imge_et SetDvdvInfoPlayModeIcon(VOID)
{
	Gfx_imge_et mode;
	
	switch( GetDvdvPlayMode())
	{
		case DVD_PB_NORMAL:
			mode = IMG_MODE_NRM;
			break;
			
		case DVD_PB_RANDOM:
			mode = IMG_MODE_RAN;
			break;
			
		case DVD_PB_PROGRAM:
			mode= IMG_MODE_PGM;
			break;
	}
	
	return mode;
	
}

#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE	// cydrain 20060116
/******************************************************************************
* Function name  	: SetDivxInfoAudioString
* Arguments      	:  
*     IN        
*					CHAR *string
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: cydrain
* Description    	: Set Audio string (&coding mode icon) according to param.  
* Revision       	: 1.0 
******************************************************************************
*/  
VOID SetDivxInfoAudioString(CHAR *string)
{
	MediaInfo_t		media;
	CHAR*			pszAudio;

	GetMediaInfoState(&media);

#if _USE_5010 || _USE_5009
	/* Get current audio stream information */
#if _APP_CAP_FUNC_MMP_MPG_TRICK_PLAY //temp to support mpg audio change azureming@060314
	if(iPAR_GetMode() != PAR_MODE_AVI && iPAR_GetMode() != PAR_MODE_ASF)
		media.divx.audio_current_track = gMain_state.media.divx.audio_current_track;
	else
#endif
	media.divx.audio_current_track = iPAR_GetAviAudioCurStreamNo();
	SetMediaInfoState(media);
#endif
	switch(media.divx.audio_codec_type[media.divx.audio_current_track-1])
	{
		case AUDIO_DIVX_WMA:
			pszAudio = (CHAR*)"WMA";
			break;
		case AUDIO_DIVX_ADPCM:	
			pszAudio = (CHAR*)"ADPCM";
			break;
		case AUDIO_DIVX_PCM:	
			pszAudio = (CHAR*)"PCM";
			break;
		case AUDIO_DIVX_MP3:	
			pszAudio = (CHAR*)"MP3";
			break;
		case AUDIO_DIVX_MPA:	
			pszAudio = (CHAR*)"MPA";
			break;
		case AUDIO_DIVX_AC3:	
			pszAudio = (CHAR*)"AC3";
			break;
		case AUDIO_DIVX_DTS:	
			pszAudio = (CHAR*)"DTS";
			break;
		case AUDIO_DIVX_OGG:	
			pszAudio = (CHAR*)"OGG";
			break;
		case AUDIO_VCD_MPEG1: //azureming@060403
			pszAudio = (CHAR*)"MPG";
			break;
		default:
			pszAudio = (CHAR*)"***";
			break;
	}

	sprintf((CHAR *)string, "%s %2d/%2d",
		pszAudio, 
		media.divx.audio_current_track, 
		media.divx.audio_track_number);
}

/******************************************************************************
* Function name  	: SetDivxInfoSubtitleString
* Arguments      	:  
*     IN        
*					CHAR *string
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: cydrain
* Description    	: Set Subtitle string according to param. 
* Revision       	: 1.0 
******************************************************************************
*/ 
#if 0//_APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE		// cydrain 20060814, no use.
extern _VOB_Lang_filepos_st gVobLangFilepos[20];
#endif

VOID SetDivxInfoSubtitleString(CHAR *string)
{
	MediaInfo_t		media;
#if _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE		//(weilf)20060726
	CHAR			country_name[5];
#endif
	GetMediaInfoState(&media);

#if _APP_CAP_MMP_SUPPORT_EXT_SUBTITLE	// cydrain 20060222

#if _APP_CAP_MMP_SUPPORT_MUL_EXT_SUBTITLE	// cydrain 20060418

#if _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE		// cydrain 20060424
	if(media.divx.subtitle_cur_number_vobsub > 0)
	{
		sprintf((CHAR *)string, "%02d/%02d", media.divx.subtitle_cur_number_vobsub, (media.divx.subtitle_number+media.divx.subtitle_number_ext+media.divx.subtitle_number_vobsub));
		//strncpy(country_name, gVobLangFilepos[media.divx.subtitle_cur_number_vobsub-1].Lang, 3);
		strncpy(country_name, gVOBSUB_Ctrl->lang_pos[media.divx.subtitle_cur_number_vobsub-1].lang, 3);	// cydrain 20060714, no use.
		country_name[3] = '\0';
		_FS_upper(country_name);
		strcat(string, " ");
		strcat(string, country_name);
	}
	else if(media.divx.subtitle_cur_number_ext > 0)
		sprintf((CHAR *)string, "%02d/%02d", (media.divx.subtitle_cur_number_ext + media.divx.subtitle_number_vobsub), (media.divx.subtitle_number+media.divx.subtitle_number_ext+media.divx.subtitle_number_vobsub));
	else if(media.divx.subtitle_cur_number > 0)
		sprintf((CHAR *)string, "%02d/%02d", (media.divx.subtitle_cur_number+media.divx.subtitle_number_ext+media.divx.subtitle_number_vobsub), (media.divx.subtitle_number+media.divx.subtitle_number_ext+media.divx.subtitle_number_vobsub));
	else
		sprintf((CHAR *)string, "%s", gToggle_mode[MENU_LANG][0]);
#else /* _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE */
	if (media.divx.subtitle_on == FALSE && media.divx.subtitle_SMI == FALSE)
		sprintf((CHAR *)string, "%s", gToggle_mode[MENU_LANG][0]);
	else if(media.divx.subtitle_SMI == TRUE)
		sprintf((CHAR *)string, "%02d/%02d", media.divx.subtitle_cur_number_ext, (media.divx.subtitle_number+media.divx.subtitle_number_ext));
	else
		sprintf((CHAR *)string, "%02d/%02d", (media.divx.subtitle_cur_number+media.divx.subtitle_number_ext), (media.divx.subtitle_number+media.divx.subtitle_number_ext));
#endif /* _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE */

#else /* _APP_CAP_MMP_SUPPORT_MUL_EXT_SUBTITLE */
	if (media.divx.subtitle_on == FALSE || (media.divx.subtitle_number == 0 && media.divx.subtitle_SMI == FALSE))
		sprintf((CHAR *)string, "%s", gToggle_mode[MENU_LANG][0]);
	else if(media.divx.subtitle_SMI == TRUE)
		sprintf((CHAR *)string, "%02d/%02d", (media.divx.subtitle_cur_number+1), (media.divx.subtitle_number+1));
	else
		sprintf((CHAR *)string, "%02d/%02d", media.divx.subtitle_cur_number, media.divx.subtitle_number);
#endif /* _APP_CAP_MMP_SUPPORT_MUL_EXT_SUBTITLE */

#else
	if (media.divx.subtitle_number == 0 || media.divx.subtitle_on == FALSE)	// cydrain 20051230
		sprintf((CHAR *)string, "%s", gToggle_mode[MENU_LANG][0]);
	else
		sprintf((CHAR *)string, "%02d/%02d", media.divx.subtitle_cur_number, media.divx.subtitle_number);
#endif
}

/******************************************************************************
* Function name  	: SetDivxInfoPlayModeIcon
* Arguments      	:  
*     IN        
*					VOID
*     OUT       
*     I/O       
* Return         	:  Gfx_imge_et
*					
* By             		: cydrain
* Description    	: Set PlayMode icon in designate window.  
* Revision       	: 1.0 
******************************************************************************
*/  
Gfx_imge_et SetDivxInfoPlayModeIcon(VOID)
{
	Gfx_imge_et mode;
	
	switch(GetMmpPlayMode())
	{
		case PARAM_PB_NORMAL:
			mode = IMG_MODE_NRM;
			break;
		case PARAM_PB_RANDOM:
			mode = IMG_MODE_RAN;
			break;
		case PARAM_PB_PROGRAM:
			mode = IMG_MODE_PGM;
			break;
	}

	return mode;
}
#endif

 /******************************************************************************
 * Function name	: SetXvcdInfoRepeatStringNew 
 * Arguments		:  
 *     IN        
 *					char *  string, RepeatSub_et repeat
 *     OUT       
 *     I/O       
 * Return			: VOID
 *			
 * By			: Qian liping 060412
 * Description		: Set repeat string according to param. 
 * Revision		: 1.0
 ******************************************************************************
 */     
VOID SetXvcdInfoRepeatStringNew( char *  string, RepeatSub_et repeat )
{
	switch( repeat )
	{
		case REPEAT_SUB_NONE:
			strcpy((char *)string, (char*)gToggle_mode[MENU_LANG][0]);
			break;

		case REPEAT_SUB_DISC:
			strcpy((char *)string, (char*)gpDisc[MENU_LANG]);
			break;
			
		case REPEAT_SUB_TITLE:
			strcpy((char *)string, (char*)gpTrack[MENU_LANG]);
			break;
			
		case REPEAT_SUB_A:
			strcpy((char *)string, "A-");
			break;
			
		case REPEAT_SUB_B:
			strcpy((char *)string, "A-B");
			break;
			
	}
}

 /******************************************************************************
 * Function name	: SetXvcdInfoPlayModeIcon 
 * Arguments		:  
 *     IN        
 *					VOID
 *     OUT       
 *     I/O       
 * Return			: Gfx_imge_et
 *			
 * By			: Qian liping
 * Description		: Set PlayMode icon in designate window.  
 * Revision		: 1.0
 ******************************************************************************
 */   
#if _APP_CAP_FUNC_SVCD_PROGRAM_MODE
Gfx_imge_et SetXvcdInfoPlayModeIcon(VOID)
{
     Gfx_imge_et mode;
#if _APP_CAP_FUNC_VCD_INTRO_SCAN	
	if(IsCdIntroMode())	
		mode = IMG_MODE_INTRO;
	else
#endif
	switch( GetVcdPlayMode())
	{
		case PARAM_PB_NORMAL:
			mode = IMG_MODE_NRM;
			break;
		case PARAM_PB_RANDOM:
			mode = IMG_MODE_RAN;
			break;
		case PARAM_PB_PROGRAM:
			mode= IMG_MODE_PGM;
			break;
	}
	return mode;
}
#endif

 /******************************************************************************
 * Function name	: SetXvcdInfoAudioIcon 
 * Arguments		:  
 *     IN        
 *					VOID
 *     OUT       
 *     I/O       
 * Return			: Gfx_imge_et
 *			
 * By			: KIM DO YEON
 * Description		: Set Audio icon in desingate.  
 * Revision		: 1.0
 ******************************************************************************
 */    
 Gfx_imge_et SetXvcdInfoAudioIcon(VOID)
 {
	S5H_Lrstereo_et	audio;
	Gfx_imge_et   image_id;
	GetLrstereoState( &audio ); 
	switch( audio )
	{
		case LRSTEREO_STEREO:
			image_id= IMG_AUD_STR;
			break;
		case LRSTEREO_LEFT:
			image_id = IMG_AUD_LT;
			break;
		case LRSTEREO_RIGHT:
			image_id = IMG_AUD_RT;
			break;
			
		case LRSTEREO_AUTO_LT:
			image_id = IMG_KARA_LT;
			break;

		case LRSTEREO_AUTO_RT:
			image_id = IMG_KARA_RT;
			break;
	}
	return image_id;
 }


 /******************************************************************************
 * Function name	: OwTimeInfoDisplay 
 * Arguments		:  
 *     IN        
 *					BOOL partial_draw
 *     OUT       
 *     I/O       
 * Return			: VOID
 *			
 * By				: Chang lina
 * Description		: 	DVD/MMN Video info 3,4 display and time update;
 						VCD info2,3 display and time update
 * Revision			: 	1.0
 ******************************************************************************
 */     
NCHAR gPre_elap_str[MAX_SUPPORT_DYNAMIC_LENGTH]; 
NCHAR gPre_rem_str[MAX_SUPPORT_DYNAMIC_LENGTH];     
VOID OwTimeInfoDisplay( BOOL partial_draw )
{
#if _APP_CAP_FUNC_REMAIN_TIME
	BYTE1				cur_hr, cur_min, cur_sec, 
						rem_hr, rem_min, rem_sec,
						tot_hr, tot_min, tot_sec;
	
	UINT				cur_time, rem_time, total_time,
						ch_start_time, ch_end_time;
	
	PlaybackTime_t		pCur_pb_time, pTotal_pb_time,
						pCh_start_pb_time, pCh_end_pb_time;
	

	NCHAR                        time_info[15],elapsed_time[15],remain_time[15];

⌨️ 快捷键说明

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