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

📄 osd_draw_explore.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
	/* Highlight the selected item */
	index = album_select%MMP_ALBUM_PAGE_UNIT_SIZE;
	x = 20  + 190*(index%3);
	//y = 182 + 165*(index/3);
	y = 174 + 165*(index/3);	// cydrain 20061017

	SH_GfxChgAreaColor(SH_CANV1,  x,  y, 160, 30, COLOR_DARK_BLUE, OSD_COLOR_HIGHLIGHT);
} 

/******************************************************************************
* Function name	: OwSetUpDnArrow
* Arguments	:  
*     IN        
*				BOOL up_arrow, BOOL dn_arrow
*     OUT       
*     I/O       
* Return		:	VOID
*				
* By			:	KIM DO YEON
* Description	:  
* Revision	:       
******************************************************************************
*/
VOID OwSetUpDnArrow(BOOL up_arrow, BOOL dn_arrow)
{		
	if(up_arrow)		
		SH_GfxChgAreaColor(SH_CANV1,586, 104, 24, 24,  COLOR_GRAY_NORM, COLOR_RED);						
	else
		SH_GfxChgAreaColor(SH_CANV1,586, 104, 24, 24,  COLOR_RED, COLOR_GRAY_NORM);		

	
	if(dn_arrow)
		SH_GfxChgAreaColor(SH_CANV1,586, 355, 24, 24,  COLOR_GRAY_NORM, COLOR_RED);						
	else
		SH_GfxChgAreaColor(SH_CANV1,586, 355, 24, 24,  COLOR_RED, COLOR_GRAY_NORM);	
}	

/******************************************************************************
* Function name  : OwDrawFolderPage 
* Arguments      :  
*     IN        BYTE2 folder_page
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID OwDrawFolderPage(BYTE2 folder_page)
{
	CHAR			str_tmp[MMP_NAME_LENGTH+MMP_DIGIT_NUM+3], *tmp_str;
	BYTE2			folder_start_index, folder_end_index, folder_index, end_index;
	BYTE2 			str_length, str_size;

	SysPrintf("\n[MMP] Folder Page Draw");

	/* Get the end folder indexe */
	folder_end_index = GetMmpTotalFolders() -1;

	/* in case of wrong one */
	if(folder_page > (folder_end_index+1)/MMP_CTRL_PAGE_UNIT_SIZE )
		folder_page = 0;
	
	/* Get the start folder indexe */
	folder_start_index = folder_page*MMP_CTRL_PAGE_UNIT_SIZE;
	
	/* Get the folder names in the current folder page */
	tmp_str = MmpGetFolderPage(folder_page);	

	if( (folder_end_index-folder_start_index) > (MMP_CTRL_PAGE_UNIT_SIZE-1))
		end_index = MMP_CTRL_PAGE_UNIT_SIZE -1;
	else
		end_index = folder_end_index-folder_start_index;

	/* Clear the remains in the page  */	
	SH_GfxDrawRec(SH_CANV1, 2, 98, 181, 287, COLOR_TRANS_BLUE);
	
	/* Fill the folder names in the folder page */
	for(folder_index = 0; folder_index <= end_index; folder_index++)
	{	
		ASSERT(folder_index <  MMP_CTRL_PAGE_UNIT_SIZE);

		/* Make a string for file name in file page */
		sprintf(str_tmp," %d. ", (folder_start_index+folder_index +1));		
		strcat(str_tmp, &(tmp_str[((folder_start_index+folder_index)%MMP_CTRL_PAGE_UNIT_SIZE)*(MMP_NAME_LENGTH+1)]));
		
	#if (!_APP_CAP_OSD_CHINESE_FOLDER_FILENAME)
		OwSetVisibleString((UCHAR *)str_tmp);	

		/* Set for dawing a folder name string */
		str_size = strlen((CHAR*)str_tmp);
		SH_GfxGetStrSize((CHAR*)str_tmp, &str_length, NULL);
		
		while(str_length > (183-43))
		{			
			str_tmp[--str_size] = '\0';
			SH_GfxGetStrSize((CHAR*)str_tmp, &str_length, NULL);
		}

		SH_GfxDrawImage(SH_CANV1, IMG_EXP_FOLDER, 8, 108 + 34*folder_index);			
		SH_GfxDrawStr(SH_CANV1, str_tmp, 8+35, 105+34*folder_index, NULL);		
	#else	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
		SH_GfxSetStrWidthLimitSubtitle(str_tmp, (183-43));
		
		SH_GfxDrawImage(SH_CANV1, IMG_EXP_FOLDER, 8, 108 + 34*folder_index);			
		SH_GfxDrawSubtitle(SH_CANV1, str_tmp, 8+35, 105+34*folder_index, NULL);
	#endif	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
	}/* for, file_index */
	
}

/******************************************************************************
* Function name  : OwUpdateFileSel 
* Arguments      :  
*     IN        BYTE2 old_index, BYTE2 new_index
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/  
VOID OwUpdateFileSel(BYTE2 old_index, BYTE2 new_index)
{	
	BYTE2 file_total;

	file_total = GetMmpTotalFiles();

	/* Unhighlihgt */
	SH_GfxChgAreaColor(SH_CANV1, 234, 98, 198, 287, OSD_MMP_COLOR_EXP_SELECTED, OSD_COLOR_FONT_DEFAULT);		
		
	/* Set for new one */
	if(new_index < file_total)
	{
		SH_GfxChgAreaColor(SH_CANV1,199+35, 105+34*(new_index % MMP_CTRL_PAGE_UNIT_SIZE), 198, 30,
			OSD_COLOR_FONT_DEFAULT, OSD_MMP_COLOR_EXP_SELECTED);			
	}		
}

/******************************************************************************
* Function name  : OwUpdateFolderSel 
* Arguments      :  
*     IN       BYTE2 old_index, BYTE2 new_index, BYTE2 folder_cursor
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID OwUpdateFolderSel(BYTE2 old_index, BYTE2 new_index)
{
	BYTE2			folder_total;
	MmpFileType_et	page_type;
	
	folder_total = GetMmpTotalFolders();
	page_type = GetMmpFileType();
	
	/* Unhighlihgt */
	SH_GfxChgAreaColor(SH_CANV1, 43, 98, 136, 287, OSD_MMP_COLOR_EXP_SELECTED, OSD_COLOR_FONT_DEFAULT);
	
	if(new_index < folder_total)
	{
		SH_GfxDrawImage(SH_CANV1, 
							IMG_EXP_FOLDER_OPEN, 
							8, 
							108+34*(new_index % MMP_CTRL_PAGE_UNIT_SIZE));	
		
		SH_GfxChgAreaColor(SH_CANV1,  
							8+35, 
							105+34*(new_index % MMP_CTRL_PAGE_UNIT_SIZE), 
							138, 
							30,
							OSD_COLOR_FONT_DEFAULT, 
							OSD_MMP_COLOR_EXP_SELECTED);		
	}
}

/******************************************************************************
* Function name  : OwDrawFilePage 
* Arguments      :  
*     IN        BYTE2 file_page
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/
VOID OwDrawFilePage(BYTE2 file_page)
{
	CHAR			str_tmp[MMP_NAME_LENGTH+MMP_DIGIT_NUM+3], *tmp_str;
	BYTE2			file_start_index, file_end_index, file_index, end_index;
	Gfx_imge_et	file_icon;
	MmpFileType_et	file_type;
	BYTE2 			str_length, str_size;

	/* Get the end file indexe */
	file_end_index = GetMmpTotalFiles() -1;

	/* in case of wrong one */
	if(file_page > (file_end_index+1)/MMP_CTRL_PAGE_UNIT_SIZE )
		file_page = 0;

	/* Get the start file indexe */
	file_start_index = file_page*MMP_CTRL_PAGE_UNIT_SIZE;
	
	/* Get the file names in the current file page */
	tmp_str = MmpGetFilePage(file_page, MMP_CTRL_PAGE_UNIT_SIZE);	

	/* Get the file type */
	file_type = GetMmpFileType();
	file_icon = OwGetIconImage(file_type);


	if( (file_end_index-file_start_index) > (MMP_CTRL_PAGE_UNIT_SIZE-1))
		end_index = MMP_CTRL_PAGE_UNIT_SIZE -1;
	else
		end_index = file_end_index-file_start_index;

	/* Clear the remains in the page  */
	SH_GfxDrawRec(SH_CANV1, 191, 98, 241, 287, COLOR_TRANS_BLUE);	
		
	/* Fill the file names in the file page */
	for(file_index = 0; file_index <= end_index; file_index++)
	{
		ASSERT(file_index <  MMP_CTRL_PAGE_UNIT_SIZE);
		
		/* Make a string for file name in file page */
		sprintf(str_tmp," %d. ", (file_start_index+file_index +1));		
		strcat(str_tmp, &(tmp_str[((file_start_index+file_index)%MMP_CTRL_PAGE_UNIT_SIZE)*(MMP_NAME_LENGTH+1)]));
		
	#if (!_APP_CAP_OSD_CHINESE_FOLDER_FILENAME)
		OwSetVisibleString((UCHAR *)str_tmp);

		/* Set for dawing a file name string */
		str_size = strlen((CHAR*)str_tmp);
		SH_GfxGetStrSize((CHAR*)str_tmp, &str_length, NULL);
		
		while(str_length > (432-234))
		{			
			str_tmp[--str_size] = '\0';
			SH_GfxGetStrSize((CHAR*)str_tmp, &str_length, NULL);
		}	

		SH_GfxDrawImage(SH_CANV1, file_icon, 199, 108+34*file_index);
		SH_GfxDrawStr(SH_CANV1, str_tmp, 199+35, 105+34*file_index, NULL);		
		
	#else	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
		SH_GfxSetStrWidthLimitSubtitle(str_tmp, (432-234));

		SH_GfxDrawImage(SH_CANV1, file_icon, 199, 108+34*file_index);
		SH_GfxDrawSubtitle(SH_CANV1, str_tmp, 199+35, 105+34*file_index, NULL);
	#endif	//_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
	}/* for, file_index */

}	

/******************************************************************************
* Function name  : OwUpdateTypeSelect 
* Arguments      :  
*     IN       BYTE2 old_sel, BYTE2 new_sel
*			
*     OUT       
*     I/O       
* Return         :  
*			VOID
* By             : Kim Do Yeon
* Description    :  
* Revision       :  
******************************************************************************
*/  
VOID OwUpdateTypeSelect(BYTE2 old_sel, BYTE2 new_sel)
{
	MmpFileType_et set_type;

#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
	BYTE2	y = 104;
#else
	BYTE2	y = 138;
#endif
	set_type = GetMmpFileType();

	/* Set for old */
	if(old_sel != MMP_NOT_KNOWN)
	{
		if(old_sel != set_type)
		{
			SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*old_sel, 128,30,OSD_MMP_COLOR_EXP_SELECTED, OSD_COLOR_FONT_DEFAULT);						
			SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*old_sel, 128,30,OSD_COLOR_FONT_HIGHLIGHT, OSD_COLOR_FONT_DEFAULT);		
		}	
		else
		{
			SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*old_sel, 128,30,OSD_COLOR_FONT_DEFAULT, OSD_MMP_COLOR_EXP_SELECTED);						
			SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*old_sel, 128,30,OSD_COLOR_FONT_HIGHLIGHT, OSD_MMP_COLOR_EXP_SELECTED);						
		}	
		
	}

	/* Set for new */
	if(new_sel != MMP_NOT_KNOWN)		
	{
		SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*new_sel, 128,30,OSD_MMP_COLOR_EXP_SELECTED, OSD_COLOR_FONT_HIGHLIGHT);						
		SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*new_sel, 128,30,OSD_COLOR_FONT_DEFAULT, OSD_COLOR_FONT_HIGHLIGHT);	
	}	
	else
	{		
		SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*set_type, 128,30,OSD_COLOR_FONT_HIGHLIGHT, OSD_MMP_COLOR_EXP_SELECTED);						
		SH_GfxChgAreaColor(SH_CANV1,437+35, y+34*set_type, 128,30,OSD_COLOR_FONT_DEFAULT, OSD_MMP_COLOR_EXP_SELECTED);				
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE 
		if( set_type == MMP_IMAGE_FILE)
		{
			SH_GfxDrawRec(SH_CANV1, 432+0, 216+0, 172-0*2, 133-2*0, COLOR_TRANS);
		}
		else 
			SH_GfxDrawRec(SH_CANV1, 432+0, 216+0, 172-0*2, 133-2*0, COLOR_TRANS_BLUE);
#endif
	}	
	
}

 /******************************************************************************
* Function name  : OwMmpDrawExplore
* Arguments      :  
*     IN        
*					VOID
*     OUT       
*     I/O       
* Return         :  
*					VOID
* By             :     Qian liping 060405
* Description    :  to draw and show the explore
 *					before call the function the related interface function in Mmn_global.c has 
 *					be called first to init the audio/image type, file/folder page,open folder
* Revision       :  
******************************************************************************
*/
VOID OwMmpDrawExplore(VOID)
{
	BYTE1			type_color[3];
	BYTE1			index;
	BYTE2			bg_y,bg_x,type_y, h;

	SH_GfxShowCanvas(SH_CANV2, FALSE);
	/*clear subtitle Qian liping 060627 */ 
	if(SH_PAR_GetExSubtitleMode())	
		SH_GfxShowCanvas(SH_CANV3, FALSE);	

	if (GetMmpFileType()!=MMP_VIDEO_FILE  ||((GetMmpStopMode()!=MMP_RESUME_STOP&& GetMmpPlaySpeed()==0) &&(GetDisplayMainState()!=DISPLAY_SETUP&&GetDisplayMainState()!=DISPLAY_PROGRAM)))//gaoping 20060522 problem 341
		SH_MixSetVideoEn( TOGGLE_OFF );
		
	bg_y = 45;
	bg_x = 50;
	
	OwGetOsdCenterPosition( &bg_x,&bg_y, 620, 387 );
	SH_GfxSetCanvas(SH_CANV1, bg_x, bg_y, 620, 387);
	SH_GfxDrawRec(SH_CANV1, 0, 0, 620, 387, COLOR_TRANS_BLUE);
	SH_GfxShowCanvas(SH_CANV1, TRUE);
	
	/* Draw Explore Info1 bar */
#ifdef _APP_CAP_GVG_INFO_KEEP_AFTER_PROGRAM	// cydrain 20061017
	OwMmpDrawInfo1(gOSD_state.etExp_state.etInfo1);
#else
	OwMmpExpInfo1Norm();
#endif

	/* Info2 bar */
	SH_GfxDrawRec(SH_CANV1, 0, 48, 620, 44, COLOR_DARK_BLUE);
	SH_GfxDrawRec(SH_CANV1, 2, 50, 616, 40, COLOR_TRANS_BLUE);

	/* Folder Page */
	SH_GfxDrawRec(SH_CANV1, 0, 96, 185, 291, COLOR_DARK_BLUE);
	SH_GfxDrawRec(SH_CANV1, 2, 98, 181, 287, COLOR_TRANS_BLUE);

	/* File Page */		
	SH_GfxDrawRec(SH_CANV1, 189, 96, 431, 291, COLOR_DARK_BLUE);
	SH_GfxDrawRec(SH_CANV1, 191, 98, 427, 287, COLOR_TRANS_BLUE);
	
	/* File Selection window*/
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
	type_y = 70;
	h = 72+34;
#else
	type_y = 104; // Include up / down arror.
	h = 72;
#endif

	SH_GfxDrawRec(SH_CANV1, 432, type_y+30, 168, h, COLOR_DARK_BLUE);
	for( index =MMP_AUDIO_FILE; index <= MMP_VIDEO_FILE; index++ )
	{
		if( GetMmpTypeFolders(index) == 0 )
			type_color[ index ] = OSD_COLOR_INVALID;
		else
			type_color[ index ] = OSD_COLOR_FONT_DEFAULT;
	}
	SH_GfxDrawImage(SH_CANV1, IMG_INFO_AUDIO, 437, type_y+34);
	SH_GfxDrawStr(SH_CANV1, (CHAR *)gpAudio[MENU_LANG], 437+35, type_y+34, type_color[0]);

	SH_GfxDrawImage(SH_CANV1, IMG_VIEW_THUMB, 437, type_y+34*2);
	SH_GfxDrawStr(SH_CANV1,(CHAR *)gpImage[MENU_LANG], 437+35, type_y+34*2, type_color[1]);
	
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
	SH_GfxDrawImage(SH_CANV1, IMG_INFO_MV, 437, type_y+34*3);
	SH_GfxDrawStr(SH_CANV1,(CHAR *)gpVideo[MENU_LANG], 437+35, type_y+34*3, type_color[2]);
#endif
    // Qian liping 060530 : bug fix 400, delete the black dot in file button icon.
    SH_GfxDrawRec(SH_CANV1, 437, type_y+30, 2,h, COLOR_DARK_BLUE);
	SH_GfxDrawRec(SH_CANV1, 437+28, type_y+30, 2,h, COLOR_DARK_BLUE);


#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
	/* Arrows */
	SH_GfxDrawImage(SH_CANV1, IMG_HELP_UP_ARR, 586, 104);
	SH_GfxDrawImage(SH_CANV1, IMG_HELP_DN_ARR, 586, 355);	
#endif

	OwUpdateTypeSelect(MMP_NOT_KNOWN, MMP_NOT_KNOWN );
}	
 
#else /* _APP_CAP_OSD_FLATTEN_EXPLORER */

/******************************************************************************
* Function name	: OwMmpUpdateImgInfo  (Non_Flattern)
* Arguments		:  
*     IN        
*					MmpImgInfoSub_et img_info, SH_RotateAngle_et	rotate
*     OUT       
*     I/O       
* Return			:  
*					VOID
* By				: KIM DO YEON
* Description		:  
* Revision		:  
******************************************************************************
*/
VOID OwMmpUpdateImgInfo(VOID)
{
	MmpImgInfoSub_et	img_info;
	SH_RotateAngle_et		rotate;	
	CHAR				dis_str[MAX_SUPPORT_DYNAMIC_LENGTH], file_info[10];
	BYTE2				icon_x, differ, file_index;

	file_index = GetMmpFileCursor();
#if _APP_CAP_FUNC_JPG_PLAY_MODE
	BYTE2 total_num;
	total_

⌨️ 快捷键说明

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