📄 osd_handler_explore.c
字号:
/******************************************************************************
* Filename : OSD_manager.c
* Start : 2002. 11. 19
* By : Taejin Kwon
* Contact : tj1kwon@samsung.co.kr
* Description :
******************************************************************************
*/
/******************************************************
* INCLUDES
*****************************************************/
#include <string.h>
#include <stdio.h>
#include "Basic_typedefs.h"
#include "CUSTOM/Custom_option.h"
#include "OS/OS_abstract.h"
#include "API/SH_types.h"
#include "API/SH_api.h"
#include "COMMON/Common.h"
#include "MAIN/Global_state.h"
#include "MAIN/Appl_types.h"
#include "MAIN/Uop_msg.h"
#include "DRIVER/FS/Fs_api.h"
#include "CUSTOM/Osd_types.h"
#include "CUSTOM/Osd_if.h"
#include "CUSTOM/Key_handler_setup.h"
#include "MAIN/DVD/Dvd_predef.h"
#include "MAIN/DVD/Dvd_common.h"
#include "MAIN/MMP/Mmp_predef.h"
#include "MAIN/MMP/Mmp_common.h"
#include "CUSTOM/Key_receive.h"
#include "CUSTOM/FP_handle.h"
#include "CUSTOM/Key_defs.h"
#include "MAIN/SVCD/Svcd_types.h"
#include "MAIN/SVCD/Svcd_ext.h"
#include "MAIN/SVCD/Svcd_show.h"
#include "Osd_util.h"
#include "Osd_draw.h"
#include "Osd_timer.h"
#include "CUSTOM/Strings_ext.h"
#include "Osd_data.h"
#include "Osd_draw_explore.h"
#include "Osd_draw_setup.h"
#include "Osd_draw_program.h"
/******************************************************
* Global variables / functions
*****************************************************/
/******************************************************
* Extern variables / functions
*****************************************************/
extern INLINE OSD_MainType_et GetDisplayMainState( VOID ); //(weilf)20060726
/******************************************************************************
* Function name : OsdHandlerExpCtrlMsg
* Arguments :
* IN OsdCtrl_st ctrl
*
* OUT
* I/O
* Return : VOID
*
* By : Taejin Kwon
* Description : Handle the explore OSDs
* Revision : 1.0 Qian liping 060405
******************************************************************************
*/
VOID OsdHandlerExpCtrlMsg( OsdCtrl_st ctrl )
{
// Common control. gaoping 20060406
switch( ctrl.control )
{
case OSD_CTRL_EXPLORE_UPDATE_NOTICE:
OwUpdateMmpNotice();
break;
case OSD_CTRL_UPDATE_TIME:
OwUpdateExploreTimeInfo();
break;
case OSD_CTRL_UPDATE_FOLDER_NUM:
OwUpdateExpFolderInfo(ctrl.p.sub.value1, ctrl.p.sub.value2);
#if _APP_CAP_KEY_SELECTION_TIMEOUT
if( gOSD_state.etInfo_sub != INFO_SUB_NONE )
OsdSelTimerSet( OSD_TIME_FOR_SELECTION, TIMER_ENABLE );
#endif /* _APP_CAP_KEY_SELECTION_TIMEOUT */
break;
case OSD_CTRL_UPDATE_FILE_NUM:
OwUpdateExpFileInfo(ctrl.p.sub.value1, ctrl.p.sub.value2);
#if _APP_CAP_KEY_SELECTION_TIMEOUT
if( gOSD_state.etInfo_sub != INFO_SUB_NONE )
OsdSelTimerSet( OSD_TIME_FOR_SELECTION, TIMER_ENABLE );
#endif /* _APP_CAP_KEY_SELECTION_TIMEOUT */
break;
case OSD_CTRL_UPDATE_REPEAT_ICON:
if (gOSD_state.etExp_state.etInfo1>=EXPLORER_MODE_INFO1HIDE)
return;//gaoping 20060429 problem 233
OwMmpSetRepeatIcon();
break;
case OSD_CTRL_UPDATE_MODE_ICON:
if (gOSD_state.etExp_state.etInfo1>=EXPLORER_MODE_INFO1HIDE)
return;//gaoping 20060429 problem 233
OwMmpSetModeIcon();
break;
case OSD_CTRL_IMG_INFO_SEL:
OwMmpImageInfoSelect();
break;
case OSD_CTRL_UPDATE_ALBUM_SEL:
OwUpdateAlbumSelect(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
#if _APP_CAP_OSD_FLATTEN_EXPLORER
#if _APP_CAP_OSD_SHOW_CURRENT_ITEM_NUM
case OSD_CTRL_UPDATE_IMG_FILE_INFO:
OwUpdateNumDisp(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
#endif /*_APP_CAP_OSD_SHOW_CURRENT_ITEM_NUM*/
case OSD_CTRL_SET_PLAY_OSD:
OwMmpSetPlayOSD(ctrl.p.toggle);
break;
case OSD_CTRL_SET_RPT_AB_OSD:
OwMmpSetRepeatAbOsd(ctrl.p.toggle);
break;
#if _APP_CAP_FUNC_RANDOM_PLAY
case OSD_CTRL_EXPLORE_MODE_SEL:
OwMmpModeInfoSel(ctrl.p.play_mode);
#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY
OsdSelTimerSet( MMP_DEF_INFO2_DURATION, TIMER_ENABLE );
#endif
break;
#endif/*_APP_CAP_FUNC_RANDOM_PLAY*/
#if _APP_CAP_FUNC_AUDIO_LR_IN_MMP
case OSD_CTRL_EXPLORE_LRSTERO_SEL:
OwMmpAudioInfoSel(ctrl.p.lrstereo);
#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY
OsdSelTimerSet( MMP_DEF_INFO2_DURATION, TIMER_ENABLE );
#endif
break;
#endif /* _APP_CAP_FUNC_AUDIO_LR_IN_MMP */
case OSD_CTRL_EXPLORE_REPEAT_SEL:
OwMmpRepeatInfoSel(ctrl.p.repeat.new);
#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY
OsdSelTimerSet( MMP_DEF_INFO2_DURATION, TIMER_ENABLE );
#endif
break;
case OSD_CTRL_EXPLORE_UPDATE_INFO1:
OwUpdateMmpInfo1();
#if _APP_CAP_KEY_SELECTION_TIMEOUT // Qian liping 060531
if( gOSD_state.etInfo_sub != INFO_SUB_NONE )
OsdSelTimerSet( OSD_TIME_FOR_SELECTION, TIMER_ENABLE );
#endif /* _APP_CAP_KEY_SELECTION_TIMEOUT */
break;
}
/*
* This control will ONLY change control focus from one to another
*/
switch(ctrl.control)
{
case OSD_CTRL_EXPLORE_TO_INFO1:
gOSD_state.etExp_state.etCtrl_focus = EXPLORER_SUB_INFO1;
gOSD_state.etExp_state.etInfo1 = EXPLORER_MODE_INFO1NORMAL;
break;
case OSD_CTRL_EXPLORE_TO_INFO1_SEARCH:
gOSD_state.etExp_state.etCtrl_focus = EXPLORER_SUB_INFO1;
gOSD_state.etExp_state.etInfo1 = EXPLORER_MODE_INFO1SEARCH;
gOSD_state.etInfo_sub = INFO1_MMN_SUB_FOLDER;
break;
case OSD_CTRL_EXPLORE_TO_INFO2:
gOSD_state.etExp_state.etCtrl_focus = EXPLORER_SUB_INFO2;
gOSD_state.etExp_state.etInfo2 = EXPLORER_MODE_INFO2NORMAL;
break;
case OSD_CTRL_EXPLORE_TO_FILE:
gOSD_state.etExp_state.etCtrl_focus = EXPLORER_SUB_FILE;
break;
case OSD_CTRL_EXPLORE_TO_FOLDER:
gOSD_state.etExp_state.etCtrl_focus = EXPLORER_SUB_FOLDER;
break;
case OSD_CTRL_EXPLORE_TO_TYPE_SEL:
gOSD_state.etExp_state.etCtrl_focus = EXPLORER_SUB_TYPE_SELECT;
break;
case OSD_CTRL_EXPLORE_TO_INFO1_FOLDER:
gOSD_state.etInfo_sub=INFO1_MMN_SUB_FOLDER;
break;
case OSD_CTRL_EXPLORE_TO_INFO1_FILE:
gOSD_state.etInfo_sub=INFO1_MMN_SUB_FILE;
break;
}
/*
* This control must in DISPLAY_EXPLORER state.
*/
if(GetDisplayMainState()!=DISPLAY_EXPLORER)
return;
switch( ctrl.control )
{
case OSD_CTRL_EXPLORE_UPDATE_FILE_PATH:
if (gOSD_state.etExp_state.etInfo2!=EXPLORER_MODE_INFO2NORMAL)
return;//gaoping 20060430 problem 265
OwDisplayPathInfo(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
case OSD_CTRL_DRAW_FOLDER_PAGE:
OwDrawFolderPage(ctrl.p.value);
break;
case OSD_CTRL_UPDATE_FOLDER_SEL:
OwUpdateFolderSel(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
case OSD_CTRL_UPDATE_FOLDER_CURSOR:
OwUpdateFolderCursor(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
case OSD_CTRL_DRAW_FILE_PAGE:
OwDrawFilePage(ctrl.p.value);
break;
#if _APP_CAP_OSD_FLATTEN_EXPLORER
case OSD_CTRL_UPDATE_FILE_SEL:
OwUpdateFileSel(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
#endif // _APP_CAP_OSD_FLATTEN_EXPLORER
case OSD_CTRL_UPDATE_FILE_CURSOR:
OwUpdateFileCursor(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
#if _APP_CAP_OSD_FLATTEN_EXPLORER
case OSD_CTRL_UPDATE_TYPE_SEL:
OwUpdateTypeSelect(ctrl.p.sub.value1, ctrl.p.sub.value2);
break;
#endif // _APP_CAP_OSD_FLATTEN_EXPLORER
#if !_APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
case OSD_CTRL_SET_ARROW:
OwSetUpDnArrow(ctrl.p.arrow.up, ctrl.p.arrow.dn);
break;
#endif
#endif // _APP_CAP_OSD_FLATTEN_EXPLORER
case OSD_CTRL_EXPLORE_INFO1NORMAL:
gOSD_state.etExp_state.etInfo1 = EXPLORER_MODE_INFO1NORMAL;
gOSD_state.etInfo_sub = INFO_SUB_NONE;
OwMmpDrawInfo1(EXPLORER_MODE_INFO1NORMAL);
break;
case OSD_CTRL_EXPLORE_INFO1HIDE:
gOSD_state.etExp_state.etInfo1 = EXPLORER_MODE_INFO1HIDE;
OwMmpDrawInfo1(EXPLORER_MODE_INFO1HIDE);
break;
#if (_APP_CAP_FUNC_REMAIN_TIME && !_APP_CAP_KEY_TIME_KEY)
case OSD_CTRL_EXPLORE_INFO1REMAIN:
gOSD_state.etExp_state.etInfo1 = EXPLORER_MODE_INFO1REMAIN;
OwMmpDrawInfo1(EXPLORER_MODE_INFO1REMAIN);
break;
#endif /* _APP_CAP_FUNC_REMAIN_TIME && !_APP_CAP_KEY_TIME_KEY */
case OSD_CTRL_EXPLORE_INFO2NORMAL:
gOSD_state.etExp_state.etInfo2 = EXPLORER_MODE_INFO2NORMAL;
OwMmpDrawPlayInfo();
break;
#if _APP_CAP_FUNC_RANDOM_PLAY
case OSD_CTRL_EXPLORE_INFO2MODE:
gOSD_state.etExp_state.etInfo2 = EXPLORER_MODE_INFO2MODE;
OwMmpDrawModeInfo();
#if _APP_CAP_KEY_SELECTION_TIMEOUT
OsdSelTimerSet( OSD_TIME_FOR_BANNER,TIMER_ENABLE );
#endif /* _APP_CAP_KEY_SELECTION_TIMEOUT */
break;
#endif/*_APP_CAP_FUNC_RANDOM_PLAY*/
case OSD_CTRL_EXPLORE_INFO2RPT:
gOSD_state.etExp_state.etInfo2 = EXPLORER_MODE_INFO2RPT;
OwMmpDrawRepeatInfo();
#if _APP_CAP_KEY_SELECTION_TIMEOUT
OsdSelTimerSet( OSD_TIME_FOR_BANNER,TIMER_ENABLE );
#endif
break;
#if _APP_CAP_FUNC_AUDIO_LR_IN_MMP
case OSD_CTRL_EXPLORE_INFO2AUDIO:
gOSD_state.etExp_state.etInfo2 = EXPLORER_MODE_INFO2AUDIO;
OwMmpDrawAudioInfo();
#if _APP_CAP_KEY_SELECTION_TIMEOUT
OsdSelTimerSet( OSD_TIME_FOR_BANNER,TIMER_ENABLE );
#endif
break;
#endif /* _APP_CAP_FUNC_AUDIO_LR_IN_MMP */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -