?? run_time_menu.c
字號(hào):
case MS_OP_BRIGHTNESS_EDGE_CONTROL:
{
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
OBrightnessEdge_OpenAtPos((MSO_CONTAINER __NEAR * )pThis, DEFAULT_POSITION, DEFAULT_POSITION);
return MS_OP_NONE;
}
#endif//D_GUI_COMPONENT_BRIGHTNESS_EDGE_CONTROLLER
#ifdef D_GUI_PROLOGICII_COMPONENT
case MS_OP_PROLOGIC:
{
if (!CoreAPI_IsMediaReady())
{
PROHIBIT(MSG_PROHIBIT_DISC_NOT_READY);
return MS_OP_NONE;
}
if( CoreAPI_IsMenuAllowedProLogicII())
{
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
OProLogicII_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_PROLOGICII_X, AREA_PROLOGICII_Y);
}
else
{
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
}
return MS_OP_NONE;
}
#endif //#ifdef D_GUI_PROLOGICII_COMPONENT
// If the time search component was not opened,
// the pop-up container opens it in post processing.
case MS_OP_0: // Fall Through
case MS_OP_1: // Fall Through
case MS_OP_2: // Fall Through
case MS_OP_3: // Fall Through
case MS_OP_4: // Fall Through
case MS_OP_5: // Fall Through
case MS_OP_6: // Fall Through
case MS_OP_7: // Fall Through
case MS_OP_8: // Fall Through
case MS_OP_9:
// TODO: >>>
// Merged here but need use API
#ifdef D_GINGER_I96
if (DEC_DISC_TYPE_SW_UPDATE == g_disc_type)
{
return MS_OP_NONE;
}
#endif //D_GINGER_I96
// TODO: <<<
#ifdef D_10P_KEY
if ((MEDIA_TYPE_SVCD == CoreAPI_GetCurrentMediaType()) ||(MEDIA_TYPE_VCD == CoreAPI_GetCurrentMediaType())||(MEDIA_TYPE_DVD_VIDEO== CoreAPI_GetCurrentMediaType()) )
break;
#endif
if (CoreAPI_IsInMenu() || !CoreAPI_IsMenuAllowedSearch())
break;
else if (((MEDIA_TYPE_SVCD == CoreAPI_GetCurrentMediaType()) ||(MEDIA_TYPE_VCD == CoreAPI_GetCurrentMediaType())) && CoreAPI_IsSVCDPBCOn())
{
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
return MS_OP_NONE;
}
// Fall through!
#ifdef D_GUI_COMPONENT_SEARCH
case MS_OP_SEARCH:
if (!CoreAPI_IsMediaReady())
{
PROHIBIT(MSG_PROHIBIT_DISC_NOT_READY);
return MS_OP_NONE;
}
if (CoreAPI_IsMenuAllowedSearch())
{
MSO_OBJECT __NEAR* pObject;
// TODO: remove >>>
// Merged here but it is a fix, not a solution
#ifdef D_GINGER_I96
MS_ComponentClose((MS_DESCRIPTOR_COMPONENT*)&oComponentDisplay, FALSE);
#endif //D_GINGER_I96
// TODO: <<<
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
pObject = OSEARCH_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_SEARCH_X, AREA_SEARCH_Y);
if((MsOp >= MS_OP_1) && (MsOp <= MS_OP_9))
MS_SendOperation(pObject, MsOp, lParam);
return MS_OP_NONE;
}
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
return MS_OP_NONE;
#endif
#ifdef D_GUI_COMPONENT_SEARCH_DISPLAY
case MS_OP_DISPLAY:
if (!CoreAPI_IsMediaReady())
{
PROHIBIT(MSG_PROHIBIT_DISC_NOT_READY);
return MS_OP_NONE;
}
if (CoreAPI_IsMenuAllowedDisplay())
{
MSO_OBJECT __NEAR* pObject;
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
if ((MsOp >= MS_OP_1) && (MsOp <= MS_OP_9))
pObject = OSearch_Display_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_SEARCH_X, AREA_SEARCH_Y, TRUE);
else
pObject = OSearch_Display_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_SEARCH_X, AREA_SEARCH_Y, FALSE);
if ((MsOp >= MS_OP_1) && (MsOp <= MS_OP_9))
MS_SendOperation(pObject, MsOp, lParam);
return MS_OP_NONE;
}
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
return MS_OP_NONE;
#endif
case MS_OP_CORE_FUPGRADE_REQUEST:
{
MSO_OBJECT __NEAR* pObject;
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
#ifdef D_GUI_SINGLE_LINE_COMPONENT
OSDTurnOff();
_LayoutFirmwareUpgrade();
#ifdef D_GINGER_I86
OSDTurnOn();
#endif //D_GINGER_I86
#ifdef D_GINGER_I96
VPU_SetOSDStatus(VPU_OSD_STATUS_START_E);
#endif
MS_ObjectResize(pThis, AREA_POPUPMENU_FIRMWARE_UPGRADE_W, AREA_POPUPMENU_FIRMWARE_UPGRADE_H);
MS_ObjectMove(pThis, AREA_POPUP_MOVE_X, AREA_POPUP_MOVE_Y);
#endif//#ifdef D_GUI_SINGLE_LINE_COMPONENT
pObject = (MSO_OBJECT __NEAR * )MS_ComponentOpen((MS_DESCRIPTOR_COMPONENT *)&oDescriptorFirmwareUpgrade,
(MSO_CONTAINER __NEAR*)pThis);
MS_ObjectMove(pObject, AREA_POPUPMENU_FIRMWARE_UPGRADE_X, AREA_POPUPMENU_FIRMWARE_UPGRADE_Y);
MS_ObjectResize(pObject, AREA_POPUPMENU_FIRMWARE_UPGRADE_W, AREA_POPUPMENU_FIRMWARE_UPGRADE_H);
MS_DisplayAddObject(pThis);
}
return MS_OP_NONE;
#ifdef D_GUI_COMPONENT_PLAYMODE
case MS_OP_PLAY_MODE:
if(CoreAPI_IsMenuAllowedPlaymode())
{
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
//close display before pop up PlayMode
if(PST_STOP == CoreAPI_GetPlayState())
MS_ComponentClose((MS_DESCRIPTOR_COMPONENT*)&oComponentDisplay, FALSE);
#ifdef D_GUI_COMPONENT_DVDVR
// The DVD-VR, and the Play mode component cannot be open at the same instant.
if(NULL != MS_FindDescendant(pThis->mpParent, &oDVDVRDescriptor))
MS_ComponentClose((MS_DESCRIPTOR_COMPONENT*)&oDVDVRDescriptor, FALSE);
#endif // D_GUI_COMPONENT_DVDVR
OPLAYMODE_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_PLAYMODE_X, AREA_PLAYMODE_Y);
}
else
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
return MS_OP_NONE;
#endif //D_GUI_COMPONENT_PLAYMODE
#ifdef D_GUI_COMPONENT_PROGRAM
case MS_OP_PROGRAM:
if (!CoreAPI_IsMediaReady())
{
PROHIBIT(MSG_PROHIBIT_DISC_NOT_READY);
return MS_OP_NONE;
}
{
BOOL bIsPlayBeforeOpened = FALSE;
if (PST_STOP != CoreAPI_GetPlayState())
{
if (!CoreAPI_Stop() ||!CoreAPI_WaitForUICoreActionDone())
{
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
return MS_OP_NONE;
}
bIsPlayBeforeOpened = TRUE;
}
if (CoreAPI_IsMenuAllowedProgram())
{
#ifdef D_GINGER_I96
MS_ComponentClose((MS_DESCRIPTOR_COMPONENT*)&oComponentDisplay, FALSE);
#endif //D_GINGER_I96
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
#ifdef D_GUI_SINGLE_LINE_COMPONENT
OSDTurnOff();
_LayoutProgram();
#ifdef D_GINGER_I86
OSDTurnOn();
#endif //D_GINGER_I86
#ifdef D_GINGER_I96
VPU_SetOSDStatus(VPU_OSD_STATUS_START_E);
#endif
MS_ObjectResize(pThis, AREA_MENU_W, AREA_MENU_H);
MS_ObjectMove(pThis, 0, 0);
#endif//#ifdef D_GUI_SINGLE_LINE_COMPONENT
OProgram_Open((MSO_CONTAINER __NEAR*)pThis, bIsPlayBeforeOpened);
return MS_OP_NONE;
}
}
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
return MS_OP_NONE;
#endif
case MS_OP_BOOKMARK:
{
// Open the bookmark menu.
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
if (NULL == OBOOKMARK_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_BOOKMARK_X, AREA_BOOKMARK_Y))
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
}
return MS_OP_NONE;
#ifdef INTERNAL_KARAOKE
case MS_OP_KARAOKE:
{
if(CoreAPI_IsMenuAllowedKaraoke())
{
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
if(NULL == OKARAOKE_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, AREA_KARAOKE_X, AREA_KARAOKE_Y))
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
}
else
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
}
return MS_OP_NONE;
#endif // INTERNAL_KARAOKE
case MS_OP_CORE_PASSWORD_CHECK_REQUEST:
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
OPASSWORD_PROMPT_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, FALSE, PASSWORD_TYPE_DVDV_PLAY, AREA_PASSWDPROMPT_X, AREA_PASSWDPROMPT_Y);
return MS_OP_NONE;
case MS_OP_SETUP:
{
MSO_OBJECT __NEAR* pPasswordPrompt = MS_FindDescendant(pThis, &oPasswordPromptDescriptor);
if(NULL != pPasswordPrompt)
{
PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
}
}
break;
#ifdef TV_GUARDIAN_ENABLE
case MS_OP_MENU_TVG_ADVERTISEMENT:
OTVGuardianComponent_OpenAtPos((MSO_CONTAINER __NEAR*)MS_GetParentPtr(pThis), DEFAULT_POSITION,DEFAULT_POSITION);
return MS_OP_NONE;
#endif // TV_GUARDIAN_ENABLE
#ifdef D_GUI_COMPONENT_DEVICE_SWITCH
case MS_OP_DEVICE_SWITCH:
ODEVICESWITCH_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, DEFAULT_POSITION, DEFAULT_POSITION);
return MS_OP_NONE;
#endif //D_GUI_COMPONENT_DEVICE_SWITCH
#ifdef DVD_AUDIO_SUPPORT
case MS_OP_MENU_DVDA_REQUEST_PASSWORD:
if(FALSE == MS_IsEmpty((MSO_CONTAINER __NEAR*)pThis))
MS_SendOperation(pThis, MS_OP_EMPTY, 0);
OPASSWORD_PROMPT_OpenAtPos((MSO_CONTAINER __NEAR*)pThis, FALSE, PASSWORD_TYPE_DVDA_PLAY, AREA_PASSWDPROMPT_X, AREA_PASSWDPROMPT_Y);
return MS_OP_NONE;
case MS_OP_MENU_DVDA_PENDING_PLAY_SET:
_GetPendingPlayEntry(MS_GetParentPtr(pThis)) = (UINT16)lParam&0XFFFF ;
break;
case MS_OP_MENU_DVDA_PENDING_PLAY_RUN:
CoreAPI_HGRTrackPlay(((UINT32)_GetPendingPlayEntry(MS_GetParentPtr(pThis))<<16)|_GetDVDAUserPassword(MS_GetParentPtr(pThis)));
break;
case MS_OP_MENU_DVDA_USER_PASSWORD_SET:
_GetDVDAUserPassword(MS_GetParentPtr(pThis)) = (UINT16)lParam;
break;
case MS_OP_MENU_DVDA_USER_PASSWORD_GET:
*(UINT16 *)lParam = _GetDVDAUserPassword(MS_GetParentPtr(pThis));
return MS_OP_NONE;
#endif
default:
break;
}
return MsOp;
}
/***************************************************************************************/
#endif //D_CUSTOM
#ifdef FTA_SUPPORT
/****************************************************************************************************
* Function : _FtaIsMsOpAllowed
*
* Input : None
*
* Output : None
*
* Return : return TRUE is MS_OP allowed when FTA device is playback.
*
* Description :
*
****************************************************************************************************/
static BOOL _FtaIsMsOpAllowed( UINT16 uiMsOP )
{
if( !MS_IS_USER_OP( uiMsOP ) )
return TRUE;
if( DeviceManager_GetCurrentDevice() == DEVICE_FTA )
{
switch( uiMsOP )
{
case MS_OP_PLAY:
case MS_OP_EJECT:
case MS_OP_POWER:
case MS_OP_MUTE:
case MS_OP_PROLOGIC:
case MS_OP_TV_SYS:
case MS_OP_VIDEO_OUTMODE:
case MS_OP_VIDEO_ENHANCE:
case MS_OP_PSO_MODE:
case MS_OP_HD_RESOLUTION:
case MS_OP_DISPLAY:
case MS_OP_CLEAR:
case MS_OP_SETUP:
case MS_OP_BASS_MGR:
case MS_OP_VOLUME:
case MS_OP_DEVICE_SWITCH:
case MS_OP_FTA_SELECTION:
case MS_OP_FTA_CHANNEL_TABLE:
case MS_OP_FTA_TRANSPORT_TABLE:
case MS_OP_0:
case MS_OP_1:
case MS_OP_2:
case MS_OP_3:
case MS_OP_4:
case MS_OP_5:
case MS_OP_6:
case MS_OP_7:
case MS_OP_8:
case MS_OP_9:
case MS_OP_CHNL_SCANNING:
case MS_OP_SKIPF:
case MS_OP_SKIPB:
case MS_OP_MENU:
case MS_OP_BOOKMARK:
return TRUE;
default:
return FALSE;
}
}
return TRUE;
}
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -