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

📄 osd_draw_explore.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************
* Function name	: OwDisplayPathInfo 
* Arguments		:  
*     IN  			    BYTE2 folder_index, BYTE2 file_index
*			
*     OUT       
*     I/O       
* Return			:  VOID
*					
* By				: Kim Do Yeon
* Description		:  Display the the selected file info
* Revision		:  1.0
******************************************************************************
*/
VOID OwDisplayPathInfo(BYTE2 folder_index, BYTE2 file_index)
{
	CHAR temp[MMP_PATH_FOLDER_LENGTH + MMP_PATH_FILE_LENGTH  + 1];
	CHAR file_str[MMP_PATH_FILE_LENGTH +1];	

	if((folder_index == MMP_NO_SELECTION) && (file_index == MMP_NO_SELECTION))		
		temp[0] = '\0';
	else
	{
		BYTE2 str_length, str_width;

		if(folder_index == MMP_NO_SELECTION)
			strcpy(temp, "");
		else
			MmpGetCurFolderName(temp, folder_index);

		/* clear on attaching '\0' to end path string */
		if(file_index != MMP_NO_SELECTION)
		{
			MmpGetCurFileName(file_str, file_index);
			strcat(temp, file_str);
		}	

		/* Remained OSD string */	
	#if (!_APP_CAP_OSD_CHINESE_FOLDER_FILENAME)
		SH_GfxGetStrSize((CHAR*)temp, &str_width, NULL);
		str_length= strlen(temp); /* str_size =  how many characters */
		while(str_width >= (620-200-67-2)) // Qian liping 060410
		{			
			temp[--str_length] = '\0';
			SH_GfxGetStrSize((CHAR*)temp, &str_width, NULL);
		}		
	#else	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
		SH_GfxSetStrWidthLimitSubtitle(temp, (620-200-67-2));
	#endif	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME

	}	

	SH_GfxDrawRec(SH_CANV1, 200+67, 50, 620-200-67-2, 40, COLOR_TRANS_BLUE);// Qian liping 060410
#if (!_APP_CAP_OSD_CHINESE_FOLDER_FILENAME)
	SH_GfxDrawStr(SH_CANV1, temp, 200+67, 56, OSD_COLOR_FONT_HIGHLIGHT);
#else	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
	SH_GfxDrawSubtitle(SH_CANV1, temp, 200+67, 56, OSD_COLOR_FONT_HIGHLIGHT);
#endif	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME	
}

#if _APP_CAP_FUNC_REMAIN_TIME

/******************************************************************************
 * Function name	: OwUpdateExploreTimeInfo
 * Arguments		:  
 *     IN        
 *			
 *     OUT       VOID
 *     I/O       
 * Return			:  VOID
 *			
 * By			: Kim Do Yeon
 * Description		: Update the time informtion 
 * Revision		: 1.0
 ******************************************************************************
 */
VOID OwUpdateExploreTimeInfo(VOID)
{
	CHAR time_info_str[20], time_remain_str[20];

	if(GetDisplayMainState() != DISPLAY_EXPLORER)
		return;

	if(gOSD_state.etExp_state.etInfo1 != EXPLORER_MODE_INFO1HIDE)
	{
		MmpGetCurTimeStr(time_info_str, time_remain_str);
#if _APP_CAP_FUNC_AUD_TIME_SEARCH	/* (gaoping , 060413) */
		if(gOSD_state.etInfo_sub== INFO1_MMN_SUB_TIME)
			GetTimeString(&(gMain_state.value), time_info_str);
#endif

		SH_GfxDrawRec(SH_CANV1, 407+35, 8, 103, 30, COLOR_TRANS_BLUE);
		//gaoping 20060406	
		if(gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1NORMAL ||gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1SEARCH)
		{
#if _APP_CAP_FUNC_AUD_TIME_SEARCH	/* (gaoping , 060413) */
			if(gOSD_state.etInfo_sub== INFO1_MMN_SUB_TIME)
				SH_GfxDrawStr(SH_CANV1, time_info_str, 407+35, 8, OSD_COLOR_FONT_HIGHLIGHT);
			else
#endif
				/* Time Info */
				SH_GfxDrawStr(SH_CANV1, time_info_str, 407+35, 8, NULL);
		}
		else
		{			
			/* Time Info */
			SH_GfxDrawRec(SH_CANV1, 217+35, 8, 155, 30, COLOR_TRANS_BLUE);
			SH_GfxDrawStr(SH_CANV1, time_info_str, 217+35, 8, NULL);				

			/* Remain time Info */
			SH_GfxDrawStr(SH_CANV1, time_remain_str, 407+35, 8, NULL);		
		}
	}
}

#else /*  _APP_CAP_FUNC_REMAIN_TIME */

/******************************************************************************
 * Function name  : OwUpdateExploreTimeInfo
 * Arguments      :  
 *     IN        UINT cur_time, UINT total_time
 *			
 *     OUT       
 *     I/O       VOID
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID OwUpdateExploreTimeInfo(VOID)
{
	CHAR time_info_str[20];

	/* <<< @: 5008CHN-XXX.Lu Shuai 050714 : Don't update time when MMP_INFO1_NONE*/
#if _APP_CAP_OSD_MMP_INFO1_BLANK
	if (gOSD_state.etExp_state.etInfo1 != EXPLORER_MODE_INFO1HIDE)
#endif
	{
		MmpGetCurTimeStr(time_info_str, NULL);	
		
		/* Time Info */
		SH_GfxDrawRec(SH_CANV1, 407+35, 8, 103, 30, COLOR_TRANS_BLUE);
		SH_GfxDrawStr(SH_CANV1, time_info_str, 407+35, 8, NULL);
	}
}

#endif /*  _APP_CAP_FUNC_REMAIN_TIME */

/******************************************************************************
 * Function name  : OwSetDigitFormat 
 * Arguments      :  
 *     IN       BYTE2 value, BYTE2 total, CHAR *str
 *			
 *     OUT       
 *     I/O       
 * Return         :  STATIC VOID
 *		
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
STATIC VOID OwSetDigitFormat(BYTE2 value, BYTE2 total, CHAR *str)
{
	if((value != MMP_NO_SELECTION) && (value > MMP_MAX_INPUT_NUM))
	{
		value = 0;		
	}	
		
	if(value == MMP_NO_SELECTION)
	{
		if(total/1000)		// 4 digit
			sprintf(str,"---- /%d", total);
		else if(total/100)		// 3 digit
			sprintf(str,"--- /%d", total);
		else if(total/10)		// 2 digit
			sprintf(str,"-- /%d", total);
		else					// 1 digit
			sprintf(str,"- /%d", total);
	}	
	else
	{
		sprintf(str,"%3d /%3d", value, total);
	}
	
}	

/******************************************************************************
 * Function name  : OwUpdateExpFolderInfo 
 * Arguments      :  
 *     IN        BYTE2 value, BYTE2 total
 *			
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID OwUpdateExpFolderInfo(BYTE2 value, BYTE2 total)
{
	CHAR info_str[20];
	
	// cydrain 20060415
	if (gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1REMAIN || gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1HIDE)
		return;

	OwSetDigitFormat( value,  total, info_str);
	SH_GfxDrawRec(	SH_CANV1, 57+35, 8, 125, 30, COLOR_TRANS_BLUE);

#if 1	// cydrain 20060907	
	if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH
		&& gOSD_state.etInfo_sub == INFO1_MMN_SUB_FOLDER)
		SH_GfxDrawStr(	SH_CANV1, info_str, 57+35, 8,OSD_COLOR_FONT_HIGHLIGHT );
	else
		SH_GfxDrawStr(	SH_CANV1, info_str, 57+35, 8, NULL);
#else
	//gaoping 20060406
	if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1NORMAL)
		SH_GfxDrawStr(	SH_CANV1, info_str, 57+35, 8, NULL);
	else if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH)
		SH_GfxDrawStr(	SH_CANV1, info_str, 57+35, 8, OSD_COLOR_FONT_HIGHLIGHT);
#endif
}

/******************************************************************************
 * Function name  : OwUpdateExpFileInfo 
 * Arguments      :  
 *     IN        BYTE2 value, BYTE2 total
 *			
 *     OUT       
 *     I/O       
 * Return         :  
 *			VOID
 * By             : Kim Do Yeon
 * Description    :  
 * Revision       :  
 ******************************************************************************
 */
VOID OwUpdateExpFileInfo(BYTE2 value, BYTE2 total)
{
	CHAR info_str[20];

	// cydrain 20060415
	if (gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1REMAIN || gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1HIDE)
		return;
	
	OwSetDigitFormat( value,  total, info_str);
	SH_GfxDrawRec(	SH_CANV1, 217+35, 8, 155, 30, COLOR_TRANS_BLUE);

#if 1	// cydrain 20060907	
	if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH
		&& gOSD_state.etInfo_sub == INFO1_MMN_SUB_FILE)
		SH_GfxDrawStr(	SH_CANV1, info_str, 217+35, 8,OSD_COLOR_FONT_HIGHLIGHT );
	else
		SH_GfxDrawStr(	SH_CANV1, info_str, 217+35, 8, NULL);
#else	
	//gaoping 20060406
	if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1NORMAL)
		SH_GfxDrawStr(	SH_CANV1, info_str, 217+35, 8, NULL);
	else if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH)
		SH_GfxDrawStr(	SH_CANV1, info_str, 217+35, 8,OSD_COLOR_FONT_HIGHLIGHT );
#endif
}

/******************************************************************************
* Function name  : OwMmpSetModeIcon
* Arguments      :  
*     IN        
*					VOID
*     OUT       
*     I/O       
* Return         :  
*					VOID
* By             : Liu renliang
* Description    :  set the mode icon in explore info1 window
* Revision       :  
******************************************************************************
*/
VOID OwMmpSetModeIcon(VOID)
{
	BYTE1			mode, mode_icon;
	
	mode =GetMmpPbMode();

	switch(mode)
	{
		case PARAM_PB_PROGRAM:
			mode_icon = IMG_MODE_PGM;
			break;
			
		case PARAM_PB_RANDOM:
			mode_icon = IMG_MODE_RAN;
			break;

		case PARAM_PB_INTRO:			
			mode_icon = IMG_MODE_INTRO;
			break;
			
		case PARAM_PB_NORMAL:
		default:
			mode_icon = IMG_MODE_NRM;
			break;			
	}

	if(gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1HIDE)
		return;

	SH_GfxDrawImage(SH_CANV1, mode_icon, 580, 8);
	
}

#if _APP_CAP_FUNC_AUDIO_LR_IN_MMP

/******************************************************************************
* Function name	: OwMmpAudioInfoSel
* Arguments		:  
*     IN        
*					BYTE1 mode_pos
*     OUT       
*     I/O       
* Return			:  
*					VOID
* By				: Kim Do Yeon
* Description		:  update the mode selection
* Revision		:  1.0
******************************************************************************
*/
VOID OwMmpAudioInfoSel(S5H_Lrstereo_et audio_pos)
{
	CHAR			dis_str[MAX_SUPPORT_DYNAMIC_LENGTH];	

	switch(audio_pos)
	{
		case LRSTEREO_STEREO:
			strcpy((char *)dis_str,	gpStereo[MENU_LANG]);	
			break;

		case LRSTEREO_LEFT:
			strcpy((char *)dis_str,	gpLeft[MENU_LANG]);				
			break;

		case LRSTEREO_RIGHT:
			strcpy((char *)dis_str,	gpRight[MENU_LANG]);				
			break;
#if _APP_CAP_AUD_KARAOKE
		case LRSTEREO_AUTO_LT:
			sprintf((char *)dis_str ,"%s  %s", gpAuto[MENU_LANG],gpLeft[MENU_LANG]);
			break;
			
		case LRSTEREO_AUTO_RT:
			sprintf((char *)dis_str ,"%s  %s", gpAuto[MENU_LANG],gpRight[MENU_LANG]);
			break;
#endif
	}	

	SH_GfxDrawRec(SH_CANV1, 8+35, 50, 260, 40, COLOR_TRANS_BLUE);
	SH_GfxDrawStr(SH_CANV1, dis_str, 8+35, 56, NULL);

	SH_GfxChgAreaColor(SH_CANV1, 303 , 56, 256, 30, COLOR_BROWN, COLOR_BLUE_NORM);	
	SH_GfxChgAreaColor(SH_CANV1, 303 + 50*audio_pos, 56, 30, 30, 
		COLOR_BLUE_NORM, COLOR_BROWN);
	
	gOSD_state.etLrstereo_pos = audio_pos;
	
}	

/******************************************************************************
 * Function name	: OwMmpDrawAudioInfo 
 * Arguments		:  
 *     IN        VOID
 *			
 *     OUT       
 *     I/O       
 * Return			:  VOID
 *			
 * By			: Kim Do Yeon
 * Description		:  
 * Revision		:  Draw the explore audio banner Qian liping 060413
 ******************************************************************************
 */
VOID OwMmpDrawAudioInfo(VOID)
{
	S5H_Lrstereo_et	audio_ch;
#if _APP_CAP_AUD_KARAOKE
	SetupKaraoke_t karaoke;
	SetupInfoGetMenuKaraoke(&karaoke);
#endif
	GetLrstereoState(&audio_ch);	

	SH_GfxDrawRec(SH_CANV1, 2, 50, 616, 40, COLOR_TRANS_BLUE);	
	
	SH_GfxDrawImage(SH_CANV1, IMG_INFO_AUDIO, 8, 56);
	SH_GfxDrawImage(SH_CANV1, IMG_AUD_STR, 303, 56);
	SH_GfxDrawImage(SH_CANV1, IMG_AUD_LT, 303 + 50, 56);
	SH_GfxDrawImage(SH_CANV1, IMG_AUD_RT, 303 + 50*2, 56);

#if _APP_CAP_AUD_KARAOKE
	if( karaoke.mic_setup == TOGGLE_ON && (!SH_AUD_IsOutput6ch()))
	{
		SH_GfxDrawImage(SH_CANV1, IMG_KARA_LT, 303 + 50*3, 56);
		SH_GfxDrawImage(SH_CANV1, IMG_KARA_RT, 303 + 50*4, 56);
	}
#endif 
	OwMmpAudioInfoSel(audio_ch);	
}

#endif /* _APP_CAP_FUNC_AUDIO_LR_IN_MMP */

#if _APP_CAP_FUNC_RANDOM_PLAY	
/******************************************************************************
* Function name	: OwMmpModeInfoSel
* Arguments		:  
*     IN        
*					BYTE1 mode_pos
*     OUT       
*     I/O       
* Return			:  
*					VOID
* By				: Kim Do Yeon
* Description		:  update the mode selection
* Revision		:  1.0
******************************************************************************
*/
VOID OwMmpModeInfoSel(BYTE1 mode_pos)
{
	CHAR	dis_str[MAX_SUPPORT_DYNAMIC_LENGTH];

	switch (mode_pos)
	{	
		case PARAM_PB_RANDOM:
			strcpy((char *)dis_str,	gpRandom[MENU_LANG]);
			break;
			
		case PARAM_PB_PROGRAM:
			strcpy((char *)dis_str,	gpProgram[MENU_LANG]);
			break;
			
		default:
			strcpy((char *)dis_str,	gpNormal[MENU_LANG]);
			break;
	}/* switch */

	SH_GfxDrawRec(SH_CANV1, 8+35, 50, 260, 40, COLOR_TRANS_BLUE);
	SH_GfxDrawStr(SH_CANV1, dis_str, 8+35, 56, NULL);	

	SH_GfxChgAreaColor(SH_CANV1, 303 , 56, 156, 30, 
		COLOR_BROWN, COLOR_BLUE_NORM);		
	SH_GfxChgAreaColor(SH_CANV1, 303 + 50*mode_pos, 56, 30, 30, 
		COLOR_BLUE_NORM, COLOR_BROWN);

	gOSD_state.ecPlaymode_pos = mode_pos;	
	
}

⌨️ 快捷键说明

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