?? guinavigation.h
字號:
/***************************************** Copyright 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file guinavigation.h @brief module in charge of display and internal object navigation code detached from gui.h @author Raul Chirinos @date 03-16-2005*/#ifndef __RMCURACAOGUINAVIGATION_H__#define __RMCURACAOGUINAVIGATION_H__#include "gui.h"#ifndef NO_GUI#include "guiparser.h"#endif#ifdef WITH_WMVHD_SUPPORT#include "wmvhdparser.h"#endif#include "../../rmgfx_library/include/gfx_drawlib.h"#define SETUP_PAGE_NAME "Setup"#define SCREEN_SAVER_PAGE "ScreenSaver"#define SECRET_MENU_POPUP_NAME "SecretMenuPopup"#define MESSAGEBOX_POPUP_NAME "MessageBoxPopup"#ifdef GUI_REFID_2#define MEDIA_LIBRARY_PAGE_NAME "Menu"#else#define MEDIA_LIBRARY_PAGE_NAME "MediaLibrary"#endifclass RMcuracaoGuiNavigation{ public: RMcuracaoGuiNavigation(typeGuiContext *context); ~RMcuracaoGuiNavigation(); RMstatus Init(RMnonAscii *xmlFile); RMstatus ReInit(RMnonAscii *xmlFile); RMstatus GetScreenFormat(guiScreenFormatType *screenFormat); RMstatus ClearDisplay(); RMstatus ResetDisplay(RMbool clearscreen); RMstatus DisplayPicture(RMascii *path, GFXLib_scaletype stype, RMuint32 msDelay); RMstatus StopPictureDisplay(); RMstatus SetTVType(RMbool is4by3); RMstatus ShowOsd(RMbool bshow); RMstatus MakeVideoOutCommandList(); RMstatus GetVideoOutCommandList(typeVideoOutCommands *videoOutCmdList, RMuint32 tvstandard); RMstatus ModifyTVStandardMenu(RMuint32 commandId, RMuint32 linkId, RMascii *value); RMstatus CharacterInput(RMascii input); RMstatus StartAnimation(RMguiTimerType type, RMbool param = FALSE); RMstatus AnimateList(RMuint32 pageID, RMuint8 listIndex); RMstatus AnimateSubList(RMuint32 pageID, RMuint8 listIndex);#ifdef WITH_WMVHD_SUPPORT RMstatus InitWMVHD(); RMstatus CheckWMVHDRequirements(RMuint8 playerRegion); RMstatus GetStartUpObject(RMuint32 *objectId); RMstatus GetMetadata(guiWmvHDMetadataType *metadata);#endifpublic: RMstatus GetTextTable(RMuint32 objectId, guiTextTableType *textTable); RMstatus GetSlider(RMuint32 objectId, guiSliderType **slider); RMstatus GetPopup(RMuint32 objectId, guiPopupType *popup); RMstatus GetMedia(RMuint32 objectId, guiMediaType *media); RMbool IsPage(RMuint32 id){ return (id < m_nbOsdPages); } RMuint32 SelectedObjectId() { return m_selectedObjectId; } // object with focus RMuint32 ActivePageId() { return m_activePageId; } RMuint32 MainPageId() { return m_mainPageId; } RMuint32 MediaLibraryPageId() { return m_medialibraryPageId; } RMuint32 SetupPageId() { return m_setupPageId; } RMuint32 ParentObjectId() { return m_parentObjectId; } RMuint32 BCSSliderId() { return m_bcsSliderId; } RMuint32 PopupSelectedObjectId() { return m_popupSelectedObjectId; } RMuint32 MessagePopupId() { return m_messagePopupId; } RMuint32 ActiveMenuId() { return m_activeMenuId; } RMuint32 InfoId() { return m_infoId; } RMuint32 GlobalEventId() { return m_globalEventId; } RMuint32 ScreenSaverPageId() { return m_screenSaverPageId; } void SetActivePageId(RMuint32 id) { m_activePageId = id; } void SetMainPageId(RMuint32 id) { m_mainPageId = id; } void SetBCSSliderId(RMuint32 id) { m_bcsSliderId = id; } void SetInfoId(RMuint32 id) { m_infoId = id; } void SetTimedPopup(RMuint32 id) { m_timedPopupId = id; } RMguiFileType GetDisplayFileType() { return m_displayFileType; } RMbool OsdOn() { return m_osdOn; } RMbool WMVHDOn() { return m_wmvHDOn; } void InitIsoReading(RMascii *startDirectory, RMbool goUp, RMguiFileType ftype); void ResetIsoReading(); RMstatus GetMediaFiles(guiMediaType *media[MAX_GUI_MEDIA], RMuint16 *nMediaFiles); RMstatus SetFileAttribute(RMuint32 commandId); RMstatus RemoveListItemInfo(); RMstatus GetIsoList(typeIsoListData *isoList); RMstatus GetIsoPath(RMuint32 index, RMascii *path, RMuint32 pathsize); RMstatus GetFilePath(RMuint32 index, RMascii *path, RMuint32 pathsize); RMstatus GetFileSize(RMuint32 index, RMascii *size); RMstatus DisplayPage(RMuint32 pageId); RMstatus DisplayWaitCursor(RMbool page); RMstatus RemoveWaitCursor(RMbool page); RMstatus DisplayEvent(RMascii* eventname, RMbool show, RMguiTimerType timer, RMuint32 *id, RMbool useText, RMint8 timeout_1tenth_sec = EVENT_TIMEOUT); RMstatus DisplayEvent(RMascii *eventname, RMbool show, RMguiTimerType timer, RMbool useText, RMascii *str, RMuint16 x, RMuint16 y, RMuint16 width, RMuint16 height, RMbool largeFont=TRUE, RMint8 timeout_1tenth_sec = EVENT_TIMEOUT); RMstatus DisplayMenu(RMuint8 menuIndex, RMbool redraw, RMbool hasfocus); RMstatus DisplayPopup(RMuint32 objectId, RMbool bShow, guiPopupType *popup = NULL); RMstatus DisplayPopup(RMascii *name, RMbool bShow); RMstatus DisplayTextTable(RMuint32 objectId, RMbool bShow, RMbool redraw); RMstatus DisplayTextTable(guiTextTableType *table, RMbool bShow, RMbool redraw); RMstatus DisplaySlider(RMuint32 objectId, RMuint32 value); RMstatus DisplayTextOnEventBitmap(RMuint32 eventId, RMascii *str, RMuint16 x, RMuint16 y, RMuint16 width, RMuint16 height, RMbool largeFont=TRUE); RMstatus ShowMessage(RMuint32 popupId, RMguiTimerType timer, RMuint8 timeout = 0);// timeout = 0 use default timeout RMstatus DisplayMessageBox(RMuint32 popupId, RMascii* caption, RMascii* msg, RMguiTimerType timer, RMuint8 timeout = 0); // no given timeout -- no timer RMstatus RemoveSlider(RMuint32 objectId); RMstatus SetSliderThumb(RMuint32 objectId, RMuint32 value); RMstatus RemoveEventBitmap(RMascii* event_name=NULL); RMstatus RemoveTimedPopup(); RMstatus GetNextObjectId(RMuint32 objectId, RMGuiObjectSelectDirection direction, RMuint32 *nextObjextId); RMstatus ShowObject(RMuint32 objectId); RMstatus ShowSubMenu(RMuint32 objectId, RMbool bShow); RMstatus ShowObjectValue(RMuint32 objectId); RMstatus SelectObject(RMuint32 objectId); RMstatus DefaultActivateCurrentObject(); RMstatus GetCommandInfo(RMuint32 objectId, RMascii *eventName, typeCommandInfo* cmdInfo); RMstatus GetObjectIdByName(RMascii* name, RMuint32 *objectId); RMstatus SetMenuItemText(RMuint32 commandId); RMstatus GetMenuItemText(RMuint32 commandId, RMascii *text); RMstatus SetMenuItemTextByValue(RMuint32 commandId, RMuint32 value); RMstatus UpdateMenuItem(RMuint32 submenuButtonId, RMbool changeText); RMbool IsValidMenu(RMuint32 pageId, RMuint16 menuIndex); RMstatus GetNextObjectFromMedia(RMuint32 mediaId, RMuint32 *objectId); RMstatus ShowListPage(RMuint32 listId, RMbool nextPage); RMstatus UpdateCurrentPlayListItem(RMuint16 playindex); RMguiFileType GetFileType(RMascii* file); RMstatus ActivateFileListItem(RMuint32 objectId, RMbool listActive, typeIsoPath file, RMuint32 *isoitem); RMstatus UpdateListItemInfo(); RMstatus ClearPasswordInput(); RMstatus HandleDefaultClear(); RMstatus ScreenSaver(); // media related RMuint16 GetMediaChapterCount(RMuint32 mediaId); RMuint32 GetMediasLastChapterId(RMuint32 mediaId); RMuint32 GetMediasFirstChapterId(RMuint32 mediaId); RMstatus GetChapterStartTime(RMuint32 mediaId, RMuint32 chapterId, RMuint32 *time); RMstatus GetChapterSeekTime(RMuint32 mediaId, RMuint32 chapterId, RMuint32 *time); RMstatus GetChapterByTime(RMuint32 mediaid, RMuint32 time, RMuint32 *chapterId); RMascii* GetMediaFile(RMuint32 mediaId); RMstatus GetChaptersMedia(RMuint32 chapterId, RMuint32 *mediaId); RMstatus GetNextChapterId(RMuint32 mediaId, RMuint32 chapterId, RMuint32 *nextChapterId); RMstatus GetPreviousChapterId(RMuint32 mediaId, RMuint32 chapterId, RMuint32 *prevChapterId); RMstatus GetMediaAudioStream(RMuint32 mediaId, RMuint8 *audioStream); RMstatus GetMediaType(RMuint32 mediaId, RMguiFileType *ftype); RMstatus SetMediaType(RMuint32 mediaId, RMguiFileType ftype); RMstatus SetMediaDuration(RMuint32 mediaId, RMuint32 duration); RMstatus SetMediaAudioStream(RMuint32 mediaId, RMuint8 audioStream); RMbool CanSkipMedia(RMuint32 id); RMbool IsPictureMedia(RMuint32 id); RMstatus GetChapterId(RMuint32 mediaId, RMuint8 chapter, RMuint32 *chapterId); RMstatus GetChapter(RMuint32 mediaId, RMuint32 chapterId, RMuint8 *chapter); RMstatus SetChapterSeekTime(RMuint32 mediaId, RMuint32 chapterId, RMuint32 time); RMuint16 GetMediaFilesCount() { return m_nbMediaFiles; } void ClearSecretCode(); RMuint32 SetCurrentObjectDeSelectedAttribute(RMuint32 selectingObjectId = 0); RMstatus SetMenuItemTextByName(RMascii *name, RMascii *text); RMstatus ReplaceString(RMuint8 stringIndex, RMascii* str); RMstatus ReadTVList(); void FreeTVList(); RMascii* GetCommandLink(RMuint32 objectId, RMascii *eventName) { for (RMuint8 i = 0; i < m_nbPopups; i++) { if (m_Popups[i]->id == objectId) { for (RMuint8 j = 0; j < m_Popups[i]->nbEvents; j++) { if (RMCompareAsciiCaseInsensitively(m_Popups[i]->events[j]->name, eventName)) { return m_Popups[i]->events[j]->link; } } } } return NULL; } void SetLang(RMuint8 lang) { m_curLanguage = lang;} RMuint8 GetLang(){return m_curLanguage;}private: typeGuiContext* m_gui; RMbool m_initialized; RMuint8 m_curLanguage;public: guiScreenFormatType m_screenFormat; guiOsdPageType* m_osdPages[MAX_GUI_PAGES]; guiMediaControls* m_mediaControls;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -