?? gui.cpp
字號(hào):
if (m_isoPlayList.filetype == FILETYPE_PICTURE) return RM_ERROR; if (m_pnav->WMVHDOn()) { status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), WMVHDTIMESEARCH_EVENT, &cmdInfo); } else status = m_pnav->GetCommandInfo(m_pnav->GlobalEventId(), FILETIMESEARCH_EVENT, &cmdInfo); } else return RM_ERROR; if (RMFAILED(status)) { m_pnav->DisplayEvent(INVALIDOP_EVENT, TRUE, TIMER_EVENT, m_eventText, INVALIDOP_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40); return RM_ERROR; } return CommandHandler(&cmdInfo);}RMstatus RMcuracaoGui::HandleRepeat(RMbool doRepeat){ RMstatus status = RM_UNKNOWN_KEY;#ifdef WITH_WMVHD_SUPPORT // see first if running wmvhd if (m_pnav->WMVHDOn()) { return HandleWMVHDRepeat(doRepeat); }#endif if (doRepeat == FALSE || m_isoPlayList.repeat == REPEAT_TRACKS) { if (m_isoPlayList.repeat != REPEAT_OFF && m_isoPlayList.active) { m_pnav->DisplayEvent(REPEATCLEARED_EVENT, TRUE, TIMER_EVENT, m_eventText, REPEAT_OFF_STR, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40); } m_isoPlayList.repeat = REPEAT_OFF; RMCopyAscii(m_repeatModeStr, REPEAT_OFF_STR); } else if (m_isoPlayList.repeat == REPEAT_OFF) { if (m_isoPlayList.filetype == FILETYPE_PICTURE) { m_isoPlayList.repeat = REPEAT_TRACKS; RMCopyAscii(m_repeatModeStr, REPEAT_TRACKS_STR); m_pnav->DisplayEvent(REPEATTRACKS_EVENT, TRUE, TIMER_EVENT, m_eventText, m_repeatModeStr, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40); } else { m_isoPlayList.repeat = REPEAT_TRACK; RMCopyAscii(m_repeatModeStr, REPEAT_TRACK_STR); m_pnav->DisplayEvent(REPEATTRACK_EVENT, TRUE, TIMER_EVENT, m_eventText, m_repeatModeStr, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40); } } else if (m_isoPlayList.repeat == REPEAT_TRACK) { m_isoPlayList.repeat = REPEAT_TRACKS; m_isoPlayList.playSingle = FALSE; RMCopyAscii(m_repeatModeStr, REPEAT_TRACKS_STR); m_pnav->DisplayEvent(REPEATTRACKS_EVENT, TRUE, TIMER_EVENT, m_eventText, m_repeatModeStr, DISPLAY_TEXT_ON_EVENT_ARG, 8, 180, 40); } else return RM_ERROR; return status;}// circle through all video out settings in the setup menuRMstatus RMcuracaoGui::HandleVideoOut(){ RMstatus status; RMuint8 next = 0; RMuint32 nextcmd = 0; // RMuint32 id; RMuint32 videoOut = m_videoOut; typeVideoOutCommands videoOutCommandList; // do not change if in the setup. // this is to be consistent with changing with the // menu for which a confirmation dialog is shown if (m_pnav->ActivePageId() == m_pnav->SetupPageId() && !m_pnav->WMVHDOn()) return RM_OK; if (m_settings.tvStandard == TV_NTSC_COMMAND) status = m_pnav->GetVideoOutCommandList(&videoOutCommandList, TV_NTSC_COMMAND); else if (m_settings.tvStandard == TV_PAL_COMMAND) status = m_pnav->GetVideoOutCommandList(&videoOutCommandList, TV_PAL_COMMAND); else { printf("CANNOT CHANGE VIDEO OUT -- DONT'T KNOW TV STANDARD\n"); return RM_ERROR; } if (RMFAILED(status)) { return RM_ERROR; } do { for (RMuint8 i = 0; i < videoOutCommandList.count; i++) { if (videoOutCommandList.cmd[i] == videoOut) { RMDBGLOG((ENABLE, "Current output is %s\n", videoOutCommandList.cmdtxt[i])); next = i; next += 1; if (next == videoOutCommandList.count) next = 0; nextcmd = videoOutCommandList.cmd[next]; RMDBGLOG((ENABLE, "New output is %s\n", videoOutCommandList.cmdtxt[next])); break; } } if (nextcmd == 0) { return RM_ERROR; } status = SetTVOut(nextcmd); videoOut = nextcmd; } while (RMFAILED(status)); // Don't keep Video Mode that failed m_pnav->DisplayEvent(VIDEOOUT_EVENT, TRUE, TIMER_EVENT, TRUE, videoOutCommandList.cmdtxt[next], DISPLAY_TEXT_ON_EVENT_ARG, 8, 240, 40); return RM_OK;}RMstatus RMcuracaoGui::HandleWelcome(){ RMstatus status = RM_OK; typeCommandInfo cmdInfo; KillTimer(TIMER_WAIT_ANIMATION, FALSE); //printf("activate\n"); status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), POWER_EVENT, &cmdInfo); if (RMSUCCEEDED(status)) { CommandHandler(&cmdInfo); } return RM_OK;}RMstatus RMcuracaoGui::HandleHelp(){ RMstatus status = RM_OK; typeCommandInfo cmdInfo; KillTimer(TIMER_WAIT_ANIMATION, FALSE); //printf("activate\n"); status = m_pnav->GetCommandInfo(m_pnav->ActivePageId(), HELP_EVENT, &cmdInfo); if (RMSUCCEEDED(status)) { CommandHandler(&cmdInfo); } return RM_OK;}// going on stand-byRMstatus RMcuracaoGui::HandlePower(){ m_context->needToExit = TRUE; // kill all timers KillTimer(TIMER_NONE, TRUE); RMstatus status = HandleStop(); if (status != RM_OK) { } // make sure there's no popup left open if (ISPOPUP(m_pnav->SelectedObjectId())) ShowPopup(m_pnav->SelectedObjectId(), FALSE); // reload main gui if on wmvhd if (m_pnav->WMVHDOn()) ReInitialize((RMnonAscii *) GUI_XML); // Initialize((RMnonAscii *) GUI_XML); // reload main page if not current one if (m_pnav->ActivePageId() != m_pnav->MainPageId()) ShowPage(m_pnav->MainPageId()); return RM_OK;}RMstatus RMcuracaoGui::HandleZoom(){ RMstatus status; if ((m_playMode == STATE_CLOSE || m_playMode == STATE_STOP) || ISPOPUP(m_pnav->SelectedObjectId())) { return RM_ERROR; } if (m_isoPlayList.active == TRUE && m_isoPlayList.filetype == FILETYPE_PICTURE) return RM_ERROR; status = ZoomVideo(); if (RMSUCCEEDED(status)) { RMascii txt[10]; if (m_zoomStep == 0) RMCopyAscii(txt, OFF_STR); else sprintf(txt, "%02u", m_zoomStep); // m_pnav->DisplayEvent(ZOOM_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG2, 8, 100, 40); } return status;}RMstatus RMcuracaoGui::HandleShuffle(RMbool toggle){ if (toggle == FALSE) m_shuffleOn = FALSE; else m_shuffleOn ^= 1; RMascii txt[10]; if (m_shuffleOn) RMCopyAscii(txt, ON_STR); else RMCopyAscii(txt, OFF_STR); m_pnav->DisplayEvent(SHUFFLE_EVENT, TRUE, TIMER_EVENT, TRUE, txt, DISPLAY_TEXT_ON_EVENT_ARG2, 8, 240, 40); return RM_OK;}RMstatus RMcuracaoGui::HandleMenu(){ if (m_pnav->WMVHDOn()) { if (m_playMode != STATE_CLOSE && m_playMode != STATE_STOP) { if (m_MediaList.active == TRUE) { RMASSERT(m_MediaList.numCurrentItem < m_MediaList.numItems); if (m_pnav->CanSkipMedia(m_MediaList.id[m_MediaList.numCurrentItem])) { // save resume pos m_MediaResumeInfo.time = m_fileInfo.time; m_MediaResumeInfo.id = m_MediaList.id[m_MediaList.numCurrentItem]; StopFiles(FALSE); RestoreOsd(TRUE); // go to main page } } } return RM_OK; } return RM_UNKNOWN_KEY;}RMstatus RMcuracaoGui::HandleTrickMode(RMremoteKey key){ RMstatus status = RM_UNKNOWN_KEY; if (ISPOPUP(m_pnav->SelectedObjectId())) return RM_ERROR; if (m_pnav->WMVHDOn()) { if (m_MediaList.active == TRUE) { RMASSERT(m_MediaList.numCurrentItem < m_MediaList.numItems); if (m_pnav->CanSkipMedia(m_MediaList.id[m_MediaList.numCurrentItem]) == FALSE) { return RM_ERROR; } } } return status;}// not supported if iso and not WMVHDRMstatus RMcuracaoGui::HandleLanguage(){ RMstatus status = RM_OK; typeCommandInfo cmdInfo; status = m_pnav->GetCommandInfo(m_pnav->SelectedObjectId(), SUB_EVENT, &cmdInfo); if (RMFAILED(status)) { return status; } return CommandHandler(&cmdInfo);}RMstatus RMcuracaoGui::HandlePBC(){ return RM_UNKNOWN_KEY;}RMstatus RMcuracaoGui::HandleTimerTimeout(RMguiTimerType timer){ RMstatus status = RM_OK; if (!m_initialized) { RMDBGLOG((GUIDBG, "GUI not initialized !!\n")); return RM_ERROR; } if(timer != TIMER_LOAD_ANIMATION) KillTimer(timer); switch (timer) { case TIMER_SLIDESHOW: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(SLIDESHOW)\n")); status = PlayNextFile(); break; case TIMER_PICTUREERRORMESSAGE: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(PICTUREERRORMESSAGE)\n")); ShowPopup(m_pnav->SelectedObjectId(), FALSE); status = PlayNextFile(); break; case TIMER_MEDIA: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(MEDIA)\n")); m_pnav->ResetDisplay(FALSE); status = PlayNextMediaFile(); break; case TIMER_SLIDER: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(SLIDER)\n")); // if(m_pnav->SelectedObjectId() == PROGRESS_CONTROL) m_infoOn = 0; status = m_pnav->RemoveSlider(m_pnav->SelectedObjectId()); RestoreNonTimedEvent(); break; case TIMER_EVENT: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(EVENT)\n")); if (!m_isoPlayList.active || m_isoPlayList.filetype != FILETYPE_PICTURE) status = m_pnav->RemoveEventBitmap(GENERIC_EVENT); RestoreNonTimedEvent(); break; case TIMER_ERRORMESSAGE: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(ERRORMESSAGE)\n")); status = ShowPopup(m_pnav->SelectedObjectId(), FALSE); break; case TIMER_VIDEOOUTCHANGE: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(VIDEOOUTCHANGE)\n")); status = RestorePreviousResolution(); break; case TIMER_SAVESETTINGS: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(SAVESETTINGS)\n")); status = SavePlayerSettings(); break; case TIMER_PLAYER_NUMERIC_INPUT: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(PLAYER_NUMERIC_INPUT)\n")); if (m_bTV) { RMint8 _temp = atoi(m_numericInput); if (_temp == 0 || _temp > m_pnav->m_tvList.nbItems) break; printf("_temp: %d\n", _temp); _temp -= 1; printf("_temp: %d\n", _temp); if (_temp < 0) { _temp = m_pnav->m_tvList.nbItems + _temp; } printf("_temp: %d\n", _temp); //if(_temp <= m_pnav->m_tvList.nbItems - 2) {// m_pnav->m_tvList.badchannel = -1;// m_bMissingChannel = FALSE;// m_pnav->m_tvList.starting = TRUE;// //m_pnav->m_tvList.badchannel = FALSE;// //m_pnav->m_tvList.firstvisible = _temp; //m_pnav->m_tvList.current = _temp;// // m_pnav->m_tvList.firstvisible = _temp + 1;// //m_userSkipped = TRUE;// m_pnav->m_tvList.up = TRUE;// //m_pnav->m_tvList.starting = TRUE; // StopAVFile(); //m_context->changeChannel = TRUE; //HandleNext(); } //PlayNextFile(TRUE); } ResetNumericInput(); //SendNumericInput(); break; case TIMER_REMOVEPOPUP: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(REMOVEPOPUP)\n")); status = m_pnav->RemoveTimedPopup(); break; case TIMER_GENERIC: RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(GENERIC)\n")); status = RM_OK; break; case TIMER_WAIT_ANIMATION: // RMDBGLOG((GUIDBG, "HandleTimerTimeout, timer:(TIMER_WAIT_ANIMATION)\n")); status = m_pnav->StartAnimation(TIMER_WAIT_ANIMATION); break; case TIMER_LOAD_ANIMATION: { loader = 1; RMbool showPage = FALSE; if ((!m_bTV && ((m_playMode == STATE_STOP) || (m_playMode == STATE_CLOSE)))) showPage = TRUE; status = m_pnav->StartAnimation(TIMER_LOAD_ANIMATION, showPage); } break; default: status = RM_ERROR; break; } return status;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////RMstatus RMcuracaoGui::CommandHandler(typeCommandInfo *command){ RMstatus status = RM_OK; RMuint32 objectId; RMuint16 channel; // printf("Command handler: %ld\n", command->id); switch (command->id) { case LOAD_TV_LIST: channel = m_pnav->m_tvList.current; m_bTV = TRUE; if(m_pnav->m_tvList.items) { m_pnav->FreeTVList(); } m_pnav->ReadTVList(); m_pnav->m_tvList.current = channel; m_pnav->m_tvList.starting = TRUE; PlayFiles(m_pnav->m_tvList.items[m_pnav->m_tvList.current].url, m_pnav->m_tvList.current); break; case SHOW_LIST_COMMAND: if (command->validLink == FALSE) return RM_ERROR; ShowList(command->linkId, TRUE); break; case SHOW_LIST_COMMAND_SHORTCUT: if (command->validLink == FALSE) return RM_ERROR; ShowListShortcut(command->linkId, command->nValue); break; case VERIFY_COMMAND: if (command->validLink == FALSE) return RM_ERROR; ShowPage(command->linkId); break; case SHOW_LIST_COMMAND_RESET: if (command->validLink == FALSE) { if(command->value) { printf("language to set: %d\n", atoi(command->value)); m_pnav->SetLang(atoi(command->value)); } return HandleReturn(); } ShowList(command->linkId, FALSE); break; case SET_LANGUAGE_COMMAND: printf("language to set: %d\n", atoi(command->value)); m_pnav->SetLang(atoi(command->value)); break; case SHOW_PAGE_COMMAND: if (command->validLink == FALSE) return RM_ERROR; ShowPage(command->linkId); break; case SHOW_AUDIO_PAGE_COMMAND: if (command->validLink == FALSE) return RM_ERROR; // mark filter m_pnav->InitIsoReading(NULL, FALSE, FILETYPE_AUDIO); ShowPage(command->linkId); break; case SHOW_VIDEO_PAGE_COMMAND: if (command->validLink == FALSE) return RM_ERROR; // mark filter m_pnav->InitIsoReading(NULL, FALSE, FILETYPE_VIDEO); ShowPage(command->linkId); break; case SHOW_PICTURES_PAGE_COMMAND: if (command->validLink == FALSE) return RM_ERROR; // mark filter m_pnav->Init
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -