📄 display_hl.h
字号:
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 + -