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

📄 display_hl.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 5 页
字号:
            shift = 3;
        }
    }
    else//cd_type_loaded != CDROM
#endif//#ifdef MP3_DIRECT_SELECT
    {
	if(index_x ==0)
	{
		psprintf(buf, "%01d",id/10); 
		shift = 0;	
	}
	//osd_draw_region_rect(pos, 0,2*16, 2*16 , 5,2);	
	else if(index_x == 1)
	{
		psprintf(buf, "%01d",id%10); 
		shift = 1;
	}
    }//if (cd_type_loaded != CDROM)

	osd_DrawRegionString(pos+shift,0,buf, REGION2_NUMCOLOR, REGION2_HL_COLOR, 2);
}
#endif//ifndef DIV_GOTO_DISPLAY

void time_trans2hms(void) //xyy 2003-7-29 11:42
{
	UINT32 time=goto_time;
	goto_time=goto_time%10000000;
	goto_sec=time%100;            
	time=time/100;
	goto_min=time%100;
	time=time/100;
	goto_hour=time%100;             
}

#ifndef OSD_BMP_DISPLAY
void Print2OSDmem(int id,int val,UINT8 pos)
{
	BYTE    fontColor, bkColor; 
    
	bkColor = DISP_SHADOW; //OSD shadow color
	fontColor = DISP_GREEN; //green
    
	if(val) {       
		fontColor = DISP_YGREEN; //yellow-green                       

#ifndef DIV_GOTO_DISPLAY//zhaoyanhua add 03-10-22 10:58
		if(full_scrn&GOTO) {    
#ifdef NEW_GOTO//kenny 2002/4/13
			if(val&COOK_S_TIMER) {
				if(index_x>=5)
				{
					time_trans2hms();    //xyy 2003-7-29 11:42       
						#ifdef NOT_SHOW_TIME_IN_JPG
							if(Is_JPEG_STATE())
 					    	psprintf(linebuf, "       ");
					else
									psprintf(linebuf, " %02d:%02d:%02d", goto_hour, goto_min, goto_sec);  
						#else
							psprintf(linebuf, " %02d:%02d:%02d", goto_hour, goto_min, goto_sec);   
					#endif
				} else {
						#ifdef NOT_SHOW_TIME_IN_JPG
					if(Is_JPEG_STATE())
 					    	psprintf(linebuf, "       ");
					else
									psprintf(linebuf, " %02d:%02d:%02d", goto_hour, goto_min, goto_sec);  
						#else
							psprintf(linebuf, " %02d:%02d:%02d", goto_hour, goto_min, goto_sec);   
					#endif	
					
					if((remain==DISC_REMAIN_TIME)||(remain==TRK_REMAIN_TIME)) // terry 2002/6/4 09:48PM : solve time in goto mode without '-'
					linebuf[0]='-';
				}
			} else 
			{
#ifdef  NEW_DISPLAY_GOTO_OSD
                                if(pos!=POS_DVD_CHAP)
                                {
                                    //if(dvd_title)
                                    //liulifeng marked for when user goto
                                    // first enter a big number ex.124, next enter a litte ex.018
                                    // the display track not refresh immediately
                                        id=dvd_title;
                                    if(cd_type_loaded==CDDVD)
                                        psprintf(linebuf, "T %02d/%02d", id, val);
                                    else if (cd_type_loaded == CDROM)
                                        psprintf(linebuf, " TRK %04d/%d", id, val);
                                    else
                                        psprintf(linebuf, " TRK %02d/%02d",id,val);
                                }
                                else
                                {
                                    if(dvd_chapter) 
                                        id=dvd_chapter;
                                    psprintf(linebuf, "C %03d/%03d", id, val);
                                }
#else//#ifdef  NEW_DISPLAY_GOTO_OSD
				if(pos!=COOK_CHP_VAL) 
				{//title            
					//if(dvd_title)
                    //liulifeng marked for when user goto
                    // first enter a big number ex.124, next enter a litte ex.018
                    // the display track not refresh immediately
						id=dvd_title;
					
					#ifdef MP3_2GOTO_TYPE
					if((!index_x) && (cd_type_loaded==CDROM) && (pFsJpeg->ControlArea == CNT_AREA_DIR))
					    id = pFsJpeg->fsnav_dir_now+1;
                    #endif
                    
					//Maoyong 2004.04.28 marked	MP3_DIRECT_SELECT
			//#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, "%04d/%02d",id,val);                  
			//#endif

				} else {
					if(dvd_chapter) 
						id=dvd_chapter;
					psprintf(linebuf, "%03d/%03d",id,val);          
				}
#endif//#ifdef  NEW_DISPLAY_GOTO_OSD
			}   
#else   //#ifdef NEW_GOTO
			if(val&COOK_S_TIMER) {
				if(index_x==2) {
					UINT32 time=goto_time;
                    
					bkColor = DISP_GBLUE;                        
					fontColor = DISP_WHITE; 
					goto_time=goto_time%10000000;
					goto_sec=time%100;            
					time=time/100;
					goto_min=time%100;
					time=time/100;
					goto_hour=time%100;             
					psprintf(linebuf, " %02d:%02d:%02d", goto_hour, goto_min, goto_sec);            
				} else {
                    psprintf(linebuf, " %02d:%02d:%02d", show_time_hh, show_time_mm, show_time_ss);
				}
			} else {
				if(pos!=COOK_CHP_VAL) {//title          
					if(index_x==0) {
						bkColor = DISP_GBLUE;                                
						fontColor = DISP_WHITE; 
					}
                    
					if(index_x!=2) {
						if(dvd_title) {
							if(dvd_title>val)
								dvd_title=dvd_title%10;
                            
							id=dvd_title;
						}
					}
					
					psprintf(linebuf, "%02d",id);                   
				} else {
					if(index_x==1) {
						bkColor = DISP_GBLUE;    
						fontColor = DISP_WHITE; 
					}
					
					if(index_x!=2) {
						if(dvd_chapter) {
							if(dvd_chapter>val)
								dvd_chapter=dvd_chapter%10;
                            
							id=dvd_chapter;
						}
					}
					psprintf(linebuf, "%03d",id);   
				}
                
                io_write("9");
#ifdef SDRAM_16Mb_Mode 
				do_DispOSD0String(pos, 0, linebuf, 2, 0); 
#else
				do_DispOSD0String(pos, 0, linebuf, fontColor, bkColor); 
#endif				
#ifdef DISP_REGION_BOTTOM
				if(OSD_ShowBottomDisp() == 1)
					bkColor = DISP_SHADOW_CDROM;
				else
#endif//DISP_REGION_BOTTOM				    
					bkColor = DISP_SHADOW; //OSD shadow color                
				
				if(pos==COOK_CHP_VAL) {
					pos+=3;
					psprintf(linebuf, "/%03d",val); 
				} else {
					pos+=2;
					psprintf(linebuf, "/%02d",val);
				}
			}               
#endif//NEW_GOTO
		}
			
        else 
#endif//end ifndef DIV_GOTO_DISPLAY		
			
       if(val&COOK_S_TIMER)
        {
	        
	        if ((cd_type_loaded == CDROM) && (Is_JPEG_STATE()))  // Add by David for Jpeg time display bug 2003-12-1 16:28
                {
                    show_time_hh = 0;
                    show_time_mm = 0;
                    show_time_ss = 0;
                } 
                 #ifdef NOT_SHOW_TIME_IN_JPG    //axel 2004/1/8 04:58PM        
				    #ifdef NOSHOW_CDROM_WHEN_DISP  //zhangyu 2004-6-14 20:35
				    if(!(pFsJpeg->gbfsPictureCD))
				    #endif
				        if(Is_JPEG_STATE())
 					    psprintf(linebuf, "       ");
					    else
				#endif	
				#ifdef NOSHOW_CDROM_WHEN_DISP
				if(!(pFsJpeg->gbfsPictureCD))
				#endif
			psprintf(linebuf, " %02d:%02d:%02d", show_time_hh, show_time_mm, show_time_ss);         

            if((remain==DISC_REMAIN_TIME)||(remain==TRK_REMAIN_TIME)) // terry 2002/6/4 09:48PM : solve time in goto mode without '-'
        #ifdef NOT_SHOW_TIME_IN_JPG    //Maoyong for not display "-" when jpeg 2004.02.13      
			if(!Is_JPEG_STATE())		
		#endif	
			linebuf[0]='-';
            
        }
        else if(val&COOK_S_LANG)
        {           	
        	/* alan modifide 2002/5/30 09:53PM to cut SUP-LAN fit in display */
        	UINT8 *str=get_lang_name(id);
			BYTE len=strlen(str);
			
			//terry,2002/6/25 10:37AM
			//<bug> get_lang_name return const string        				
			strcpy(linebuf,str);
            if (!IsOSDChinese()||((linebuf[0]>='A')&&(linebuf[0]<='Z'))) 
            {
				linebuf[MAX_ENG_WORDS]='\0';
            } else 
            {
				if (len>4){
#if defined(USE_TCHINESE_OSD)//2-10-9 17:51
					psprintf(linebuf+2,"%s",TCh_yu);
#else
					        #ifdef USE_KOREAN_OSD		//clead korean 2003-10-23 
					        psprintf(linebuf+2,"%s",KCh_09);
					        #else
					psprintf(linebuf+2,"%s",Ch_yu2);
#endif
#endif
				}
			}
                        
		} else if(val&COOK_S_MODE)
		{
			psprintf(linebuf,"%s",get_audio_mode());                
			
		}else if(full_scrn&MARK)//nono 2-6-22 0:28
		{
			psprintf(linebuf, "%d",id);
			
		}
        else
		{
                    #ifdef  NEW_DISPLAY_GOTO_OSD
                            if(cd_type_loaded==CDDVD)
                            {
                                if(pos==POS_DVD_TITLE)
                                    psprintf(linebuf, "T %02d/%02d", id, val);
                                else if(pos==POS_DVD_CHAP)
                                    psprintf(linebuf, "C %03d/%03d", id, val);
                            }
                            else
                                psprintf(linebuf, " TRK %d/%d", id, val);
                    #else
			psprintf(linebuf, "%d/%d",id,val);
                    #endif
		}
        } else {
			if(id==STR_OS_ICON_REP0) {
				id+=rep_mode; 
				if(rep_mode == REPEAT_DISC)         // maybe add another icon for repeat directory,panxing, 2002-3-13
					id--;
			}
			
			//psprintf(linebuf,"%s",_OsdMessegeFont1[id][osd_font_mode]);               
			psprintf(linebuf,"%s",_OsdMessegeFont1[osd_font_mode][id]);
			
			if( (pos==COOK_CD)&&(t_disp%10==1) ) { //Jeff 20020607
				fontColor = DISP_ORANGE;
			}
			//else if( (id==STR_OS_ANGLE)||(id==STR_OS_SUBTITLE)||(id==STR_OS_AUDIO) )
            //strcat1(linebuf,":");
			
			if(id==STR_OS_ICON_SPK) {
				fontColor = DISP_YGREEN; //yellow-green
				if (user_mute) 
					fontColor = DISP_GRAY; //gray              
			} else if(id==STR_OS_PBC) {    
				if ( IsPBCOn() ) 
					fontColor = DISP_YGREEN; //yellow-green
				else 
				//if 16Mb mode,not show PBC if PBC is OFF.
				//zhaoyanhua add 2003-11-13 15:51
				#ifdef SDRAM_16Mb_Mode	
				
					linebuf[0]= '\0';
				#else
				
					fontColor = DISP_GRAY; //gray
				#endif
			}
        }
		
        {//bad designed , we maybe try other way.
			//int len=strlen(linebuf);
			//if((len+pos)>=37)
			//linebuf[len-1]=0;
			io_write("8");
#ifdef SDRAM_16Mb_Mode
			do_DispOSD0String(pos, 0, linebuf, 2, 0);
#else
			do_DispOSD0String(pos, 0, 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
	//#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);
				}
				else if(pos==COOK_TRK_VAL)
					hi_light_title(id,pos);
				
			}
#endif//#ifdef  NEW_DISPLAY_GOTO_OSD
#endif
#endif//end ifndef DIV_GOTO_DISPLAY
        }
}
#else //OSD_BMP_DISPLAY
/*
 * Description;
 *      Print Bmp icon, origin size 16*24 string and little size string 8*12 to osd_temp_buf
 *
 * INPUT:
 *      id  -->  when string, string id in _OsdMessegeFont1[][]
 *      val  -->  0-->no change, COOK_S_TIME, COOK_S_LANG
 *      pos   --> the xStart of display region 0; it has been defined in disp.c; it ranges 0 to 720

 * Creator : feeling
 * Date :  2004-8-14
 *
 */

void Print2OSDmem(int id,int val,UINT32 pos)
{
	//printf("id=%d\n", id);
	//printf("pos = %d\n", pos);
	BYTE    fontColor, bkColor; 
    UINT8 disc_hour,disc_minute,disc_second;
    UINT32 display_disc_time;

	//adjust xStart for cdrom
/*	if(cd_type_loaded == CDROM)
	{
		    #undef COOK_CD
		    #undef COOK_TRK
		    #undef COOK_TRK_VAL
	//	    #undef COOK_CHP
	//	    #undef COOK_CHP_VAL
		    #undef COOK_REP
		    #undef COOK_SPK
		    #undef COOK_CLOCK
		    #undef COOK_CLOCK_VAL

		    #define COOK_CD	COOK_CDROM
		    #define COOK_TRK	COOK_TRK_CDROM
		    #define COOK_TRK_VAL	COOK_TRK_VAL_CDROM
	//	    #define COOK_CHP	COOK_CHP_CDROM
	//	    #define COOK_CHP_VAL	COOK_CHP_VAL_CDROM
		    #define COOK_REP	COOK_REP_CDROM
		    #define COOK_SPK	COOK_SPK_CDROM
		    #define COOK_CLOCK	COOK_CLOCK_CDROM

⌨️ 快捷键说明

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