📄 key_handler_svcd.c
字号:
speed = PM_SPEED_X4; break; case PM_SPEED_X4: speed = PM_SPEED_X8; break; case PM_SPEED_X8: speed = PM_SPEED_X16; break; case PM_SPEED_X16: speed = PM_SPEED_X32; break; case PM_SPEED_X32:#if _APP_CAP_FUNC_CIRCULAR_SPEED_CONTROL#if _APP_CAP_KEY_SEPERATE_PLAY UiCmdGeneral( UOP_PLAY);#else UiCmdGeneral( UOP_PLAYPAUSE );#endif return;// direction = PLAY_FORWARD;// speed = SCAN_SPEED_X1;// break;#else OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return;#endif default: speed = PM_SPEED_X2; break; } SysPrintf("\nGuiXvcdScanForward new speed is %d", speed); //if(FastForwardFlag) if ( direction == PM_DIR_FORWARD ) UiScanForward( UOP_SVCD_FORWARD_SCAN, speed ); else UiScanBackward(UOP_SVCD_BACKWARD_SCAN, speed);}/****************************************************************************** * Function name : GuiXvcdUpDown * Arguments : * Return : VOID * By : Liurenliang * Description : * Revisions : ****************************************************************************** */VOID GuiXvcdUpDown( UCHAR param ){ MediaInfo_t media; UINT temp_sum; BOOL UpFlag=0; XVCDSearch_t track_value; OSD_State_st *osd_state; //BYTE2 temp_2dig = GetTempValue(2); if (param==RC_KEY_UP) UpFlag=1; osd_state = OSD_GetState(); switch( osd_state->etCur_dsp ) { case DISPLAY_INFO: GetMediaInfoState( &media ); switch( osd_state->etInfo_sub ) { case INFO_SUB_CTRACK: GetXvcdSearchValue(&track_value); if(track_value.track_search==0) temp_sum = media.xvcd.cur_track; else temp_sum = track_value.track_search; SetTempValueSetFlag( TRUE ); temp_sum = GuiSelFuc[UpFlag]((UCHAR)temp_sum, (UCHAR)1, (UCHAR)media.xvcd.total_track); // cydrain 20060410 InitTempValueState(); track_value.track_search = temp_sum; SetXvcdSearchValue(track_value); OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT); break; default: OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); break; } /* switch sub menu */ break; default: OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); break; } /* switch (main display selection) */}/****************************************************************************** * Function name : GuiXvcdLeftRight * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID GuiXvcdLeftRight( UCHAR param ){#if _APP_CAP_FUNC_XVCD_LANG_SEL Xvcdlang_t lang;#endif BOOL LeftFlag=0; OSD_State_st *osd_state; OsdCtrl_st ctrl;#if _APP_CAP_AUD_KARAOKE SetupKaraoke_t karaoke; SetupInfoGetMenuKaraoke(&karaoke);#endif if(param==RC_KEY_LEFT) LeftFlag=1; osd_state = OSD_GetState(); switch( osd_state->etCur_dsp ) {#if _APP_CAP_FUNC_XVCD_LANG_SEL case DISPLAY_LANG: GetSvcdLangState( &lang ); if( lang == XVCD_LANG_1) lang = XVCD_LANG_2; else lang = XVCD_LANG_1; SetSvcdLangState( lang ); OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT);#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY OsdTimerSet( OSD_TIME_FOR_BANNER, TIMER_ENABLE );#endif break; #endif case DISPLAY_INFO: // Qian liping 060525 /* In these cases, invalid icon */ if(osd_state->etInfo_sub == INFO_SUB_NONE ||#if !_APP_CAP_FUNC_TIMESEARCH_IN_STOP GetMainState()==MAIN_STOP || #else (GetMainState()==MAIN_STOP && IsSvcdFullStopMode()==TRUE && GetSvcdMenuState()==TRUE)||#endif osd_state->etInfo_dsp > INFO_FIRST ) //IsSvcdFullStopMode()) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); break; } InitTempValueState(); /* only TRACK, TIME are editable */ if( osd_state->etInfo_sub == INFO_SUB_CTRACK && IsThisItemSpi() == FALSE) /* spi time can not be selected */ { #if _APP_CAP_NAV_CDG_DECODE if (GetCDGDiscLoaded()) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; }#endif ctrl.p.info.old = INFO_SUB_CTRACK; ctrl.p.info.new = INFO_SUB_CTIME; OSD_ChangeDisplay(OSD_CTRL_ELEM_SELECT, &ctrl, SYS_NO_WAIT); } else if( osd_state->etInfo_sub == INFO_SUB_CTIME ) { ctrl.p.info.old = INFO_SUB_CTIME; ctrl.p.info.new = INFO_SUB_CTRACK; OSD_ChangeDisplay(OSD_CTRL_ELEM_SELECT, &ctrl, SYS_NO_WAIT); } else { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } break; default: OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); break; } /* switch (main display) */}/****************************************************************************** * Function name : GuiXvcdDefaultEnter * Arguments : * Return : void * By : Taejin Kwon * Description : Comfirmation of numeric keys * Revisions : (yanglu, 051203) ****************************************************************************** */VOID GuiXvcdDefaultEnter( VOID ) { BYTE2 temp_2dig = GetTempValue(2); if( temp_2dig != 0 ) { UiSelectAndActive( (UCHAR)temp_2dig); OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT); InitTempValueState(); } else { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } }/****************************************************************************** * Function name : GuiXvcdEnter * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID GuiXvcdEnter( UCHAR param ){ OSD_State_st *osd_state; BYTE2 temp_2dig = GetTempValue(2); BOOL flag; MediaInfo_t media; OsdCtrl_st ctrl; XVCDSearch_t track_value ; osd_state = OSD_GetState(); switch( osd_state->etCur_dsp ) { /*move enter function to play/pause key*/ case DISPLAY_INFO: flag = GetTempValueSetFlag(); GetMediaInfoState( &media ); GetXvcdSearchValue(&track_value); switch( osd_state->etInfo_sub ) { case INFO_SUB_CTRACK: /* Reset timer & temp keeper data for later use.*/ OsdSelTimerSet( 1, TIMER_DISABLE ); InitTempValueState(); if(track_value.track_search==0) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } else UiTrackPlay( (UCHAR)track_value.track_search, PARAM_PB_NORMAL); ctrl.p.info.old = osd_state->etInfo_sub; ctrl.p.info.new = INFO_SUB_NONE; OSD_ChangeDisplay(OSD_CTRL_ELEM_SELECT, &ctrl, SYS_NO_WAIT); break; case INFO_SUB_CTIME:#if _APP_CAP_NAV_CDG_DECODE //limeng 060403 if(GetCDGDiscLoaded()==TRUE) flag=FALSE;#endif if( flag == TRUE ) GuiTimeSearch(); break; default: if (temp_2dig != 0) { UiSelectAndActive( (UCHAR) temp_2dig); //OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT); // Qian liping 061010 : fix bug 120 InitTempValueState(); } else { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } break; } /* switch sub-menu */ break; case DISPLAY_STEREO: case DISPLAY_LANG:#if !_APP_CAP_OSD_TOGGLE_BY_HOTKEY OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT);#endif break; default: /* Track Jump during play */ if (temp_2dig != 0) { UiSelectAndActive( (UCHAR) temp_2dig); OSD_SetIconDisplay(ICON_KEEP, NULL, SYS_NO_WAIT); InitTempValueState(); } else { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } break; } /* switch */ }/****************************************************************************** * Function name : GuiXvcdPlayPause * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID GuiXvcdPlayPause( UCHAR param ){ OSD_State_st *osd_state; BYTE2 temp_2dig = GetTempValue(2); osd_state = OSD_GetState(); if( IsNumericAllowed(temp_2dig) == TRUE ) { switch( osd_state->etCur_dsp ) { case DISPLAY_INFO:#if _APP_CAP_KEY_SEPERATE_PLAY if(gOSD_state.etCur_icon==ICON_NUMERIC)//clina 061026 number key and play key,it should next title at once UiSelectAndActive( (UCHAR) temp_2dig); else UiCmdGeneral( UOP_PLAY);#else UiCmdGeneral( UOP_PLAYPAUSE );#endif SetTempValueSetFlag(FALSE); InitTempValueState(); break; default: /* maybe menu domain */ if( temp_2dig== 0 ) {#if _APP_CAP_KEY_SEPERATE_PLAY UiCmdGeneral( UOP_PLAY);#else UiCmdGeneral( UOP_PLAYPAUSE );#endif } else { UiSelectAndActive( (UCHAR) temp_2dig); } break; } InitTempValueState(); } else {#if _APP_CAP_KEY_SEPERATE_PLAY UiCmdGeneral( UOP_PLAY);#else UiCmdGeneral( UOP_PLAYPAUSE );#endif }}/****************************************************************************** * Function name : GuiXvcdPause * Arguments : * Return : VOID * By : Taejin Kwon * Description : ****************************************************************************** */VOID GuiXvcdPause(UCHAR param){#if _APP_CAP_KEY_SEPERATE_PLAY UiCmdGeneral( UOP_PAUSE);#else UiCmdGeneral( UOP_PLAYPAUSE );#endif}/****************************************************************************** * Function name : GuiXvcdReturn * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */ extern BOOL gRedraw_flag;VOID GuiXvcdReturn( UCHAR param ){ OSD_State_st *osd_state; SetMainState_t main; /*Liu 0804 move zoom process to zoom handle function*/ main = GetMainState(); osd_state = OSD_GetState(); if( GetSvcdMenuState() == TRUE ) // MENU ON { UiCmdGeneral( UOP_RETURN ); return; } else { // MENU OFF if( osd_state->etCur_dsp != DISPLAY_OFF ) { //if( GetSvcdRepeatState() == REPEAT_SUB_A ) if( GetSvcdRepeatABState() == REPEAT_SUB_A #ifdef _APP_CAP_ROCO_VCD_RETURN //wanglin 061018 ||osd_state->etCur_dsp ==DISPLAY_INFO#endif ) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } else { /*in CD_DA case, should return to info osd * Lrl */ if (GetDiscState() == CD_DA #if _APP_CAP_FUNC_MIXED_VCD_CDDA && GetMixedCdState() == FALSE#endif ) { if (osd_state->etCur_dsp ==DISPLAY_INFO) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); } else OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT); } else { gRedraw_flag=FALSE;//clina 061018 OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT); } } return; } OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); }}/****************************************************************************** * Function name : GuiXvcdStep * Arguments : * Return : VOID * By : Taejin Kwon * Description : ****************************************************************************** */VOID GuiXvcdStep( UCHAR param ){ if( GetSvcdRepeatABState() == REPEAT_SUB_A ) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } UiCmdGeneral( UOP_STEP ); }/****************************************************************************** * Function name : GuiXvcdLang * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID GuiXvcdLang( UCHAR param ){ OSD_State_st *osd_state; if(GetDiscState()!=SVCD_DISC) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } SysPrintf("\n[GUI] 3D Setting key"); osd_state = OSD_GetState(); if( osd_state->etCur_dsp == DISPLAY_LANG ) { GuiXvcdLeftRight(RC_KEY_RIGHT); } else OSD_SetMainDisplay(DISPLAY_LANG, SYS_NO_WAIT);}//#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -