📄 osd_handler_com.c
字号:
(NCHAR*)gMenu_string[MENU_LANG][menu_state] );
break;
default:
GraphicMessageOn(NOTICE_TYPE_DEFAULT, "VIDEO-CD 1.1",
(NCHAR*)gMenu_string[MENU_LANG][menu_state] );
break;
}
/* Reset OSD timer */
OsdTimerSet( OSD_TIME_FOR_DISC_TYPE, TIMER_ENABLE );
}
STATIC VOID OsdHandleDisplayCd( VOID )
{
GraphicMessageOn(NOTICE_TYPE_DEFAULT, "CD", NULL );
/* Reset OSD timer */
OsdTimerSet( OSD_TIME_FOR_DISC_TYPE, TIMER_ENABLE );
}
STATIC VOID OsdHandleDisplayMp3( VOID )
{
GraphicMessageOn(NOTICE_TYPE_DEFAULT, "MP3", NULL );
/* Reset OSD timer */
OsdTimerSet( OSD_TIME_FOR_DISC_TYPE, TIMER_ENABLE );
}
/******************************************************************************
* Function name : GraphicDisplayInfoOn
* Arguments :
* Return : VOID
* By : Taejin Kwon
* Description : Make a graphics for DISPLAY and Pop-up it
******************************************************************************
*/// Qian liping 060116
STATIC VOID GraphicDisplayInfoOn( VOID )
{
SysPrintf("\n[GFX] ON DISPLAY ");
gOSD_state.etInfo_sub = INFO_SUB_NONE;
/* Check disc and open its routine */
switch( GetDiscState() )
{
case DVDV_DISC:
case DVDA_DISC:
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
case CD_DATA:
case DVD_DATA:
case USB_DATA:
case FX_DATA:
#endif
switch(gOSD_state.etInfo_dsp)
{
case INFO_FIRST:
OwCreateFirstDVDInfoDisplay();
#if _APP_CAP_OSD_INFO_OSD_KEEP
gRedraw_flag = TRUE ;
#endif
break;
case INFO_SECOND:
#if _APP_CAP_OSD_INFO_OSD_KEEP
if( MIX_GetGraphicEn( SH_CANV1 )!= TRUE )
OwCreateInfoBgDisplay();
#endif
OwCreateSecondDVDInfoDisplay();
break;
case INFO_THIRD:
#if _APP_CAP_OSD_INFO_OSD_KEEP
if( MIX_GetGraphicEn( SH_CANV1 )!= TRUE )
OwCreateInfoBgDisplay();
#endif
OwTimeInfoDisplay(FALSE);
break;
case INFO_FOURTH:
#if _APP_CAP_OSD_INFO_OSD_KEEP
if( MIX_GetGraphicEn( SH_CANV1 )!= TRUE )
OwCreateInfoBgDisplay();
#endif
OwTimeInfoDisplay(FALSE);
break;
default:
SH_GfxShowCanvas(SH_CANV1, FALSE);
#if _APP_CAP_OSD_INFO_OSD_KEEP
gRedraw_flag = FALSE;
#endif
break;
}
break;
case CD_DA:
case VCD_DISC:
case SVCD_DISC:
case CD_I:
case HQVCD_DISC:
switch(gOSD_state.etInfo_dsp)
{
case INFO_FIRST:
OwCreateXvcdInfoDisplay();
#if _APP_CAP_OSD_INFO_OSD_KEEP
gRedraw_flag = TRUE;
#endif
break;
case INFO_SECOND:
#if _APP_CAP_OSD_INFO_OSD_KEEP
if( MIX_GetGraphicEn( SH_CANV1 )!= TRUE )
OwCreateInfoBgDisplay();
#endif
OwTimeInfoDisplay(FALSE);
break;
case INFO_THIRD:
#if _APP_CAP_OSD_INFO_OSD_KEEP
if( MIX_GetGraphicEn( SH_CANV1 )!= TRUE )
OwCreateInfoBgDisplay();
#endif
OwTimeInfoDisplay(FALSE);
break;
default:
SH_GfxShowCanvas(SH_CANV1, FALSE);
#if _APP_CAP_OSD_INFO_OSD_KEEP
gRedraw_flag = FALSE;
#endif
break;
}
break;
}
}
#if _APP_CAP_FUNC_REMAIN_TIME// Qian liping 060116
#if _APP_CAP_KEY_TIME_KEY
STATIC VOID OsdHandleDisplayTime(OSD_MainType_et disp )
{
OSD_InfoState_et info;
OSD_InfoState_et new_time_info;
OSD_MainType_et new_display;
/* Disable time OSD while in root menu */
if((GetDiscState() == VCD_DISC || GetDiscState() == SVCD_DISC) && IsThisItemSpi())
{
OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);
return;
}
if((GetDisplayMainState() != DISPLAY_TIME || gOSD_state.etInfo_dsp == INFO_OFF))
{
OsdCheck();
gOSD_state.etInfo_dsp = INFO_OFF;
}
if(S5H_GetAppType() == APP_DVD)
{
if( gOSD_state.etInfo_dsp == INFO_OFF )
gOSD_state.etInfo_dsp = INFO_THIRD;
else if( gOSD_state.etInfo_dsp == INFO_THIRD)
gOSD_state.etInfo_dsp = INFO_FOURTH;
else
gOSD_state.etInfo_dsp = INFO_OFF;
}
else
{
if (GetSvcdMenuState() == TRUE )
{
if( gOSD_state.etInfo_dsp == INFO_OFF )
gOSD_state.etInfo_dsp = INFO_THIRD;
else
gOSD_state.etInfo_dsp = INFO_OFF;
}
else
{
if( gOSD_state.etInfo_dsp == INFO_OFF )
gOSD_state.etInfo_dsp = INFO_SECOND;
else if( gOSD_state.etInfo_dsp == INFO_SECOND)
gOSD_state.etInfo_dsp = INFO_THIRD;
else
gOSD_state.etInfo_dsp = INFO_OFF;
}
}
GraphicDisplayInfoOn();
//When playing CDDA, show OSD after
#if _APP_CAP_FUNC_MIXED_VCD_CDDA
if (GetDiscState() == CD_DA && GetMixedCdState() == FALSE && gOSD_state.etInfo_dsp == INFO_OFF)
#else
if (GetDiscState() == CD_DA && new_time_info == INFO_OFF)
#endif
{
// Qian liping 060427
OsdTimerSet(1, TIMER_DISABLE);
OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT);
}
}
#endif /*_APP_CAP_KEY_TIME_KEY*/
#endif /* _APP_CAP_FUNC_REMAIN_TIME */
#if _APP_CAP_FUNC_DIVX_DRM //(weilf)20060422
VOID OsdHandleDisplayAuthorization( VOID )
{
if( gOSD_state.etPrev_dsp != DISPLAY_AUTHORIZATION_MSG )
{
GraphicBackgroundOn();
{
OsdCheck();
OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);
//OsdIconCheck(TRUE);
OwAuthorizationMsg();
}
}
SetVfdMainState( FP_MAIN_ERROR );
}
VOID OsdHandleDisplayRentalExpired( VOID )
{
if( gOSD_state.etPrev_dsp!= DISPLAY_RENTAL_EXPIRED_MSG )
{
GraphicBackgroundOn();
{
OsdCheck();
OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);
//OsdIconCheck(TRUE);
OwRentalExpiredMsg();
}
}
SetVfdMainState( FP_MAIN_ERROR );
}
VOID OsdHandleDisplayRentalConfirmation( VOID )
{
if( gOSD_state.etPrev_dsp != DISPLAY_RENTAL_CONFIRMATION_MSG )
{
GraphicBackgroundOn();
{
OsdCheck();
OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);
//OsdIconCheck(TRUE);
OwRentalConfirmationMsg();
}
}
SetVfdMainState( FP_MAIN_ERROR );
}
#endif //_APP_CAP_FUNC_DIVX_DRM
/******************************************************************************
* Function name : OwHandleDigest
* Arguments :
* Return : VOID
* By : changlina
* Description : 20060803
******************************************************************************/
VOID OwHandleDigest(VOID)
{
DiscType_t disc;
disc = GetDiscState();
/*gOSD_state.etPrev_dsp!=DISPLAY_DIGEST_MENU: when press digest and enter key during digest mode play,
cannot to setosddvddigeston,so must add this item to limit.
gOSD_state.etCur_dsp!=DISPLAY_DIGEST: when N/P change.current state is DISPLAY_OFF,but must to SetOsdDvdDigestOn.
so add this item. clina 061011*/
#if _APP_CAP_FUNC_DVD_DIGEST
if (disc == DVDV_DISC&&(gOSD_state.etPrev_dsp!=DISPLAY_DIGEST_MENU||gOSD_state.etCur_dsp!=DISPLAY_DIGEST))
{
SetOsdDvdDigestOn();
}
#endif
#if _APP_CAP_OSD_DIGEST
OwDigestMenu(FALSE);
#endif
}
#if _APP_CAP_OSD_DIGEST
VOID OsdSetDisplayDigestMode()//clina 061008
{
BYTE1 digest=GetDisplayDigestState();
DiscType_t disc=GetDiscState();
if(gOSD_state.etCur_dsp==DISPLAY_DIGEST_MENU)
{
if(disc==DVDV_DISC)
SetDisplayDigestState(GuiSelFuc[TRUE]( digest, DVD_TITLE_DIGEST,DVD_CHAPTER_INTERVAL));
else
SetDisplayDigestState(GuiSelFuc[TRUE]( digest , VCD_DISC_INTERVAL, VCD_TRACK_PREVIEW));
}
else
SetDisplayDigestState((S5H_GetAppType()==APP_DVD)?DVD_TITLE_DIGEST:VCD_DISC_INTERVAL);
}
VOID OsdHandleDisplayDigest(VOID)//clina 061009
{
OsdSetDisplayDigestMode();
if((S5H_GetAppType()==APP_VCD)&&gOSD_state.etCur_dsp==DISPLAY_DIGEST_MENU)
{
OwDigestBanner(TRUE);
}
else
{
OsdCheck();
OwDigestBanner(FALSE);
}
}
#endif
STATIC VOID OsdHandleDisplayProgram(VOID) // Qian liping 060407
{
SysPrintf("\n[GFX] ON Program");
/* If a previous OSD display is displaying,
* close it and then create new one.
*/
OsdCheck();
OwDrawProgram();
InitTempValueState();
}
/******************************************************************************
* Function name : GraphicSetupOn
* Arguments :
* Return : VOID
* By : Taejin Kwon
* Description : Make a graphics for Setup and Pop-up it
******************************************************************************
*/
STATIC VOID GraphicSetupOn( VOID ) // Qian liping 060407
{
SysPrintf("\n[GFX] ON Setup");
/* If a previous OSD display is displaying,
* close it and then create new one.
*/
OsdCheck();
OsdHandlerSetupDspInit();
/*clear subtitle Qian liping 060627 */
if(SH_PAR_GetExSubtitleMode())
SH_GfxShowCanvas(SH_CANV3, FALSE);
#if _HJL_NEW_SETUP_SCHEME
OwGfxSetupShowAllNew();
#else
OwGfxSetupShowAll();
#endif
}
STATIC VOID OsdHandleDisplaySetup( OSD_MainType_et disp) // Qian liping 060407
{
#if _API_CAP_GLB_BIG_GFX_TO_VIDEO_BUFF
GraphicSetupOn();
#else /* _API_CAP_GLB_BIG_GFX_TO_VIDEO_BUFF*/
if( GetMainState() == MAIN_STOP )
{
#if _APP_CAP_NAV_CDG_DECODE
if ( (S5H_GetAppType()==APP_VCD)
&& (GetDiscState() == CD_DA) && !GetCDGDiscLoaded() )
#endif
GraphicBackgroundOn();
}
GraphicSetupOn();
#endif /* !_API_CAP_GLB_BIG_GFX_TO_VIDEO_BUFF */
#if _APP_CAP_OSD_SETUP_OSD_TIMEOUT
OSD_SetTimer(OSD_TIMER_NORMAL, OSD_TIME_FOR_SETUP);
#else/* _APP_CAP_OSD_SETUP_OSD_TIMEOUT */
// Qian liping 060427
OsdTimerSet(1, TIMER_DISABLE);
#endif/* _APP_CAP_OSD_SETUP_OSD_TIMEOUT */
}
/******************************************************************************
* Function name : GraphicPasswordCheckOn
* Arguments :
* Return : VOID
* By : Taejin Kwon
* Description : Make a graphics for Angle and Pop-up it
******************************************************************************
*/
STATIC VOID GraphicPasswordCheckOn( BOOL flag )
{
SysPrintf("\n[GFX] ON Adult Password check");
OwGfxCreateRLimitPW(flag );
}
/******************************************************************************
* Function name : GraphicXvcdAudioOn
* Arguments :
* Return : VOID
* By : Taejin Kwon
* Description : Make a graphics for Audio and Pop-up it
******************************************************************************
*/
STATIC VOID GraphicLRStereoOn(VOID)
{
DiscType_t disc_type;
disc_type = GetDiscState();
SysPrintf("\n[GFX] ON LRSTEREO");
/* If a previous OSD display is displaying,
* close it and then create new one.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -