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

📄 browse_func.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 3 页
字号:
	br_Draw_FFicon();//xyy 2003-7-29 16:51
}
/**************************************************************************
 *                                                                        *
 *  Function Name: browse_func_select                                     *          *
 *                                                                        *
 *  Purposes:                                                             *
 *    use enter key to select some function that according to             *  
 *    different cases  ,for example  select CH and TT for DVD.            *
 *    when the key was used ,the HL will be changed                       *
 *  Descriptions:                                                         *
 *    use enter key to select some function that according to             *  
 *    different cases  ,for example  select CH and TT for DVD.            *
 *    when the key was used ,the HL will be changed                       *                         *
 *  Arguments: VOID                                                       *
 *  Returns:   NONE                                                       *
 *                                                                        *
 *  See also:  NONE                                                       *
 *                                                                        *
 **************************************************************************/
void browse_func_select(void)
{
//info_index:the index of string_index_dvd array or string_index_vcd array
//which is defined in file browse_gui.h
    if(info_index==6||info_index==7)//the value of title time and chapter time is not changeable
    	return;
    if(cd_type_loaded==CDDVD)
    {	
	    if(info_index<=1 && bInputIndex<2 && bBrowseLevel==1)
	    	return;
    }
    else
    {	
	    if(info_index==0 && bInputIndex<2 && bBrowseLevel==1)
	    	return;
    }
    if(bBrowseLevel==0)
    {
#if defined(ADJUSTING_ACTION_VALID_RIGHT_NOW)//xyy 2003-9-9 16:10
			action_click = 2;	// alan, 2003/8/28 05:45PM
#else
			action_click = 0;
#endif
//    	action_click = 2;	// alan, 2003/8/28 05:45PM
        switch(info_index)
        {
            case 0://title(DVD) or track(VCD/CD/MP3) information
		        bBrowseLevel = 1;     //xyy 2003-8-11 17:14   
		        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
            	br_Draw_TT_info();
                br_Draw_underline(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*(HL_index-1),UNDERLINECOL,INFO_BKCOL);    
            	break;
            case 1://chaprter(DVD) or playtime(VCD/CD/MP3) information
		        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
	            if(cd_type_loaded==CDDVD)
	            {
			        bBrowseLevel = 1;      //xyy 2003-8-11 17:14  
	            	br_Draw_CHP_info();
	            	br_Draw_underline(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*(HL_index-1),UNDERLINECOL,INFO_BKCOL); //xyy 2003-8-11 16:16   
	 	        }
				else
					init_time_search();
					
               break;
            case 2://playtime(DVD) or title time(VCD) or repeat setup(CD/MP3)information
	            if(cd_type_loaded==CDDVD)
	            {
			        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
            		init_time_search();
            	}
				else if(cd_type_loaded==CDROM || cd_type_loaded==CDDA)//xyy 2003-9-12 13:38
				{
			        bBrowseLevel = 1;//zhaoyanhua add 2003-12-8 9:39
			        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
				    br_Draw_rtSpecialItem();					
				}
           	   	else
           	   		return;
           	   break;
            case 3://sub-title language setup(DVD) or chapter time(VCD) information
	            if(cd_type_loaded==CDDVD)
	            {
	                if(pDSV->dAv_SPST_Ns<2)
	                    return;
			        bBrowseLevel = 1;//zhaoyanhua add 2003-12-8 9:39
			        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
				    br_Draw_rtSpecialItem();
	            }
	            else
	            	return;                          
                
                break;    
            case 4://audio language setup(DVD) or repeat setup(VCD) information
            if(cd_type_loaded==CDDVD)
            {
            	if(pDSV->dAv_AST_Ns<=1)
            		return;
		    }
		    else
		    {
		    	if( IsPBCOn() )
		    		return;
				}            	
		        bBrowseLevel = 1;//zhaoyanhua add 2003-12-8 9:39
		        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
				br_Draw_rtSpecialItem();
                break;
            case 5://multi-angle(only DVD)information
            	if(get_angle_Ns()<1)
            		return;
                bBrowseLevel = 1;//zhaoyanhua add 2003-12-8 9:39
		        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
			    br_Draw_rtSpecialItem();
                break;
            case 8://repeat setup(DVD)information
		        bBrowseLevel = 1;//zhaoyanhua add 2003-12-8 9:39
		        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL);
			    br_Draw_rtSpecialItem();
                break;
                
        }
        bBrowseLevel = 1;        
    }
    else if(bBrowseLevel == 1)
    {
        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_BKCOL);//xyy 2003-8-11 16:08
        switch(info_index)
        {
            case 0://title(DVD) or track(VCD/CD/MP3) information
                if(bInputIndex==1)
                    return;
                if(bInputIndex > 1)
                {
                    bInputIndex = 0;
                    if(cd_type_loaded==CDDVD)
                    {
	                    if(info_index==0)
	                    	dvd_chapter = 1;
	                    
	                    if(UOP_check(UOP_PTT_PS)&&(dvd_chapter==1))
				             dvd_chapter = 0;//TT play,terry,3-8-23 19:35
				             
		                ircmd_post_func(CMD_FUNC|CMD_PTT_PLAY);
	                }
                    else
	                    ircmd_post_func(CMD_SELECT | dvd_title);
                    bInputState = NON_INPUT_STATE;    
                }
                break;
            case 1://chaprter(DVD) or playtime(VCD/CD/MP3) information
            	if(cd_type_loaded==CDDVD)
            	{
                if(bInputIndex==1)
                    return;
                if(bInputIndex > 1)
                {
                    bInputIndex = 0;
                    
                    if(UOP_check(UOP_PTT_PS)&&(dvd_chapter==1))
				      dvd_chapter = 0;//TT play,terry,3-8-23 19:35
				      
	                ircmd_post_func(CMD_FUNC|CMD_PTT_PLAY);
	                    bInputState = NON_INPUT_STATE;    
                }
                }
                else
                	exe_time_goto();
                break;
            case 2://playtime(DVD) or title time(VCD) or repeat setup(CD/MP3)information
	            if(cd_type_loaded==CDDVD)
	            	exe_time_goto();
	            else
                	br_DrawRightItem();
                break;
            case 3://sub-title language setup(DVD) or chapter time(VCD) information
            case 4://audio language setup(DVD) or repeat setup(VCD) information
            case 5://multi-angle(only DVD)information
            case 8://repeat setup(DVD)information
                br_DrawRightItem();
                break;
        }
        bBrowseLevel = 0;
    }
}
/**************************************************************************
 *                                                                        *
 *  Function Name: browse_func_clear                                      *
 *                                                                        *
 *  Purposes:                                                             *
 *    clear the unuseful informaton which had been selected               *
 *  Descriptions:                                                         *
 *    clear the unuseful informaton which had been selected               *
 *  Arguments: VOID                                                       *
 *  Returns:   NONE                                                       *
 *                                                                        *
 *  See also:  NONE                                                       *
 *                                                                        *
 **************************************************************************/
#ifdef	CLEAR_KEY_IN_WINDOW	//Maoyong 2004.02.18
void	browse_func_clear(void)
{
	//DVD not in CHP, TT, CHP and TT time item, no use
	if(cd_type_loaded == CDDVD)
	{
		if((info_index != 5)&&(info_index != 6)&&(info_index != 0)&&(info_index != 1))
			return;
	}
	else		//CDROM, CDVCD..., not DVD
	{
		if( (info_index != 0) && (info_index != 1) && (info_index != 2) ) 	
			return;	
	}	
	index_x=0;
	bBrowseLevel = 0;
	bInputState = NON_INPUT_STATE;
    bInputIndex = 0;
	browse_func_select();	
}	
#endif
UINT32 ten_power(BYTE exponent)
{
	UINT32 temp=1,i;
	for(i=0;i<exponent;i++)
		temp = temp*10;
	return temp;
}
/**************************************************************************
 *                                                                        *
 *  Function Name: browse_func_left                                       *
 *                                                                        *
 *  Purposes:                                                             *
 *    use ir left_key to control browse function                          *
 *  Descriptions:                                                         *
 *    use ir left_key to control browse function                          *
 *  Arguments: VOID                                                       *
 *  Returns:   NONE                                                       *
 *                                                                        *
 *  See also:  NONE                                                       *
 *                                                                        *
 **************************************************************************/
void browse_func_left(void)
{
    if(bBrowseLevel==0)
        return;
    if((cd_type_loaded==CDDVD && info_index <= 1) || (cd_type_loaded!=CDDVD && info_index==0))
    {
        bInputState = NON_INPUT_STATE;
        bInputIndex = 0;
        bBrowseLevel = 0;
        UpdateTT_CHP_info();
        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_BKCOL);//xyy 2003-8-11 17:06
    }
    else if((cd_type_loaded==CDDVD && info_index == 2) || (cd_type_loaded!=CDDVD && info_index==1))
    {
        br_DrawLeftItem(info_index,info_index%ITEM_PER_PAGE,INFO_FONTCOL,INFO_BKCOL);//xyy 2003-8-11 17:06
    	br_DrawRightItem();
        bBrowseLevel = 0;
        bTimeInput = 0;
        index_x = 0; // alan, 2003/9/5 02:16

⌨️ 快捷键说明

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