Ejemplo n.º 1
0
static void show_title(UINT16 idx)
{
	char str_name[FULL_PATH_SIZE],str_buff[FULL_PATH_SIZE];
	char full_name[FULL_PATH_SIZE];
	TEXT_FIELD *pTxt;
	FileInfo file_node;
	
	if(image_folderloop_flag == 1)//filelist
	{
		STRCPY(str_buff, "Disk ");
		get_file_from_play_list(cur_playlist_image, idx, &file_node);
		win_get_fullname(full_name, file_node.path, file_node.name);
		win_get_display_dirname(str_name, full_name);
		strcat(str_buff, str_name);
	}
	else//playlist
	{
		STRCPY(str_buff, "Image Play List/");
		get_file_from_play_list(cur_playlist_image,idx,&file_node);
		//filter_unkownfont_name(file_node.name,str_name);
		win_shorten_filename(file_node.name,str_name);
		strcat(str_buff, str_name);
	}
	
	pTxt = &imgpreview_title;
	OSD_ClearObject((POBJECT_HEAD)pTxt,C_UPDATE_ALL);
	OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_buff);
	OSD_DrawObject((POBJECT_HEAD)pTxt,C_UPDATE_ALL);
}
Ejemplo n.º 2
0
static void playlist_display_items(UINT16 uTop)
{
	UINT8 i;
	char str_buff[MAX_FILE_NAME_SIZE + 1];
	RET_CODE ret;
	TEXT_FIELD *pTxt;
	BITMAP *pBmp;
	FileInfo playlist_node;
	BOOL move_flag;
	UINT16 file_idx, curitem, index;
	POBJLIST pOl;

	pOl = &ol_playlist;
	curitem = OSD_GetObjListNewPoint(pOl);
	for(i = 0; i < PL_ITEM_CNT;i++)
	{
		index = uTop + i;
		move_flag = FALSE;
		if((moving_flag==1) && (move_file_idx != INVALID_IDX) && (index == curitem))
		{
			move_flag = TRUE;
		}

		file_idx = list_index_2_playlist_index(pOl, index);
		ret = get_file_from_play_list(cur_display_playlist,(file_idx +1),&playlist_node);

		if(ret == RET_SUCCESS)
		{
			pTxt = playlist_idxs[i];
			sprintf(str_buff,"%d",(uTop + i + 1));
			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff);
			pBmp = playlist_icons[i];
			OSD_SetBitmapContent(pBmp, file_icon_ids[playlist_node.filetype]);
			pTxt = playlist_files[i];
			//filter_unkownfont_name(playlist_node.name,str_buff);
			win_shorten_filename(playlist_node.name,str_buff);
			OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_buff);
			pBmp = playlist_moveicons[i];
			if(move_flag == TRUE)
				//OSD_SetBitmapContent(pBmp, IM_TV_DEL);
				OSD_SetAttr(pBmp, C_ATTR_ACTIVE);				
			else
				OSD_SetAttr(pBmp, C_ATTR_HIDDEN);	
		}
		else
		{
			pTxt = playlist_idxs[i];
			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)"");
			pBmp = playlist_icons[i];
			OSD_SetBitmapContent(pBmp, 0);
			pTxt = playlist_files[i];
			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)"");
			pBmp = playlist_moveicons[i];
			OSD_SetAttr(pBmp, C_ATTR_HIDDEN);	
		}
	}
}
Ejemplo n.º 3
0
static void movefile_display_items(UINT16 uTop)
{
	UINT8 i,root_offset,bRoot;
	char str_buff[MAX_FILE_NAME_SIZE + 1];
	RET_CODE ret;
	TEXT_FIELD *pTxt;
	BITMAP *pBmp;
	FileInfo file_node;

	bRoot = win_check_openroot(win_move_dirlist);
	if(bRoot == FALSE)
		root_offset = 1;//if not root dir,add an item to exit
	else
		root_offset = 0;

	for(i = 0; i < MV_ITEM_CNT;i++)
	{
		if(((uTop+i) == 0) && (root_offset == 1))
		{
//			pTxt = mpmove_idxs[i];
//			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)"/..");
//			pBmp = mpmove_icons[i];
//			OSD_SetBitmapContent(pBmp, 0);
			pTxt = mpmove_files[i];
			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)"/..");
			continue;
		}//item exit

		ret = get_file_from_file_list(win_move_dirlist, (uTop+i + 1 - root_offset), &file_node);

		if(ret == RET_SUCCESS)
		{
//			pTxt = mpmove_idxs[i];
//			sprintf(str_buff,"%d",(uTop + i + 1));
//			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff);
//			pBmp = mpmove_icons[i];
//			OSD_SetBitmapContent(pBmp, file_icon_ids[file_node.filetype]);
			pTxt = mpmove_files[i];
			//filter_unkownfont_name(file_node.name,str_buff);
			win_shorten_filename(file_node.name,str_buff);
			OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_buff);
		}
		else
		{
//			pTxt = mpmove_idxs[i];
//			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)"");
//			pBmp = mpmove_icons[i];
//			OSD_SetBitmapContent(pBmp, 0);
			pTxt = mpmove_files[i];
			OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)"");
		}
	}
}
Ejemplo n.º 4
0
RET_CODE win_get_display_dirname(char *display_dirname, char *src_dirname)
{
	char dirname1[FULL_PATH_SIZE];
	char dirname2[MAX_FILE_NAME_SIZE];
	char display_dirname2[MAX_FILE_NAME_SIZE];
	UINT16 i;
	
	if(!STRCMP(src_dirname, FS_ROOT_DIR))
	{
		STRCPY(display_dirname, "Root");
	}
	else
	{
		STRCPY(dirname1, "Root");
		strcat(dirname1, src_dirname+4);
		
		i = STRLEN(dirname1);
		while ((dirname1[i] != '/') && (i > 0))
		{
			i--;
		}
		if (i != 0)
		{
			STRCPY(dirname2, dirname1+i);
			//filter_unkownfont_name(dirname2,display_dirname2);//filter name that can not be show
			win_shorten_filename(dirname2,display_dirname2);
			dirname1[i] = '\0';
			//filter_unkownfont_name(dirname1,display_dirname);//filter name that can not be show
			win_shorten_filename(dirname1,display_dirname);
			strcat(display_dirname, display_dirname2);
		}
		else
		{
			//filter_unkownfont_name(dirname1,display_dirname);//filter name that can not be show
			win_shorten_filename(dirname1,display_dirname);
		}
	}
	return RET_SUCCESS;
}
Ejemplo n.º 5
0
static void win_mpegYT_player_draw_infor(void)
{
	BITMAP* bmp;
	TEXT_FIELD* txt;
	PROGRESS_BAR* bar;
	mpegYTplayer_bmp_t* bmp_desc;
	mpegYTplayer_txt_t* txt_desc;
	UINT32 i, hd_fulless;
	UINT16 icon;
	char string[30];
	UINT32 hh, mm, ss;
	UINT32 play_pos = 0;
	FileInfo file_node;
	char name_buffer[MAX_FILE_NAME_SIZE + 1];

	bmp = &mpegYT_player_bmp;
	txt = &mpegYT_player_text;
	bar = &mpegYT_player_bar;

	for (i = 0; i < MPEGYT_BMP_NUM; i++)
	{
		bmp_desc = &mpegYTplayer_bmps[i];
		icon = INVALID_ID;
		switch (bmp_desc->bmp_type)
		{
		case MPEGYT_BMP_STATIC:
			//icon = bmp_desc->icon;
			break;
		case MPEGYT_BMP_PLAY_RECORD:
			icon = bmp_desc->icon;
			break;
		case MPEGYT_BMP_PLAY_MODE:
			if (MPEGYTInfo.PlayState < sizeof(mpegplayer_yt_status_icons) / 2)
			{
				icon = mpegplayer_yt_status_icons[MPEGYTInfo.PlayState];
			}
			break;
		case MPEGYT_BMP_HDD_STATUS:
			/*			step_sectors =  (hdd_info.total_size - hdd_info.tms_size) / 5;
						if(step_sectors >0 )
						{
							hd_fulless = (hdd_info.rec_size + step_sectors/2) / step_sectors ;
							if(hd_fulless == 5)
								hd_fulless = 4;
							icon = MP_HDstatus_icons[4-hd_fulless];//hd_fulless -> 4-hd_fulles, show used space!
						}
			*/
			break;
		default:
			break;
		}


		OSD_SetBitmapContent(bmp, icon);
		OSD_SetRect(&bmp->head.frame, bmp_desc->left, bmp_desc->top, bmp_desc->width, bmp_desc->height);
		OSD_DrawObject( (OBJECT_HEAD*) bmp, C_UPDATE_ALL);
	}

	for (i = 0;i < MPEGYT_TXT_NUM;i++)
	{
		txt_desc = &mpegYTplayer_txts[i];

		OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)"");

		switch (txt_desc->txt_type)
		{
		case MPEGYT_TXT_PLAY_NAME:
			//get_file_from_file_list(win_file_list[VIDEO_FILE_LIST], mpegYTlist_idx, &file_node);
			//filter_unkownfont_name(file_node.name, name_buffer);
			win_shorten_filename(entry_youtube->title,name_buffer);
			sprintf(name_buffer, "%s", name_buffer);
			OSD_SetTextFieldContent(txt, STRING_UTF8, (UINT32)name_buffer);
			break;
		case MPEGYT_TXT_DATE:
			//sprintf(string,"%02d/%02d",dt.month,dt.day);
			//STRCPY(string, "");
			sprintf(string, "%02d/%02d/%02d",
					entry_youtube->pub_date.year,
					entry_youtube->pub_date.month,
					entry_youtube->pub_date.day);
			OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)string);
			break;
		case MPEGYT_TXT_TIME:
			//sprintf(string,"%02d:%02d",dt.hour,dt.min);
			STRCPY(string, "");
			OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)string);
			break;
		case MPEGYT_TXT_PLAY_MODE:
			STRCPY(string, "");
			if (MPEGYTInfo.PlayState == MPEG_STOP)
			{
				sprintf(string, "%s", "Stop");
			}
			else if (MPEGYTInfo.PlayState == MPEG_PLAY)
			{
				sprintf(string, "%s", "Play");
			}
			else if (MPEGYTInfo.PlayState == MPEG_PAUSE)
			{
				sprintf(string, "%s", "Pause");
			}
			else if (MPEGYTInfo.PlayState == MPEG_FF || MPEGYTInfo.PlayState == MPEG_FB)
			{
				sprintf(string, "X%d", mpegYTspeed_steps[MPEGYTInfo.PlaySpeed]);
			}
			else if (MPEGYTInfo.PlayState == MPEG_SF || MPEGYTInfo.PlayState == MPEG_SB)
			{
				sprintf(string, "X1/%d", mpegYTspeed_steps[MPEGYTInfo.PlaySpeed]);
			}
			else if(MPEGYTInfo.PlayState == MPEG_STEP)
			{
				sprintf(string,"%s","Step");
			}
#ifdef SUPPORT_DIVX_CERT
            else if(MPEGYTInfo.PlayState == MPEG_RESUME_STOP)
            {
                sprintf(string,"%s","Stop");
            }
#endif
			OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)string);
			break;
		case MPEGYT_TXT_PLAY_1ST_TIME:
			STRCPY(string, "");
			MPEGYTInfo.PlayTime = (UINT32)MPGFileDecoderGetPlayTime() + s_ytvideo_seektime;
            if (MPEGYTInfo.PlayState == MPEG_STOP)
                MPEGYTInfo.PlayTime = 0;
#if 1
			hh = MPEGYTInfo.PlayTime / 3600;
			mm = (MPEGYTInfo.PlayTime % 3600) / 60;
			ss = MPEGYTInfo.PlayTime % 60;
#else
			hh = entry_youtube->info->duration/3600;
			mm = (entry_youtube->info->duration % 3600) / 60;
			ss = entry_youtube->info->duration % 60;			
#endif
			sprintf(string, "%02d:%02d:%02d", hh, mm, ss);
			OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)string);
			break;

		case MPEGYT_TXT_PLAY_2ND_TIME:
			STRCPY(string, "");
#if 0
			hh = MPEGYTInfo.TotalTime / 3600;
			mm = (MPEGYTInfo.TotalTime % 3600) / 60;
			ss = MPEGYTInfo.TotalTime % 60;
#else
			hh = entry_youtube->info->duration/3600;
			mm = (entry_youtube->info->duration % 3600) / 60;
			ss = entry_youtube->info->duration % 60;	
#endif
			sprintf(string, "%02d:%02d:%02d", hh, mm, ss);
			OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)string);
			break;
		case MPEGYT_TXT_HDD_STATUS:
			/*step_sectors = (hdd_info.total_size - hdd_info.tms_size)/100;
			if(step_sectors >0 )
			{
				sprintf(string,"%d%%",(100 - (hdd_info.rec_size+ step_sectors/2 )/step_sectors));
			}
			else
			{
				STRCPY(string,"");
			}
			OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)string);
			*/
			break;
		}

		OSD_SetRect(&txt->head.frame, txt_desc->left, txt_desc->top, txt_desc->width, txt_desc->height);
		txt->head.style.bShowIdx = txt_desc->shidx;
		OSD_DrawObject( (OBJECT_HEAD *)txt, C_UPDATE_ALL);
	}

	/* Draw progress bar */
	OSD_SetProgressBarPos(bar, 100);
	OSD_SetRect(&bar->head.frame, BAR_L, BAR_T, BAR_W, 24);
	bar->rcBar.uLeft 	= 2;
	bar->rcBar.uTop 		= 5;
	bar->rcBar.uWidth	= BAR_W - 4;
	bar->rcBar.uHeight 	= 14;//16 - 6;
	bar->wTickFg 		= WSTL_BAR_06;
	OSD_DrawObject((POBJECT_HEAD)bar, C_UPDATE_ALL);

	/* Draw play pos */
//    BarState.nPos = MPEGYTInfo.PlayTime;
	if (BarState.nRange)
	{
		play_pos = BarState.nPos * 100 / BarState.nRange;
	}
	OSD_SetRect(&bmp->head.frame, bar->head.frame.uLeft+6 + (bar->head.frame.uWidth-12)*play_pos / 100*OSD_GetProgressBarPos(bar) / 100 - POS_ICON_WIDTH / 2,
				bar->head.frame.uTop, POS_ICON_WIDTH, bar->head.frame.uHeight);
	OSD_SetBitmapContent(bmp, IM_PVR_DOT);
	OSD_DrawObject((POBJECT_HEAD)bmp, C_UPDATE_ALL);

	/* Draw play cursor */
	if (CURSOR_MOVING == BarState.State)
	{
		if (BarState.nRange)
		{
			play_pos = BarState.nCursor * 100 / BarState.nRange;
		}
		OSD_SetRect(&bmp->head.frame, bar->head.frame.uLeft + 6 + (bar->head.frame.uWidth-4)*play_pos / 100/**OSD_GetProgressBarPos(bar) / 100*/ - POS_ICON_WIDTH / 2,
		//OSD_SetRect(&bmp->head.frame, bar->head.frame.uLeft + 6 + (bar->head.frame.uWidth-4)*play_pos / 100*OSD_GetProgressBarPos(bar) / 100 - POS_ICON_WIDTH / 2,
					bar->head.frame.uTop, POS_ICON_WIDTH, bar->head.frame.uHeight);
		OSD_SetBitmapContent(bmp, IM_PVR_DOT_ORANGE);
		OSD_DrawObject((POBJECT_HEAD)bmp, C_UPDATE_ALL);
	}
}