예제 #1
0
long win_mp_subtitle_read_page(UINT8 top)
{
	long			i, j;
	long			ret = -1;
	long			number;
	long			current_language_index;
	char			description[201] = {0};
	long			description_len;
	char			*temp;

	if (!subtitle_handle)
	{
		return -1;
	}

	number = 0;
	description_len = 200;

	if(g_ext_subtitle_plugin)
		ret = g_ext_subtitle_plugin->mps_query_language(subtitle_handle, &number, &current_language_index, description, &description_len);
	
	if (ret < 0)
	{
		return -1;
	}


	if(top > number)
	{
		top = 0;
		OSD_SetListCurPos(&g_ls_subtitle,0);
		OSD_SetListTop(&g_ls_subtitle,0);
	}
	
	for(i = 0;i < SUBTITLE_ITEM_NUMBER;i++)
	{
		if((top+i) < number)
		{
			temp = description + (top+i)*4;
			
			Subtitle_track_str[i][0]=temp[0];
			Subtitle_track_str[i][1]=temp[1];
			Subtitle_track_str[i][2]=temp[2];
			Subtitle_track_str[i][3]=0;
			Subtitle_track_str[i][4]=0;
			Subtitle_track_str[i][5]=0;
			Subtitle_track_str[i][6]=0;
			ComUniStrToMB(Subtitle_track_str[i]);
			
			win_com_set_idx_str(top+i, Subtitle_track_idx[i], 2);
		}		
		else
		{
			Subtitle_track_idx[i][0]=0;
			Subtitle_track_str[i][0]=0;
		}
	}

	return 1;
}
예제 #2
0
void win_subtitle_read_page(UINT8 top)
{
	UINT8 i,ttx_idx,subt_idx;
	struct t_subt_lang* p_lang;
	struct t_ttx_lang* p_ttx_lang;
	p_lang = sub_lang_list;
	p_ttx_lang = ttx_sub_lang_list;

	if(top > (g_win_ttx_subtitle_count + g_win_subtitle_count + 1))
	{
		top = 0;/*if top value overflow,set it to zero*/
		OSD_SetListCurPos(&g_ls_subtitle,0);
		OSD_SetListTop(&g_ls_subtitle,0);
	}
	
	for(i = 0;i < SUBTITLE_ITEM_NUMBER;i++)
	{
		if((top+i) < g_win_ttx_subtitle_count)
		{
			ttx_idx = (top + i);
			p_ttx_lang = (ttx_sub_lang_list + ttx_idx);
			
			Subtitle_track_str[i][0]=p_ttx_lang->lang[0];
			Subtitle_track_str[i][1]=p_ttx_lang->lang[1];
			Subtitle_track_str[i][2]=p_ttx_lang->lang[2];
			Subtitle_track_str[i][3]='(';
			Subtitle_track_str[i][4]='T';
			Subtitle_track_str[i][5]=')';
			Subtitle_track_str[i][6]=0;
			ComUniStrToMB(Subtitle_track_str[i]);
			
			win_com_set_idx_str(top+i, Subtitle_track_idx[i],2);
		}		
		else if((top+i) < (g_win_ttx_subtitle_count + g_win_subtitle_count))
		{
			subt_idx = (top + i - g_win_ttx_subtitle_count);
			p_lang = (sub_lang_list + subt_idx);
			
			Subtitle_track_str[i][0]=p_lang->lang[0];
			Subtitle_track_str[i][1]=p_lang->lang[1];
			Subtitle_track_str[i][2]=p_lang->lang[2];
			Subtitle_track_str[i][3]='(';
			Subtitle_track_str[i][4]='D';
			Subtitle_track_str[i][5]=')';
			Subtitle_track_str[i][6]=0;
			ComUniStrToMB(Subtitle_track_str[i]);
			
			win_com_set_idx_str(top+i, Subtitle_track_idx[i],2);
		}
		else if((top+i) == (g_win_ttx_subtitle_count + g_win_subtitle_count))
		{
			Subtitle_track_str[i][0]='O';
			Subtitle_track_str[i][1]='F';
			Subtitle_track_str[i][2]='F';
			Subtitle_track_str[i][3]=0;
			ComUniStrToMB(Subtitle_track_str[i]);
			Subtitle_track_idx[i][0]=0;
		}
		else
		{
			Subtitle_track_idx[i][0]=0;
			Subtitle_track_str[i][0]=0;
		}
	}
}