📄 browse_func.c
字号:
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);
}
/**************************************************************************
* *
* Function Name: browse_func_up *
* *
* Purposes: *
* use ir up_key to control browse function *
* Descriptions: *
* use ir up_key to control browse function *
* Arguments: VOID *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
void browse_func_up(void)
{
BYTE i,j;
if(bBrowseLevel==1 || info_index==0)
return;
else
info_index--;
if(info_index<ITEM_PER_PAGE)
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;
}
/**************************************************************************
* *
* Function Name: browse_func_down *
* *
* Purposes: *
* use ir down_key to control browse function *
* Descriptions: *
* use ir down_key to control browse function *
* Arguments: VOID *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
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)
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;
}
/**************************************************************************
* *
* Function Name: init_time_search *
* *
* Purposes: *
* init time search and display *
* Descriptions: *
* init time search and display *
* Arguments: VOID *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
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);
}
/**************************************************************************
* *
* Function Name: br_Draw_FBicon *
* *
* Purposes: *
* draw the FB icon,likes << *
* Descriptions: *
* draw the FB icon,likes << *
* Arguments: VIOD *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
#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
}
/**************************************************************************
* *
* Function Name: br_Draw_FFicon *
* *
* Purposes: *
* draw the FF icon,likes >> *
* Descriptions: *
* draw the FF icon,likes >> *
* Arguments: VIOD *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
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
}
#else
void br_Draw_FBicon(void){}
void br_Draw_FFicon(void){}
#endif
/**************************************************************************
* *
* Function Name: br_Draw_underline *
* *
* Purposes: *
* Draw underline *
* Descriptions: *
* Draw underline *
* Arguments: xStart; yStart;lineColor; bkColor; *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
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);
}
/**************************************************************************
* *
* Function Name: exe_time_goto *
* *
* Purposes: *
* exe time goto function in browse *
* Descriptions: *
* exe time goto function in browse *
* Arguments: VOID *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
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)
{
index_x=0;
time_trans2hms(); //xyy 2003-7-29 13:17
preDealGoto_time();//xyy 2003-7-29 13:18
exe_timesearch_func(0,0);//xyy 2003-7-29 13:25
bInputState = NON_INPUT_STATE;
bTimeInput=0;
}
/**************************************************************************
* *
* Function Name: br_Draw_rtSpecialItem *
* *
* Purposes: *
* select and exe some function according to different cases *
* Descriptions: *
* select and exe some function according to different cases *
* Arguments: mmcMode=1:MMC mmcMode=0:SD *
* Returns: NONE *
* *
* See also: NONE *
* *
**************************************************************************/
void br_Draw_rtSpecialItem(void)//include audio language,sub-picture,repeat_all,multi-angle
{
br_Draw18space(INFO_FONTCOL,INFO_PRE_BKCOL,HL_index-1);//xyy 2003-7-29 17:32
br_Draw_FBicon();//xyy 2003-7-29 15:52
switch(info_index)
{
//info_index:the index of string_index_dvd array or string_index_vcd array
case 2://DVD:STR_OS_TIME ; VCD:STR_OS_TITLETIME ;CD:STR_OS_REP
if(cd_type_loaded==CDROM || cd_type_loaded==CDDA)
ircmd_repeat_all();
break;
case 3://DVD:STR_OS_SUBTITLE_LANG_SETUP;
ircmd_sub_picture();
break;
case 4://DVD:STR_OS_AUDIO_LANG_SETUP; VCD:STR_OS_REP
if(cd_type_loaded==CDDVD)
ircmd_audio_language();
else
ircmd_repeat_all();
break;
case 5://DVD:STR_OS_ANGLE
ircmd_angle();
break;
case 8://DVD:STR_OS_REP
ircmd_repeat_all();
break;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -