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

📄 display_hl.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 5 页
字号:
			OSD_LayoutBmpDisplay(REPEAT_CLOSE_BMP);
		}
        }
		
        {
		io_write("8");
//#ifdef SDRAM_16Mb_Mode
//		do_DispOSD0String(pos, 0, linebuf, 2, 0);
//#else
	//	do_DispOSD0String(pos, 2, linebuf_oriCh, fontColor, bkColor);
//		do_DispOSD0LittleString(pos,12,linebuf, fontColor, bkColor);
//#endif
			
#ifndef DIV_GOTO_DISPLAY		
#ifdef NEW_GOTO//kenny 2002/4/13

#ifdef  NEW_DISPLAY_GOTO_OSD
		if(full_scrn&GOTO) 
		{
			if((index_x>=5)&&(val&COOK_S_TIMER))
				hi_light_time(pos);
			else if(pos==POS_DVD_CHAP) 
			{   
                if (cd_type_loaded != CDROM)
                    hi_light_chapter(id, pos+OFFSET_CHAP);
			}
			else if(pos==POS_DVD_TITLE)
                if(cd_type_loaded==CDDVD)
                    hi_light_title(id, pos+OFFSET_TITLE);
 			else
				hi_light_title(id, pos+OFFSET_TRACK);
		}
#else//#ifdef  NEW_DISPLAY_GOTO_OSD
		if(full_scrn&GOTO)
		{
			if((index_x>=5)&&(val&COOK_S_TIMER))
			{			    
				hi_light_time(pos);
			}				
			else if(pos==COOK_CHP_VAL) 
			{	//Maoyong 2004.04.28 marked	MP3_DIRECT_SELECT
				if (cd_type_loaded != CDROM)
					hi_light_chapter(id,pos);
			}
			else if(pos==COOK_TRK_VAL)
			{			    
				if(cd_type_loaded != CDDVD)
                    hi_light_title(id,pos + 16);//TRK occupy three char
			   	 else
					hi_light_title(id,pos);//TT occupy two char
			}					
		}
#endif//#ifdef  NEW_DISPLAY_GOTO_OSD
#endif//NEW_GOTO
#endif//end ifndef DIV_GOTO_DISPLAY
    }
}
#endif //OSD_BMP_DISPLAY


#ifdef DIV_GOTO_DISPLAY   

/*
 * Description:
 *      Draw informaiton to OSD.
 *
 */	
void PrintGotoInfo2OSD(int id, int val,int pos,int type,BYTE need_hi)
{

	memset(linebuf,0,40);
   
    //clear value 
    //zhaoyanhua add 2003-11-11 10:51
    if((index_x == 0))
        dvd_title = 0;
    else if(index_x == 2)
        dvd_chapter = 0;
    else if (index_x == 5)
        goto_time = 0;

   
	if(val!= 0)
	{
		switch(type)
		{
			case TIME: 	
				if((index_x>=5))
				{
           			time_trans2hms();    //xyy 2003-7-29 11:42       
					psprintf(linebuf, "%02d:%02d:%02d ", goto_hour, goto_min, goto_sec);            
				}
				else
				{
					psprintf(linebuf, "%02d:%02d:%02d ", goto_hour, goto_min, goto_sec);            
				}
					
				break;
		
			case TITLE:
			    //NOTE:
			    //index_x<=1  when input show correct value
			    //index_x>1 && dvd_title != id after select,show correct selected value.
			    //zhaoyanhua add 2003-11-11 11:30
			#ifdef MP3_DIRECT_SELECT//zhaoyanhua add 2004-2-16 11:01
			    if(((cd_type_loaded == CDROM) && ((index_x <= 3) || ((index_x >3) &&(dvd_title)&&(dvd_title!= id)))) 
			       ||((cd_type_loaded != CDROM) && ((index_x <= 1) || ((index_x >1) &&(dvd_title)&&(dvd_title!= id)))) 
			       )
			#else
			    if((index_x <= 1) || ((index_x >1) &&(dvd_title)&&(dvd_title!= id)))
	        #endif//#ifdef MP3_DIRECT_SELECT			     
			        id = dvd_title;        
				
			#ifdef MP3_DIRECT_SELECT	//zhaoyanhua add 3-7-16 16:47
				if (cd_type_loaded == CDROM)
					psprintf(linebuf, "%04d/%02d  ",id,val);
				else
					psprintf(linebuf, "%02d/%02d  ",id,val);
			#else
				psprintf(linebuf, "%02d/%02d  ",id,val);                  
		
			#endif
				
				break;
		
			case CHARPTER:
				
			    //NOTE:
			    //index_x>=2 && index-x<=4  when input show correct value
			    //index_x>4 && dvd_chapter != id after select,show correct selected value.
			    //zhaoyanhua add 2003-11-11 11:30
			    if (((index_x >=2)&&(index_x <=4)) || ((index_x>4)&&(dvd_chapter != id) &&(dvd_chapter))) 
					id=dvd_chapter;
			
				psprintf(linebuf, "%03d/%03d  ",id,val); 
				break;	
			default:
				break;
        }
}

	else if((!val) &&(!type))
	{
		psprintf(linebuf,"%s",_OsdMessegeFont1[osd_font_mode][id]);
	}
	
	
	if(val == 0)//draw words. black
		osd_DrawRegionString(pos,0,linebuf, REGION2_FONTCOLOR, REGION2_BKCOLOR, 2);
	else
		osd_DrawRegionString(pos,0,linebuf, REGION2_NUMCOLOR, REGION2_BKCOLOR, 2);
	
	if((need_hi)&&(val))
	{
	    
		if(((index_x>=5)&&(index_x<=10))&&(type == TIME))
			hi_light_time(pos);
		else if(((index_x >=2)&&(index_x<=4)) &&(type == CHARPTER))
		{
	#ifdef MP3_DIRECT_SELECT  //zhaoyanhua add.  not Hilight  CHAP 3-7-16 16:17
			if (cd_type_loaded != CDROM)
	#endif
			//hi_light_chapter(id,pos);
			hi_light_chapter(dvd_chapter,pos);//
		}
    #ifdef MP3_DIRECT_SELECT//zhaoyanhua add 2004-2-16 11:08
		else if(((index_x<=3) &&(type == TITLE) && (cd_type_loaded == CDROM))
		        ||((index_x<=1) &&(type == TITLE) && (cd_type_loaded != CDROM)))
    #else
		else if((index_x<=1) &&(type == TITLE))
    #endif        		
			//hi_light_title(id,pos);	
			hi_light_title(dvd_title,pos);					
	}
}

void ClearRegion2(void)
{
    //wanghaoying modified as zhaoyanhua told, 2003-11-13 18:35
    //the forth and the fifth parameter means that to use transparence color
	//must clear osd .
	osd_DrawRegionString(GOTO_TRK0,0,"                          ",0,0,2);

}


/*
 *Description:
 *     page:
 *     need_hi: if 0:not hilight
 *              if 1: hilight   
 */
void ShowSearchPage(BYTE page,BYTE need_hi)
{
	switch(page)
	{
		case 0:
			//show charpter:title
    		//can search charpter and title
    		if(cd_type_loaded!=CDDVD) 
			{ 
				int tt;
					
				PrintGotoInfo2OSD(STR_OS_SELECT,0,GOTO_TRK0,0,need_hi); 
				PrintGotoInfo2OSD(STR_OS_TRACK,0,GOTO_TRK0+4,0,need_hi);          
				if(cd_type_loaded==CDROM) 
				{
					extern UINT16 mp3_file_count(void);
					tt=mp3_file_count();//nono 2-4-22 14:05 for fuss           
					if(play_state==VCD_STATE_STOP)                                        
						disp_trk_now=tt;//nono 2-4-22 14:05 for fuss           
				} 
				else 
				{
					tt=cd_total_trk();                                        
			
				}
				osd_DrawRegionString(GOTO_TRK0+8,0,"          ",REGION2_BKCOLOR,REGION2_BKCOLOR,2);
				PrintGotoInfo2OSD(disp_trk_now,tt,GOTO_TRK0 + 10,TITLE,need_hi);
				
			} 
			else 
			{            
				osd_DrawRegionString(GOTO_TRK0,0,"                      ",REGION2_RCOLOR,REGION2_BKCOLOR,2);
				PrintGotoInfo2OSD(STR_OS_TT,0,GOTO_TRK0,0, need_hi);	
				PrintGotoInfo2OSD(get_tt_info(DISP_TT),get_tt_info(DISP_TT_Ns),GOTO_TRK0_VAL,TITLE,need_hi);               
				PrintGotoInfo2OSD(STR_OS_CHP,0,GOTO_CHP0,0, need_hi);        
				PrintGotoInfo2OSD(get_tt_info(DISP_CH),get_tt_info(DISP_CH_Ns),GOTO_CHP0_VAL,CHARPTER, need_hi);
			}
    		break;
    	case 1:
    		//show charpter : time
    		if(cd_type_loaded == CDDVD)
    		{
    			
    			osd_DrawRegionString(GOTO_TRK0,0,"                      ",REGION2_RCOLOR,REGION2_BKCOLOR,2); //linrc add 2004-7-6 14:28 I find it is a bug.so I modyfy
    			PrintGotoInfo2OSD(STR_OS_TT,0,GOTO_TRK1,0,need_hi);  
                                  #ifndef  NINTAUS_DVD	//2004-2-24 09:31张宇M	
				PrintGotoInfo2OSD(get_tt_info(DISP_TT),get_tt_info(DISP_TT_Ns),GOTO_TRK1_VAL,TITLE, need_hi); 
                                  #endif				
				PrintGotoInfo2OSD(STR_OS_TIME,0,GOTO_S_TIMER,0,need_hi);                
				PrintGotoInfo2OSD(0,1,GOTO_TIMER_VAL,TIME,need_hi);              
    		}
    		else//VCD/CD    		
    		{
    			
    			//PrintGotoInfo2OSD(STR_OS_TRACK,0,GOTO_TRK1,0,need_hi);          
    			PrintGotoInfo2OSD(STR_OS_DISCTIME,0,GOTO_TRK1,0,need_hi);                
				osd_DrawRegionString(GOTO_TRK1+8,0,"          ",REGION2_BKCOLOR,REGION2_BKCOLOR,2);
				PrintGotoInfo2OSD(0,1,GOTO_TRK1+10,TIME,need_hi);
    		}
    		break;
    	case 2:
    		if(cd_type_loaded == CDDVD)
    		{
    			//osd_DrawRegionString(GOTO_TRK0,0,"                      ",3,3,2);
    			PrintGotoInfo2OSD(STR_OS_CHP,0,GOTO_CHP2,0, need_hi);        
                             #ifndef NINTAUS_DVD	//2004-2-24 09:31张宇M			
				PrintGotoInfo2OSD(get_tt_info(DISP_CH),get_tt_info(DISP_CH_Ns),GOTO_CHP2_VAL,CHARPTER, need_hi);
			 #endif
				PrintGotoInfo2OSD(STR_OS_TIME,0,GOTO_S_TIMER,0,need_hi);                
				PrintGotoInfo2OSD(0,1,GOTO_TIMER_VAL,TIME,need_hi);              
    		}
    		else// VCD/CD  		
    		{
    			PrintGotoInfo2OSD(STR_OS_TRACK,0,GOTO_TRK1,0,need_hi);          
    			PrintGotoInfo2OSD(STR_OS_TIME,0,GOTO_TRK1+4,0,need_hi);                
				osd_DrawRegionString(GOTO_TRK1+8,0,"        ",REGION2_BKCOLOR,REGION2_BKCOLOR,2);
				PrintGotoInfo2OSD(0,1,GOTO_TRK1+10,TIME,need_hi);  
    		}
    		break;
    	default:
    		break;
    		 
	}
	
	timeout_osd[2]= 3*OSD_TIMEOUT;
}
#endif//end DIV_GOTO_DISPLAY

#ifdef DISPLAY_MP4_VER_PI	
static inline void disp_mp4_ver_pi(void)
{   	
	int i;
   	avi_video_info info;		
   	get_avi_video_version(&info);
   	   	
   	strcpy(linebuf, "MPEG4");  
	do_DispOSD0String(COOK_CD, 0, linebuf, DISP_ORANGE, DISP_SHADOW);
	
	//version Promt symbol	& version
	strcpy(linebuf, "VER");
	do_DispOSD0String(COOK_TRK+2, 0, linebuf, DISP_WHITE, DISP_SHADOW);	
	for(i = 0; i<5; i++)
		linebuf[i] = info.version_str[i];
	linebuf[5] = '\0';		       
   	do_DispOSD0String(COOK_TRK_VAL+2, 0, linebuf, DISP_YGREEN, DISP_SHADOW);	
   	  	
   	strcpy(linebuf, "SIZE");
	do_DispOSD0String(COOK_SPK+8, 0, linebuf, DISP_WHITE, DISP_SHADOW);		        			
	psprintf(linebuf, "%dX%d", info.width,info.height);
   	do_DispOSD0String(COOK_SPK+8+5, 0, linebuf, DISP_YGREEN, DISP_SHADOW);
}
#endif

#ifdef DISPLAY_MP4_AV_INFO  //Maoyong 2004.06.29. display MP4 video codec mode and audio coding mode
static inline void disp_mp4_av_info(void)
{
    int i;
   	avi_video_info info;

   	get_avi_video_version(&info);

   	strcpy(linebuf, "MPEG4");
	do_DispOSD0String(COOK_CD+1, 0, linebuf, DISP_ORANGE, DISP_SHADOW);

	//version Promt symbol	& version
	strcpy(linebuf, "VIDEO");
	do_DispOSD0String(COOK_TRK+2, 0, linebuf, DISP_WHITE, DISP_SHADOW);
	for(i = 0; i<5; i++)
		linebuf[i] = info.version_str[i];
	linebuf[5] = '\0';
   	do_DispOSD0String(COOK_TRK+8, 0, linebuf, DISP_YGREEN, DISP_SHADOW);

	psprintf(linebuf, "%dX%d", info.width,info.height);
   	do_DispOSD0String(COOK_TRK+8+6, 0, linebuf, DISP_YGREEN, DISP_SHADOW);

    //display dsp audio code mode
    strcpy(linebuf, "AUDIO");
	do_DispOSD0String(COOK_TRK_VAL+18, 0, linebuf, DISP_WHITE, DISP_SHADOW);
	printf("=========== coding mode now : %x==============\n", coding_mode_now);
    if( coding_mode_now == AUDIF_CODING_MODE_AC3 )
        strcpy(linebuf, "AC3 ");
    else if( coding_mode_now == AUDIF_CODING_MODE_LPCM )
        strcpy(linebuf, "LPCM");
    else if( coding_mode_now == AUDIF_CODING_MODE_WMA )
        strcpy(linebuf, "WMA ");
    else if( coding_mode_now == AUDIF_CODING_MODE_DTS )
        strcpy(linebuf, "DTS ");
    else if( coding_mode_now == AUDIF_CODING_MODE_MP3 )
        strcpy(linebuf, "MP3 ");
    else
        strcpy(linebuf, "    ");
   	do_DispOSD0String(COOK_TRK_VAL+18+6, 0, linebuf, DISP_YGREEN, DISP_SHADOW);
   	
}
#endif

//Maoyong 2004.05.24 for display HDCD/DTSCD/CDG... sub cd type info
void DispCDSubtypeInfo(void)
{
#ifdef SDRAM_16Mb_Mode
	#ifdef JUST_SHOW_CD_TYPE		//Maoyong for NINTAUS not show CD ICON but type in icon pos 2004.02.11
	do_DispOSD0String(COOK_CD, 0, linebuf, 2, DISP_SHADOW);
	#else
	do_DispOSD0String(COOK_PBC, 0, linebuf, 2, DISP_SHADOW);
	#endif		
#else
	#ifdef JUST_SHOW_CD_TYPE		
	do_DispOSD0String(COOK_CD, 0, linebuf, DISP_ORANGE, DISP_SHADOW); //Jeff 20020413
    #else
	do_DispOSD0String(COOK_PBC, 0, linebuf, DISP_YGREEN, DISP_SHADOW); //Jeff 20020413
	#endif			
#endif
} 

//Maoyong 2004.05.24 moved from DispCookOSD0 for t_disp == 0
#if defined(SUPPORT_USB)
BYTE IsUSBCardReader(void);
#endif
void DispCDTypeInfo(void)
{
    //for special Card/Card reader meida type
    #if defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE) //Maoyong 2004.05.24
    #ifdef DISPLAY_MEDIA_TYPE           
    if( (cd_type_loaded == CDROM) && (media_type == MEDIA_CARD)  )
    {
        //Usb card and SD/MS/CF... treated as card, USB single device display USB
        #ifdef SUPPORT_USB
        if( (storage_type & USB_DEVICE) && (!IsUSBCardReader()) )
            strcpy(linebuf, "USB  ");           
        else
        #endif
            strcpy(linebuf, "CARD ");   //maybe can show card type/number for CARD_STORAGE
            
        do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);    
        return; 
    } 
    #endif
    #endif
    
    #if  defined( SKYWORTH_DVD)||defined(NOSHOW_CDROM_WHEN_DISP)	//wthsin 031021
	if(cd_type_loaded==CDROM)  //CD-ROM Disk
	{
	    if(Is_MP3_STATE())
	    {
	        io_write("4");	
	        strcpy(linebuf, "MP3 ");
	        do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);
	    }
	    else if(Is_JPEG_STATE())	
	    {
	         
	        if(pFsJpeg->gbfsPictureCD) //Kodak Picture CD
	        {	
	            #ifndef NOSHOW_CDROM_WHEN_DISP  //zhangyu 2004-6-14 19:35
	     	    Print2OSDmem(osd_cd_id[0],0,COOK_CD);
	            #else
	     	     io_write("4");	
	             strcpy(linebuf, "PICTURE CD");
		         do_DispOSD0String(25, 0, linebuf, DISP_ORANGE, DISP_SHADOW);	
	            #endif
	        }
	        else 
	          
	        {	

⌨️ 快捷键说明

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