📄 show_iso.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 05/06/28 11:06a $ ****************/
/*************** $Revision: 2.0 $ ****************/
/*************** ****************/
/*************** Description : ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#define _SHOW_ISO_C_
#pragma NOAREGS
#include "general.h"
extern xdata BYTE _bFlMnListId;//leguo
#ifdef SUPPORT_DATA_DISC
// *********************************************************************
// Initial OSD state for ISO
// *********************************************************************
#ifdef BBK_NEW_GUI
extern void vRefreshTimeBar(BYTE bHour,BYTE bMin,BYTE bSec,BOOL fgInit) large;
extern void vFlshowPlayInfoMsg(void) large;
extern void vFlIpShowTimeRemain(BYTE bHour,BYTE bMin, BYTE bSec) large;
#endif
void vISOShowInit(void) large
{
_rOsdStateCtx.fgTimeShow = TRUE;
#ifdef PLAYER_FLMENU
_rOsdStateCtx.bTimeType = OSD_SHOW_DISABLE;
#else
_rOsdStateCtx.bTimeType = OSD_SHOW_DISABLE;
#endif
#ifdef KEEP_REMAIN_TYPE_SHOW
_rOsdStateCtx.fgRemainMsgShow = TRUE;
#else
_rOsdStateCtx.fgRemainMsgShow = FALSE;
#endif
_rOsdStateCtx.fgPlayInfoShow = TRUE;
_rOsdStateCtx.bPlayInfoType = OSD_INFO_DISABLE;
_rOsdStateCtx.fgPlayShow = TRUE;
_rOsdStateCtx.bPlayType = OSD_SHOW_PLAY;
_rOsdStateCtx.fgRepeatShow = TRUE;
_rOsdStateCtx.fgABShow = TRUE;
_rOsdStateCtx.fgUsrCtrlShow = TRUE;
_rOsdStateCtx.fgZoomShow = TRUE;
_rOsdStateCtx.fgTimePos = OSD_SHOW_TIME_LEFT;
vSetSharedInfo(SI_FSMENU_LOGO_ID, ISO_LOGO_COLOR);
vPlayerShowLogo(ISO_STOP_LOGO, ISO_LOGO_COLOR);
}
// *********************************************************************
// Show time mark
// *********************************************************************
#ifdef GUI_NEW_DISPLAY
void vISOShowTimeMark(BYTE fgClear) large
{
BYTE bHour, bMin, bSec;
BYTE bTHour, bTMin, bTSec;
BYTE bPbcState = bSharedInfo(SI_MP3_MOD);
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
bHour = bMin = bSec = 0;
bTHour = bTMin = bTSec = 0;
#ifndef PLAYER_FLMENU
if (fgFlCheckStatus(FL_STATUS_IN_MENU))
{
if (!fgIsDiscPlay(bPbcState) || (bItemType == SV_ISO_NONE))
{
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
return;
}
}
else if (fgFlCheckStatus(FL_STATUS_IN_JPEG))
{
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
return;
}
#endif /* PLAYER_FLMENU */
switch(_rOsdStateCtx.bTimeType)
{
case OSD_SHOW_DISABLE:
if (fgClear)
{
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
}
/* for VFD */
bHour = bSharedInfo(SI_TIME_HH);
bMin = bSharedInfo(SI_TIME_MM);
bSec = bSharedInfo(SI_TIME_SS);
break;
case OSD_SHOW_SINGLE_ELAPSED:
bHour = bSharedInfo(SI_TIME_HH);
bMin = bSharedInfo(SI_TIME_MM);
bSec = bSharedInfo(SI_TIME_SS);
bTHour = bSharedInfo(SI_TIME_TOTAL_HH);
bTMin = bSharedInfo(SI_TIME_TOTAL_MM);
bTSec = bSharedInfo(SI_TIME_TOTAL_SS);
break;
default:
_rOsdStateCtx.bTimeType = OSD_SHOW_DISABLE;
return;
}
if ((/*10/15am for display vfd time while playing mp3 and jpeg(fgFlCheckStatus(FL_STATUS_IN_MENU)) &&*/ (fgIsDiscPlay(bSharedInfo(SI_MP3_MOD)))) ||
((fgFlCheckStatus(FL_STATUS_IN_MPEG)) && (fgIsDiscPlay(bSharedInfo(SI_PBC_STATE)))))
{
vVfdUpdateTime(bHour, bMin, bSec);
}
else
{
bHour = 0; bMin = 0; bSec = 0;
}
if (_rOsdStateCtx.bTimeType != OSD_SHOW_DISABLE)
{
#ifdef PLAYER_FLMENU
if (fgFlCheckStatus(FL_STATUS_IN_MENU) && (_rSearchStateCtx.bType != SEARCH_ISO_TIME))
{
vFlIpShowTimeRemain(bHour, bMin, bSec);
#ifdef BBK_NEW_GUI
vRefreshTimeBar(bHour,bMin,bSec,FALSE);
#endif
}
else
#endif
vOsdShowIsoTimeRemain23(bHour, bMin, bSec, bTHour, bTMin, bTSec,OSD_NO_DISAPPEAR);
}
}
#else
// *********************************************************************
// Show time mark
// *********************************************************************
void vISOShowTimeMark(BYTE fgClear) large
{
BYTE bHour, bMin, bSec;
BYTE bPbcState = bSharedInfo(SI_MP3_MOD);
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
bHour = bMin = bSec = 0;
#ifndef PLAYER_FLMENU
if (fgFlCheckStatus(FL_STATUS_IN_MENU))
{
if (!fgIsDiscPlay(bPbcState) || (bItemType == SV_ISO_NONE))
{
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
return;
}
}
else if (fgFlCheckStatus(FL_STATUS_IN_JPEG))
{
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
return;
}
#endif /* PLAYER_FLMENU */
switch(_rOsdStateCtx.bTimeType)
{
case OSD_SHOW_DISABLE:
if (fgClear)
{
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
}
/* for VFD */
bHour = bSharedInfo(SI_TIME_HH);
bMin = bSharedInfo(SI_TIME_MM);
bSec = bSharedInfo(SI_TIME_SS);
break;
case OSD_SHOW_SINGLE_ELAPSED:
bHour = bSharedInfo(SI_TIME_HH);
bMin = bSharedInfo(SI_TIME_MM);
bSec = bSharedInfo(SI_TIME_SS);
break;
case OSD_SHOW_SINGLE_REMAIN:
bHour = bSharedInfo(SI_TIME_RMN_HH);
bMin = bSharedInfo(SI_TIME_RMN_MM);
bSec = bSharedInfo(SI_TIME_RMN_SS);
break;
default:
_rOsdStateCtx.bTimeType = OSD_SHOW_DISABLE;
return;
}
if ((/*10/15am for display vfd time while playing mp3 and jpeg(fgFlCheckStatus(FL_STATUS_IN_MENU)) &&*/ (fgIsDiscPlay(bSharedInfo(SI_MP3_MOD)))) ||
((fgFlCheckStatus(FL_STATUS_IN_MPEG)) && (fgIsDiscPlay(bSharedInfo(SI_PBC_STATE)))))
{
vVfdUpdateTime(bHour, bMin, bSec);
}
else
{
bHour = 0; bMin = 0; bSec = 0;
}
if (_rOsdStateCtx.bTimeType != OSD_SHOW_DISABLE)
{
#ifdef PLAYER_FLMENU
if (fgFlCheckStatus(FL_STATUS_IN_MENU) && (_rSearchStateCtx.bType != SEARCH_ISO_TIME))
{
vFlIpShowTimeRemain(bHour, bMin, bSec);
#ifdef BBK_NEW_GUI
vRefreshTimeBar(bHour,bMin,bSec,FALSE);
#endif
}
else
#endif
vOsdShowIsoTimeRemain2(bHour, bMin, bSec, OSD_NO_DISAPPEAR);
}
}
#endif
static code WORD pwIsoDispModeMsg[3] =
{
OSD_MSG_DISPLAY_OFF,
OSD_MSG_SINGLE_ELAPSED,
OSD_MSG_SINGLE_REMAIN,
};
#ifndef RUSSIAN_BUYER_REQUEST2
void vISOShowRemainMsg(BYTE fgShowOff) large
{
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
if ((fgShowOff == FALSE) && (_rOsdStateCtx.bTimeType == OSD_SHOW_DISABLE))
{
return;
}
if(bItemType < SV_ISO_MPG) //BillDen
return;
if (!fgIsDiscPlay(bPbcState))
{
if (fgFlCheckStatus(FL_STATUS_IN_MENU) == FALSE)
{
vOsdPosClear(OSD_POS_REMAIN_MSG);
}
}
else if (_rOsdStateCtx.bTimeType != OSD_SHOW_DISABLE)
{
if ((fgIsDiscPlay(bPbcState)) && (bItemType == SV_ISO_JPG))
{
vOsdPosShow(OSD_POS_REMAIN_MSG, pwIsoDispModeMsg[_rOsdStateCtx.bTimeType], OSD_TIMEOUT_SHORT);
}
else
{
if (_rOsdStateCtx.fgRemainMsgShow == TRUE)
{
vOsdPosShow(OSD_POS_REMAIN_MSG, pwIsoDispModeMsg[_rOsdStateCtx.bTimeType], OSD_NO_DISAPPEAR);
}
else
{
vOsdPosShow(OSD_POS_REMAIN_MSG, pwIsoDispModeMsg[_rOsdStateCtx.bTimeType], OSD_TIMEOUT_SHORT);
}
}
}
else
{
vOsdPosShow(OSD_POS_REMAIN_MSG, pwIsoDispModeMsg[_rOsdStateCtx.bTimeType], OSD_TIMEOUT_SHORT);
}
}
#endif
// *********************************************************************
// Function : void vISOShowPlayInfo(BYTE bItem)
// Description :
// Parameter : None
// Return : None
// *********************************************************************
void vISOShowPlayInfo(BYTE bItem) large
{
/* force escape GOTO state if notified from RISC */
if ((bItem > 0) && (bItem != PLAY_INFO_CLEAR))
{
if (fgIsInputStateValid(INPUT_STATE_ISO_TIME_SEARCH))
{
vSetExitInputState();
}
}
}
// *********************************************************************
// Show trick mode
// *********************************************************************
void vISOShowTrick(BYTE bState) large
{
BYTE bSpeed = bSharedInfo(SI_PBC_SPEED);
if ((bState == SV_FF) || (bState == SV_FR))
{
if (bSpeed >= ISO_FAST_MAX)
{
bSpeed = ISO_FAST_MAX - 1;
}
bSpeed = pbISOFastDispTbl[bSpeed];
}
else if ((bState == SV_SF) || (bState == SV_SR))
{
if (bSpeed >= ISO_SLOW_MAX)
{
bSpeed = ISO_SLOW_MAX - 1;
}
bSpeed = pbISOSlowDispTbl[bSpeed];
}
switch (bState)
{
case SV_FF:
vOsdShowPbcState(SV_FF, bSpeed, OSD_NO_DISAPPEAR);
break;
case SV_SF:
vOsdShowPbcState(SV_SF, bSpeed, OSD_NO_DISAPPEAR);
break;
case SV_FR:
vOsdShowPbcState(SV_FR, bSpeed, OSD_NO_DISAPPEAR);
break;
case SV_SR:
vOsdShowPbcState(SV_SR, bSpeed, OSD_NO_DISAPPEAR);
break;
default:
break;
}
}
// *********************************************************************
// Function : void vISOShowItemType(BYTE bType)
// Description :
// Parameter : None
// Return : None
// *********************************************************************
void vISOShowItemType(BYTE bType) large
{
WORD wFileNo;
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
if (fgIsInputStateValid(INPUT_STATE_ISO_TIME_SEARCH))
{
/* force escape GOTO state */
fgSetPlayPostKey(IR_TIME_OUT);
}
#ifdef DDISC_FTYPE_JPEG_SUPPORT
else if (fgIsInputStateValid(INPUT_STATE_PCD_ZOOM))
{
/* force escape JPG zoom state if is not JPG */
if (fgIsIsoItemStill(bType) == FALSE)
{
/* need to escape zoom control mode */
fgSetPlayPostKey(IR_ZOOM_IN);
}
}
#endif
}
// *********************************************************************
// Function : void vISOShowStopState(void) large
// Description :
// Parameter : None
// Return : None
// *********************************************************************
void vISOShowStopState(void) large
{
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
if ((!fgIsIsoItemAV(bItemType)) && (!fgFlCheckStatus(FL_STATUS_IN_MENU)))
{
//vPlayerShowLogo(ISO_STOP_LOGO, ISO_LOGO_COLOR);
}
/* reset OSD play state show */
/* vOsdShowWb(OSD_WB_CLEAR); */
// prevent showing stop icon while beginning to repeat
#ifdef PLAYER_FLMENU
if (!fgIsIsoItemAV(bItemType) && !fgFlCheckStatus(FL_STATUS_IN_JPEG))
#else
if (!fgIsIsoItemAV(bItemType))
#endif
{
vOsdShowPbcState(SV_STOP, 0, OSD_NO_DISAPPEAR);
}
#if 0
vISOShowRemainMsg(FALSE);
vISOShowTimeMark(TRUE);
#else
#ifndef GUI_II_YWB
vOsdPosClear(OSD_POS_REMAIN_MSG);
#endif
vOsdPosClear(OSD_POS_ISO_TIME_LEFT);
#endif
#ifdef BBK_NEW_GUI
vFlshowPlayInfoMsg();
#endif
/* Since we have FS menu, no play info is needed in STOP mode */
if ((fgIsInSetupMenu() == FALSE) && (!fgFlCheckStatus(FL_STATUS_IN_MENU)))
{
#ifdef PLAYER_FLMENU
vFlRecover();
#else
vFsMenuRecoverMenus();
#endif
}
}
/************************************************************************
Function :
Description : recall all displayed information
Parameter :
Return :
************************************************************************/
void vISOStatusDispRecall(void) large
{
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
if ((bItemType != SV_ISO_JPG) &&
(bItemType != SV_ISO_NONE))
{
#ifndef RUSSIAN_BUYER_REQUEST2 //songchen 061213
vISOShowRemainMsg(FALSE);
#endif
vISOShowTimeMark(TRUE);
}
vISOShowPlayInfo(bSIItemIndex(SI_FILE_NO_HI));
}
/************************************************************************
Function :
Description :
Parameter :
Return :
************************************************************************/
void vISOChangeRemainType(BYTE bType) large
{
#ifndef RUSSIAN_BUYER_REQUEST2 //songchen 061213
vISOShowRemainMsg(TRUE);
#endif
vISOShowPlayInfo(0);
vISOShowTimeMark(TRUE);
}
#else // #ifdef SUPPORT_DATA_DISC
static code WORD pwIsoDispModeMsg[] = { 0 };
/*
void vISOShowTimeMark(BYTE fgClear) large
{
BYTE bTmp = pwIsoDispModeMsg[0];
}
*/
void vISOShowItemType(BYTE bType) large
{
BYTE bTmp = pwIsoDispModeMsg[0];
}
#endif // #ifdef SUPPORT_DATA_DISC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -