📄 modify_browse_func.c
字号:
/*****************************************************\
HISTORY:
Creater: xiongyuyue
Date : 2003/6/28
Description: browse function using
modifier : zhaoyanhua
date: 2003-12-6 16:18
changed the some function of NEW_STYLE_WINDOw:
VCD: DELETE ITEM : playtime
ADD ITEM: : disctime、track time
DVD: DELETE ITEM : time
\*****************************************************/
#ifndef DVDRELEASE
//#define BROWSE_DBG
#endif
#ifdef DYNAMIC_SPECTRUM //fengjl 3-10-30 12:34
extern BYTE band_onoff;
extern void Show3dspectrum(void); //axel 2003/12/2 11:31pm
#endif
#define browse_puts() ((void)0)
#define browse_show_function() ((void)0)
#if 1
#ifdef BROWSE_DBG
#include "sio.h"
#include "emuio.h"
#undef browse_puts
#undef browse_show_function
#define browse_puts puts_w
#define browse_show_function() do {browse_puts(__FUNCTION__); browse_puts("\n");} while (0)
#endif
#endif
/////////////////////////////////////////////////////////////////////////
//wanghaoying 2003-8-12 19:50 added
extern void set_video_aspect(void);
extern void startup_vpp_now(void);
extern void set_vpp_disp_window(UINT32,UINT32,UINT32,UINT32);
/////////////////////////////////////////////////////////////////////////
extern UINT16 mp3_file_count(void); //axel 2003/12/2 11:30pm
///////////////////////////////////////////////////////////////////
//zhaoyanhua add 2003-12-18 15:39
extern BYTE memory_config_saved;//reset.h
extern BYTE GetConfigMode(int config);//memcfg.c
extern void osd_init_newstyle_window_PAL(void);//osd1.c
extern void osd_init_newstyle_window_NTSC(void);//osd1.c
///////////////////////////////////////////////////////////////////
#ifdef NEWSTYLE_WINDOW //xiongyuyue
BYTE bInputState = NON_INPUT_STATE;
int bInputIndex = 0; //for title/chapter search function,
BYTE bTimeInput = 0;
BYTE update_definition = 40;
extern UINT32 PlayBackLength;
void br_Draw8space(BYTE fontColor,BYTE bkColor,BYTE index)
{//erase displayed word and disp new word when press updown key(for draw left item)
strcpy(linebuf," "); //fengjl changed space from 8 to 12 3-11-24 18:52
osd_DrawRegionString(brArea[BR_ITEM_AREA].xStart,brArea[BR_ITEM_AREA].yStart+ITEM_HEIGHT*index,
linebuf,fontColor,bkColor,arc_region_loc.region);
}
void br_Draw18space(BYTE fontColor,BYTE bkColor,BYTE index)
{//erase displayed word and disp new word when press updown key(for draw right item)
strcpy(linebuf," ");
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*index,
linebuf,fontColor,bkColor,arc_region_loc.region);
}
void br_DrawLeftItemStr(BYTE hl_index,BYTE str_index,BYTE fontColor,BYTE bkColor)
{
br_Draw8space(fontColor,bkColor,hl_index);//xyy 2003-7-29 17:12
if(cd_type_loaded==CDDVD)
psprintf(linebuf,"%s",_OsdMessegeFont1[osd_font_mode][string_index_dvd[str_index]]);
else if(cd_type_loaded==CDROM || cd_type_loaded==CDDA)
psprintf(linebuf,"%s",_OsdMessegeFont1[osd_font_mode][string_index_cd[str_index]]);
else
psprintf(linebuf,"%s",_OsdMessegeFont1[osd_font_mode][string_index_vcd[str_index]]);
osd_DrawRegionString(brArea[BR_ITEM_AREA].xStart,brArea[BR_ITEM_AREA].yStart+ITEM_HEIGHT*(hl_index),
linebuf,fontColor,bkColor,arc_region_loc.region);
}
void browse_HL_leftItem(BYTE index,BYTE fontColor,BYTE pre_bkColor,BYTE bkColor,BYTE UPDN)
{
if(UPDN == 0)//when press down key
{
if(index>1)
br_DrawLeftItemStr(index-2,info_index-1,fontColor,pre_bkColor);//xyy 2003-7-29 20:05
br_DrawLeftItemStr(index-1,info_index,fontColor,bkColor);//xyy 2003-7-29 20:05
}
else if(UPDN == 1)//when press up key
{
if(index < ITEM_PER_PAGE)
br_DrawLeftItemStr(index,info_index+1,fontColor,pre_bkColor);//xyy 2003-7-29 20:05
br_DrawLeftItemStr(index-1,info_index,fontColor,bkColor);//xyy 2003-7-29 20:05
}
}
void br_Draw_TT_info(void)
{
BYTE dvd_title_Ns;
if(cd_type_loaded==CDDVD)
{
dvd_title=get_tt_info(DISP_TT);
dvd_title_Ns = get_tt_info(DISP_TT_Ns);
}
else
{
/*
dvd_title=disp_trk_now;
dvd_title_Ns = cd_total_trk();
*/
dvd_title=disp_trk_now;
if(cd_type_loaded==CDROM)//xyy 2003-9-11 17:12
dvd_title_Ns = mp3_file_count();
else
dvd_title_Ns = cd_total_trk();
}
psprintf(linebuf, "%02d/%02d",dvd_title,dvd_title_Ns);
if(bBrowseLevel==1 && info_index==0)
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart,
linebuf,INFO_FONTCOL,INFO_BKCOL,arc_region_loc.region);
else
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart,
linebuf,INFO_FONTCOL,INFO_PRE_BKCOL,arc_region_loc.region);
}
void br_Draw_CHP_info(void)
{
BYTE dvd_chp_Ns;
dvd_chapter=get_tt_info(DISP_CH);
dvd_chp_Ns = get_tt_info(DISP_CH_Ns);
psprintf(linebuf, "%02d/%02d",dvd_chapter,dvd_chp_Ns);
if(bBrowseLevel==1 && info_index==1)
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*1,
linebuf,INFO_FONTCOL,INFO_BKCOL,arc_region_loc.region);
else
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*1,
linebuf,INFO_FONTCOL,INFO_PRE_BKCOL,arc_region_loc.region);
}
void browse_func_up(void)
{
BYTE i,j;
if(bBrowseLevel==1 || info_index==0)
return;
else
info_index--;
if((info_index<ITEM_PER_PAGE)||(info_index == 5)|| (info_index == 6))
bInputState = NON_INPUT_STATE;
HL_index--;
if((info_index+1)%ITEM_PER_PAGE==0)
{
for(i=info_index-(ITEM_PER_PAGE-1),j=0;j<ITEM_PER_PAGE;i++,j++)
br_DrawLeftItem(i,j,INFO_FONTCOL,INFO_PRE_BKCOL);
br_DrawRightItem();
browse_HL_leftItem(ITEM_PER_PAGE,INFO_FONTCOL,INFO_PRE_BKCOL,INFO_BKCOL,1);
}
if(HL_index>0)
browse_HL_leftItem(HL_index,INFO_FONTCOL,INFO_PRE_BKCOL,INFO_BKCOL,1);
else
HL_index = ITEM_PER_PAGE;
}
void browse_func_down(void)
{
BYTE i,j;
if(bBrowseLevel==1)
return;
if((cd_type_loaded==CDROM || cd_type_loaded==CDDA) && info_index==2)//xyy 2003-9-12 14:22
return;
if(cd_type_loaded==CDDVD)
{
if(info_index>=DVD_MAXITEM-1)
return;
else
info_index++;
}
else
{
if(info_index>=VCD_MAXITEM-1)
return;
else
info_index++;
}
if(info_index>=ITEM_PER_PAGE)
{
if((info_index == 5)|| (info_index == 6))
bInputState = NON_INPUT_STATE;//zhaoyanhua modify2003-12-7 14:54
else
bInputState = INPUT_STATE;
}
HL_index++;
if((info_index%ITEM_PER_PAGE==0) && (info_index<DVD_MAXITEM))
{
for(i=info_index,j=0;j<ITEM_PER_PAGE;i++,j++)
br_DrawLeftItem(i,j,INFO_FONTCOL,INFO_PRE_BKCOL);
br_DrawRightItem();
browse_HL_leftItem(1,INFO_FONTCOL,INFO_PRE_BKCOL,INFO_BKCOL,0);
}
if(HL_index<=ITEM_PER_PAGE)
browse_HL_leftItem(HL_index,INFO_FONTCOL,INFO_PRE_BKCOL,INFO_BKCOL,0);
else
HL_index = 1;
}
void init_time_search(void)
{
bTimeInput = 1;
goto_time = 0;
psprintf(linebuf,"%02d:%02d:%02d",0,0,0);
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*(HL_index-1),
linebuf,INFO_FONTCOL,INFO_BKCOL,arc_region_loc.region);
br_Draw_tmhl(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*(HL_index-1),"_",INFO_FONTCOL,INFO_BKCOL);
}
#ifdef SUPPORT_PLAYBACK_ICON
void br_Draw_FBicon(void)
{
memset(linebuf,0,sizeof(linebuf));
strcat1(linebuf, OSD_ICON_FB);
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*(HL_index-1),
linebuf,INFO_FONTCOL,INFO_BKCOL,arc_region_loc.region);//xyy 2003-8-11 16:25
}
void br_Draw_FFicon(void)
{
strcat1(linebuf, OSD_ICON_FF);
osd_DrawRegionString(brArea[BR_CONTENT_AREA].xStart+ITEM_WIDTH,brArea[BR_CONTENT_AREA].yStart+ITEM_HEIGHT*(HL_index-1),
linebuf,INFO_FONTCOL,INFO_BKCOL,arc_region_loc.region); //xyy 2003-8-11 16:25
}
#endif
void br_Draw_underline(BYTE xStart, BYTE yStart, BYTE lineColor,BYTE bkColor)
{
BYTE *s="__";
bInputState = INPUT_STATE;
if(bInputIndex==0)
osd_DrawRegionString(xStart,yStart,s,lineColor,bkColor,arc_region_loc.region);
}
extern void preDealGoto_time(void);
extern void time_trans2hms(void);
extern void exe_timesearch_func(UINT32 goto_ff,UINT32 fail);
void exe_time_goto(void)
{
#define DISCTIME_SEARCH 1
#define TRACKTIME_SEARCH 2
BYTE search_mode = 0;
index_x=0;
time_trans2hms(); //xyy 2003-7-29 13:17
preDealGoto_time();//xyy 2003-7-29 13:18
if(cd_type_loaded != CDDVD)
{
switch(info_index)
{
case 1:
search_mode = DISCTIME_SEARCH;
break;
case 2:
search_mode = TRACKTIME_SEARCH;
break;
}
if(goto_time)
{
printf("browse function : goto_time :%d---\n",goto_time);
exe_timesearch_func(0,search_mode);//xyy 2003-7-29 13:25
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -