📄 display_hl.h
字号:
io_write("4");
strcpy(linebuf, "JPEG");
do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);
}
}
else
{
io_write("4");
strcpy(linebuf, "MPEG");
do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);
}
}
else //if(cd_type_loaded==CDROM) //CD-ROM Disk
#endif
#ifdef SHOW_DVD_ROM//20040210
if( (is_svo_dvd())&&(cd_type_loaded==CDROM) )
{
strcpy(linebuf, "DVDROM");
do_DispOSD0String(0, 0, linebuf, DISP_ORANGE, DISP_SHADOW);
}else
#endif//SHOW_DVD_ROM
#ifdef JUST_SHOW_CD_TYPE
if( cd_type_loaded != CDDA) //Maoyong 2004.02.11
#endif
{
#ifdef DVD_SERVO
#if 1//20040219
if ((cd_type_loaded == CDVCD10) && (is_svo_dvd()))
Print2OSDmem(osd_cd_id[CDDVD],0,COOK_CD);
else
#endif
#endif // DVD_SERVO
Print2OSDmem(osd_cd_id[cd_type_loaded],0,COOK_CD);
}
}
void DispCookOSD0(BYTE bChange)
{
#ifndef SDRAM_16Mb_Mode
UINT32 *buf;
#endif
int id;//nono 2-7-12 20:36
#ifdef DISP_REGION_BOTTOM
UINT8 uiRegion = OSD_GetTrueDispRegion();
#else
UINT8 uiRegion = 0;
#endif
if (t_disp==0) return;
t_disp=t_disp%10;
//Maoyong 2004.05.11 avoid bug, show mp4 info just for MP4 file in playing state
#ifdef DISPLAY_MP4_VER_PI
if( (cd_type_loaded == CDROM) && (t_disp == 2) )
{
if( (GetCurrentFileType() != CDROM_MP4) || (pFsJpeg->gifsState != FS_STATE_OTHER) )
t_disp = 1;
}
#endif
#ifndef SDRAM_16Mb_Mode
#ifdef OSD_VARIABLE_TEMP_DISPLAY_BUF
//different display bar has different background color.
temp_region_top_buf = (UINT32 *)get_osdbuf_region_ptr(temp_region,0);
temp_region_bottom_buf = (UINT32 *)get_osdbuf_region_ptr(temp_region,1);
#else
buf = (UINT32 *)osd_temp_buf;
#endif
#endif
if (bChange) {
//clear all temp-buf, Jeff 20020618
//printf("change\n");
#ifndef SDRAM_16Mb_Mode
#ifdef OSD_BMP_DISPLAY
#ifdef DISP_REGION_BOTTOM
if (OSD_ShowBottomDisp() == 1)
{
#ifdef OSD_VARIABLE_TEMP_DISPLAY_BUF
//display bar,height:32 piexl
if (p_scan==1)
memset(temp_region_top_buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),32*360);
else
{
memset(temp_region_top_buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),28*180);
memset(temp_region_bottom_buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),28*180);
}
#else
memset(buf,(DISP_SHADOW_CDROM<<12 |DISP_SHADOW_CDROM<<8 | DISP_SHADOW_CDROM << 4 | DISP_SHADOW_CDROM),12*1024);
#endif
}
else
#endif//DISP_REGION_BOTTOM
{
#ifdef OSD_VARIABLE_TEMP_DISPLAY_BUF
if ( p_scan==1)
{
//display bar,height:28 piexl
memset(temp_region_top_buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),28*360);
//add a gray color bar,height:4 pixel
memset(temp_region_top_buf + 7*360,0xffff,4*360);
}
else
{
//display bar,height:28 piexl
memset(temp_region_top_buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),28*180);
memset(temp_region_bottom_buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),28*180);
//add a gray color bar,height:4 pixel
memset(temp_region_top_buf + 7*180,0xffff,4*180);
memset(temp_region_bottom_buf + 7*180,0xffff,4*180);
}
#else
memset(buf,(DISP_SHADOW<<12 |DISP_SHADOW<<8 | DISP_SHADOW << 4 | DISP_SHADOW),12*1024);
buf = (UINT32 *)(osd_temp_buf + (region[uiRegion].osd_h-4)*region[uiRegion].osd_w);
memset(buf,0xffff,2*1024);//f presents display gray color
#endif
}
#else
memset(buf,0,8*1024);
#endif
#else
{
int i,j,line=12;
if (p_scan)
line=24;
pTopLine = (UINT32 *)(((BYTE *)get_osdbuf_baseptr()) + (region[uiRegion].osd_header[0]+OSD_DATA_OFFSET(region[uiRegion].osd_format))*32);
pBtmLine = (UINT32 *)(((BYTE *)get_osdbuf_baseptr()) + (region[uiRegion].osd_header[1]+OSD_DATA_OFFSET(region[uiRegion].osd_format))*32);
for (i=0; i<line; i++)
{
for (j=0; j<38; j++)
{
pTopLine[38*i+j] = 0x0; //f is the color index(palette_16color_setup) of transparent color
if (p_scan==0)
pBtmLine[38*i+j] = 0x0; //0 is the transparent color
}
}
}
#endif//SDRAM_16Mb_Mode
if (cd_type_loaded==CDDA)
{//Jeff 20020619
if (rep_ab_mode==REPEAT_AB_IDLE)
{
//when cd_type_loaded=CDDA, system will check which cddaType(CDDA/DTSCD/HDCD),
//to reduce " " , "HD/DTS" string(on OSD) change
//we add this checking
cddaType = 0;
}
else
{
#ifndef NO_CHANGE_HDCD_COLOR_WHEN_REPEAT_AB//zhaoyanhua add 2003-12-12 15:12
if (cddaType==1)
{ //HDCD
//strcpy(linebuf, "HDCD");
io_write("4");
#ifdef NO_SHOW_HDCD_ICON//nono 2003-10-24 13:58
strcpy(linebuf, " "); //Jeff 20020413
#else//NO_SHOW_HDCD_ICON
strcpy(linebuf, "HDCD"); //Jeff 20020413
#endif//NO_SHOW_HDCD_ICON
// strcpy(linebuf, "HDCD");
DispCDSubtypeInfo(); //Maoyong 2004.05.24
}
#endif//NO_CHANGE_HDCD_COLOR_WHEN_REPEAT_AB
}
}
#ifdef OSD_BMP_DISPLAY
if(t_disp)
DispCDTypeInfo();
#endif//OSD_BMP_DISPLAY
if(t_disp==1) { //Jeff 20020607
#ifndef OSD_BMP_DISPLAY
#ifndef NEW_DISPLAY_GOTO_OSD
DispCDTypeInfo(); //Maoyong 2004.05.24 build function for code more clear
#endif//#ifndef NEW_DISPLAY_GOTO_OSD
#endif//OSD_BMP_DISPLAY
if(cd_type_loaded!=CDDVD) {
int spk_pos,tt;
#ifdef MP3_2GOTO_TYPE
if(cd_type_loaded==CDROM)
{
if(pFsJpeg->ControlArea == CNT_AREA_FILE)
Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);
else if(pFsJpeg->ControlArea == CNT_AREA_DIR)
Print2OSDmem(STR_OS_DIR,0,COOK_TRK);
}
else
#endif
//Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);
#ifdef VCD_GAME_NO_SHOW_TRACK //gerry,2003-12-1 10:13
if (cd_type_loaded!=CDVCD20)
{
Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);
}
else
{
if((bDiscType != NES_DISC) && (bDiscType != NES_DISC_CHKSUM))
Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);
}
#else
#ifndef NEW_DISPLAY_GOTO_OSD
Print2OSDmem(STR_OS_TRACK,0,COOK_TRK);
#endif//#ifndef NEW_DISPLAY_GOTO_OSD
#endif //#ifdef VCD_GAME_NO_SHOW_TRACK
if(cd_type_loaded==CDROM)
{
extern UINT16 mp3_file_count(void);
#ifdef MP3_2GOTO_TYPE
if(pFsJpeg->ControlArea == CNT_AREA_FILE)
tt=mp3_file_count();//nono 2-4-22 14:05 for fuss
else if(pFsJpeg->ControlArea == CNT_AREA_DIR)
{
disp_trk_now = pFsJpeg->fsnav_dir_now+1;
tt = pFsJpeg->count_dir[ FS_FUNC_MP3-FS_FUNC_MP3 ]; // yltseng 2004/04/12, fix from absolutely access to relative access
}
#else
tt=mp3_file_count();//nono 2-4-22 14:05 for fuss
#endif
if(play_state==VCD_STATE_STOP)//Maoyong 2004.03.16
disp_trk_now=tt;//nono 2-4-22 14:05 for fuss
spk_pos=COOK_SPK_MP3;
} else
{
tt=cd_total_trk();
#ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK //linrc add 2004-10-29 11:16
/*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000))
{
tt += 1;
}
#endif
spk_pos=COOK_SPK;
#ifdef EASTWIN_PORTABLE_DVD
if(play_state==VCD_STATE_STOP)//tulijuan040824for for stop and goto command display 1 ofcdda and vcd
disp_trk_now=1;
#endif
}
//Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);
#ifdef VCD_GAME_NO_SHOW_TRACK //gerry,2003-12-1 10:14
if (cd_type_loaded!=CDVCD20)
{
Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);
}
else
{
if((bDiscType != NES_DISC) && (bDiscType != NES_DISC_CHKSUM))
Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);
}
#else
#ifdef NOCHANGE_DISPLAY_WHEN_PRESTOP
if((play_state==VCD_STATE_STOP)//get the current count of mp3 file
&&(resumeMSF!=0))//wuxiaofeng 2004-03-04
{
if(cd_type_loaded==CDROM)
disp_trk_now = FSGUI_GetDispTrack();
//if((cd_type_loaded==CDDA)||(cd_type_loaded==CDVCD20))
// disp_trk_now = cd_trk_now;
else if(cd_type_loaded!=CDDVD) //hq, 2004-3-7 16:20
{
/* marked by hq
printf("<%d,%d,%d,%d,%d,%d>",v11_trk_now,cd_trk_now,cd_trk_lo,cd_trk_hi,cd_trk_lo_now,disp_trk_now);
if(cd_trk_now >= show_trk_num(cd_trk_hi)) //hq, for CD, STOP Key-->PREVIEW Key, when finished, OSD don't display one more than cd_trk_hi. 2004-3-7 16:26
disp_trk_now = cd_trk_hi;
else
disp_trk_now = cd_trk_now;
*/
disp_trk_now = show_trk_num(cd_trk_now);
//printf("<%d,%d,%d,%d,%d,%d>",v11_trk_now,cd_trk_now,cd_trk_lo,cd_trk_hi,cd_trk_lo_now,disp_trk_now);
}
}
#endif
#ifdef STOP_TRK_DISP_ZERO //Maoyong 2004.06.30
if(play_state == VCD_STATE_STOP)
disp_trk_now = 0;
#endif
#ifdef MIX_CDMP3_DISC_DISPLAY_REAL_CD_TRK //linrc add 2004-10-29 11:19
/*when play the cd+mp3 disc(ABEX TEST CD 786),it display the real CD TRK*/
if((cd_type_loaded == CDDA)&&((pFsJpeg->cdrom.track_info[1]&0x40000000) == 0x40000000)
&&(play_state==VCD_STATE_STOP))
{
disp_trk_now += 1;
}
#endif
#ifdef NEW_DISPLAY_GOTO_OSD
Print2OSDmem(disp_trk_now,tt, POS_TRACK);
#else
Print2OSDmem(disp_trk_now,tt,COOK_TRK_VAL);
#endif//#ifndef NEW_DISPLAY_GOTO_OSD
#endif//#ifdef VCD_GAME_NO_SHOW_TRACK
#ifndef NEW_DISPLAY_GOTO_OSD
#ifdef NOT_SHOW_SOME_INFO_IN_JPEG
if(!(Is_JPEG_STATE()))
#endif
{
#ifdef SDRAM_16Mb_Mode//2004-7-3 15:10
if(user_mute)
Print2OSDmem(STR_OS_SPACE,0,spk_pos);
else
#endif//SDRAM_16Mb_Mode
Print2OSDmem(STR_OS_ICON_SPK,0,spk_pos);
#ifdef VALID_PROGROM_REPEAT
if( (prog_cnt)&&(rep_mode == REPEAT_IDLE) )
#ifdef STOP_IN_PROG_END//zhuyanfeng 20041025//to avoid display err when use program repeat off function
Print2OSDmem(STR_OS_ICON_REP0,0,COOK_REP);
#else
Print2OSDmem(STR_OS_ICON_REPD,0,COOK_REP);
#endif
else
#endif
#ifdef ICON_REPEAT_FOLDER //zhuyf 2004-8-10
if( rep_mode==REPEAT_DIRECTORY)
Print2OSDmem(STR_OS_ICON_REPF,0,COOK_REP);
else
#endif
Print2OSDmem(STR_OS_ICON_REP0,0,COOK_REP);
}
if( (cd_type_loaded!=CDDA)&&(cd_type_loaded!=CDROM) ) {
Print2OSDmem(STR_OS_PBC,0,COOK_PBC);
}
#endif//#ifndef NEW_DISPLAY_GOTO_OSD
} else {
#ifdef STOP_TRK_DISP_ZERO //Maoyong 2004.06.30
if(play_state == VCD_STATE_STOP)
disp_trk_now = 0;
#endif
#ifdef NOCHANGE_DISPLAY_WHEN_PRESTOP //wuxiaofeng, 2004-3-9 21:54
if(play_state==VCD_STATE_STOP)
{
if(resumeMSF) //Pre-stop in DVD, hq, 2004-3-9 21:58
{
Print2OSDmem(STR_OS_TT,0,COOK_TRK);
Print2OSDmem(pDSV->rsm_info[0].dRSM_TTN,get_tt_info(DISP_TT_Ns),COOK_TRK_VAL);
Print2OSDmem(STR_OS_CHP,0,COOK_CHP);
Print2OSDmem(pDSV->rsm_info[0].dRSM_PTTN,get_tt_info(DISP_CH_Ns),COOK_CHP_VAL);
}else //Stop in DVD, hq, 2004-3-9 21:59
{
Print2OSDmem(STR_OS_TT,0,COOK_TRK);
Print2OSDmem(get_tt_info(DISP_TT_Ns),get_tt_info(DISP_TT_Ns),COOK_TRK_VAL);
Print2OSDmem(STR_OS_CHP,0,COOK_CHP);
Print2OSDmem(get_tt_info(DISP_CH_Ns),get_tt_info(DISP_CH_Ns),COOK_CHP_VAL);
}
}
else
#endif
{
#ifdef NEW_DISPLAY_GOTO_OSD
Print2OSDmem(get_tt_info(DISP_TT),get_tt_info(DISP_TT_Ns), POS_DVD_TITLE);
Print2OSDmem(get_tt_info(DISP_CH),get_tt_info(DISP_CH_Ns), POS_DVD_CHAP);
#else//#ifdef NEW_DISPLAY_GOTO_OSD
Print2OSDmem(STR_OS_TT,0,COOK_TRK);
Print2OSDmem(get_tt_info(DISP_TT),get_tt_info(DISP_TT_Ns),COOK_TRK_VAL);
Print2OSDmem(STR_OS_CHP,0,COOK_CHP);
Print2OSDmem(get_tt_info(DISP_CH),get_tt_info(DISP_CH_Ns),COOK_CHP_VAL);
#endif//#ifdef NEW_DISPLAY_GOTO_OSD
}
//Jeff 20020621
if (full_scrn&MARK)
mark_UpdateOSD();
}
//cook TIME icon
#ifdef REMAIN_TIME//nono 2-7-13 11:28 for fuss
//if(t_disp==1)
{
//printf("disp:polling_clock=%d\n",polling_clock);
if(polling_clock<6)
{
if( (remain==DISC_REMAIN_TIME)||(remain==DISC_TIME) )
{
#ifdef REMIAN_TIME_SHOW_FONT
if(IsOSDChinese())
{
if(cd_type_loaded==CDDVD)
id = STR_OS_TITLE;
else
id = STR_OS_ALL;
}else//if(IsOSDChinese())
id = STR_OS_ICON_T;
#else//#endif//REMIAN_TIME_SHOW_FONT
id = STR_OS_ICON_T;
#endif//REMIAN_TIME_SHOW_FONT
}else //if( (remain==TRK_REMAIN_TIME)||(remain==NO_REMAIN_TIME) )
{
#ifdef REMIAN_TIME_SHOW_FONT
if
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -