?? gui.h.svn-base
字號:
/***************************************** Copyright 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file gui.h @brief gui external api @author Raul Chirinos, Laurent Crinon @date 2004-03-02*/#ifndef __RMCURACAOGUI_H__#define __RMCURACAOGUI_H__#include "common.h"#include "guitypes.h"extern "C" {#ifdef CURACAO_EM86XX_BOARD#include "dcc/include/dcc.h"#endif}#if (EM86XX_MODE==EM86XX_MODEID_STANDALONE)#define SETTINGS_FILE "/dev/mtdblock/2"#else#define SETTINGS_FILE "player.settings"#endif#define GUI_XML "gui/curacao.xml"// Error message related#define DRM_ERROR_CAPTION "DRM Error"#define WMVHD_ERROR_CAPTION "WMV HD Error"#define DRM_ERROR_TEXT "Unable to play file"#define DEFAULT_OSD_WIDTH 720#ifdef GUI_REFID_2#define DEFAULT_OSD_HEIGHT 576#include "../Ref2/include/gui_auto_config.h"#include "../Ref2/include/Ref2Gui.h"#include "../Ref2/libIP/include/IP.h"#include "../Ref2/libProcess/include/Process.h"#include "languageparser.h"#ifdef KML_SUPPORT#include "../Ref2/kml/kml.h"#include "../Ref2/include/curacao_graphics.h"#endif //kml#include "../Ref2/pclink.h"#else#define DEFAULT_OSD_HEIGHT 480#endif //ref 2#define NTSC_VIDEO_SETTINGS_MENU_NAME "NTSCVideoSettingsMenu"#define PAL_VIDEO_SETTINGS_MENU_NAME "PALVideoSettingsMenu"#define MAX_VIDEO_OUT_SETTINGS 40 // per standard#ifdef GUI_REFID_2#define GOUP_DIRECTORY "\\ .."#define OSDFADE_TIMEOUT 2#define VIDEOOUTCHANGE_TIMEOUT 200#define FIP_DISPLAY_LENGTH 12#define FIP_SCROLL_SPACE 8#ifdef GUI_REFID_3#define DISPLAY_TEXT_ON_EVENT_ARG 0#define DISPLAY_TEXT_ON_EVENT_ARG2 0#define DISPLAY_TEXT_ON_EVENT_ARG3 0#else#define DISPLAY_TEXT_ON_EVENT_ARG 50#define DISPLAY_TEXT_ON_EVENT_ARG2 50#define DISPLAY_TEXT_ON_EVENT_ARG3 20#endif#else#define GOUP_DIRECTORY "[ Up Folder ]"#define VIDEOOUTCHANGE_TIMEOUT 100#define FIP_DISPLAY_LENGTH 7#define FIP_SCROLL_SPACE 8#define DISPLAY_TEXT_ON_EVENT_ARG 10#define DISPLAY_TEXT_ON_EVENT_ARG2 160#define DISPLAY_TEXT_ON_EVENT_ARG3 120#endif#define EVENT_TIMEOUT 20 // in secs/10#define SLIDER_TIMEOUT 50#define SLIDESHOW_TIMEOUT 50#define ERRORMESSAGE_TIMEOUT 100#define PICTUREERROR_TIMEOUT 20#define RESUMEMOVIE_TIMEOUT 150#define KML_TIMEOUT 50#define SAVESETTINGS_TIMEOUT 50#define WAIT_ANIMATION_TIMEOUT 2#define PLAYER_NUMERICINPUT_TIMEOUT 30#define ERROR_DELAY 1500 // in msecs#define LOADINGFILE_DELAY 500 // in msecs#define MAX_GUI_ISO_ITEMS 256#define NOT_AVAILABLE_TXT "N/A"#define CHAR_COLON ':'#define PASSWORD_DISPLAY_CHAR '#'#define MAX_GUI_TEXT_VALUE 80#define MAX_GUI_NUMERIC_INPUT 6 // number of consecutive digits acepted as input#define MAX_ZOOM_STEPS 3#define ZOOM_OFFSET 1024#define PAN_OFFSET (ZOOM_OFFSET >> 1)#define MAX_FILENAME_LENGTH 128#define MAX_PATH_LENGTH 512#define MAX_LANGUAGE_ID 16#define MAX_LANGUAGE_TEXT 32#define MAX_GUI_TIMERS 32#define MAX_VOLUME_LEVELS 32#define __NUMSEL#define LOBYTE(w) ((RMuint8)(w))#define HIBYTE(w) ((RMuint8)(((RMuint16)(w) >> 8) & 0xff))class RMcuracaoGuiNavigation;typedef RMascii typeIsoPath[MAX_PATH_LENGTH];typedef RMascii typeTextValue[MAX_GUI_TEXT_VALUE];typedef struct{ RMascii name[MAX_FILENAME_LENGTH]; RMascii* path; RMbool isDirectory;}typeIsoFile;typedef struct{ RMuint32 numItems; RMuint32 numCurrentItem; typeIsoPath directory; typeIsoFile *isoStructure;}typeIsoData;typedef struct{ RMuint32 numItems; RMuint8 numitemsPerPage; RMuint16 numPages; RMuint16 numCurrentPage; RMbool hasGoUp; RMguiFileType displayfileType; RMuint32 *isoDataIndex; RMguiFileType *fileType;}typeIsoListData;typedef struct{ RMuint32 numItems; RMuint8 numitemsPerPage; RMuint16 numPages; RMuint16 numCurrentPage; RMuint32 numCurrentItem; // [0..numItems[}typeListData;typedef struct{ RMuint32 numItems; RMuint32 numCurrentItem; RMbool active; RMguiFileType filetype; RMbool previous; RMguiRepeatMode repeat; RMbool starting; RMbool usetimeout; RMuint32 *isoDataIndex; RMascii **isoPath; RMascii **isoAuthor; RMascii **isoName; RMascii **isoPathShuffled; RMuint32 *shuffled; RMbool playSingle;}typePlayList;typedef struct{ RMuint32 id[MAX_GUI_MEDIA]; // object ids RMuint32 numItems; // number of media items in list RMuint32 numCurrentItem; // current media id index RMuint32 numCurrentChapterId; // current chapter within active media RMbool active; // list is active RMbool starting; // list is starting to be played RMuint32 timeout; // picture timeout in secs RMuint32 endingId; // page id to go to, default to main RMguiRepeatMode repeat; // repeat mode}typeMediaList;typedef struct{ RMuint32 id; // media object being played RMuint32 time; // position in secs}typeMediaResumeInfo;typedef struct{ typeTextValue cmdtxt[MAX_VIDEO_OUT_SETTINGS]; RMuint32 cmd[MAX_VIDEO_OUT_SETTINGS]; RMuint8 count;}typeVideoOutCommands;typedef struct{ RMuint32 ip; RMuint32 subnet; RMuint32 gateway; RMuint32 dns; RMuint32 dnsAlt;}typeNetworkParams;typedef struct{ RMuint32 audioOut; RMuint32 tvType; RMuint32 activeVideoOutput; RMuint32 videoOutput; RMuint16 menuLanguage;}typeQuickSetupParams;#ifdef GUI_REFID_2class RMcuracaoGui : public PCLinkAutodiscovery::Notify#elseclass RMcuracaoGui#endif{ public: RMcuracaoGui(typeCuracaoContext *context); virtual ~RMcuracaoGui(); RMstatus Initialize(RMnonAscii *xmlFile); RMstatus Notify(typeCuracaoMessage message, void *val); RMstatus DiscState(); RMstatus CommandHandler(typeCommandInfo* cmdInfo); // command related RMstatus SendKey(RMremoteKey c); RMstatus SendEvent(RMguiEvent event); RMascii* GetFile(); RMstatus Close(); RMstatus ClearScreen(); RMstatus EnableSPU(RMbool enable); RMuint16 GetRandomValue(RMuint32 max); RMstatus SetTimer(RMguiTimerType timer, RMuint8 timeout=0); RMstatus KillTimer(RMguiTimerType timer, RMbool bAll = FALSE); RMuint32 CalculateCRC(RMuint8 *buffer, RMuint32 size); RMstatus GetDvdParameters(typeCuracaoDvdParameters *params); RMstatus GetVcdParameters(typeCuracaoVcdParameters *params); // display related RMstatus CheckVisualEvents(); RMstatus GetParentalLevelClearance(RMuint8 discRating); RMstatus ShowList(RMuint32 listId, RMbool bRet); RMstatus ShowListShortcut(RMuint32 listId, RMuint8 bRet); RMstatus ShowPage(RMuint32 pageId); RMstatus ShowPopup(RMascii *name); RMstatus ShowPopup(RMuint32 popupId, RMbool bshow, guiPopupType *popup = (guiPopupType *)NULL); RMstatus ShowPopup(RMascii *name, RMuint32 secs); RMstatus RemovePopup(RMascii *name); RMstatus PopupDismissedNotification(RMuint32 popupId); RMbool GetAutoSwitchState(); RMstatus DisplayMainPage(); RMbool IsTv() {return m_bTV;} RMguiFileType GetFileTipe() { return m_isoPlayList.filetype;} RMbool IsOSDMenu() {return m_bTVMenuOn;} void SetOSDMenu(RMbool set){m_bTVMenuOn = set;} struct DCC *GetDCCHandle(); RMstatus fipWriteScrollText(RMascii *text); void Wait(RMuint32 timeout_ms); // used to determine if FP keys should be interpreted as navigation or playback control keys RMbool IsMenu(); // helper functions RMascii *ConnectorStr(enum DCCVideoConnector connector); RMascii *ColorSpaceStr(enum EMhwlibColorSpace colorspace); RMascii *StandardStr(RMuint32 standard); RMstatus ReenableDisplay(); private: RMbool m_initialized; typeCuracaoContext* m_context; typeGuiContext m_gui; RMcuracaoGuiNavigation* m_pnav; guiScreenFormatType m_screenFormat;public: struct RUA* m_pRua;private: enum RMProtectType m_protectType; typeMediaPlayerSate m_playMode; RMbool m_bTV; RMbool m_bMissingChannel; RMbool m_bTVMenuOn; RMbool m_isDiscDetected;// RMdiscType m_discType; RMbool m_muteOn; RMbool m_infoOn; RMbool m_infoShow; RMbool m_shuffleOn; RMbool m_menuOn;#ifdef CURACAO_EM84XX_BOARD RMbool m_resumeOn;#endif RMascii m_repeatModeStr[MAX_GUI_TEXT_VALUE]; RMbool m_zoomOn; RMuint8 m_zoomStep; RMuint8 m_panStepX; RMuint8 m_panStepY; // valid only while popups using them are active!! RMbool m_bPasswordOk; RMuint32 m_previousTVStandard; RMuint32 m_previousVideoOut; RMbool m_drawingPicture; RMbool m_resumeDvd; // info displays typeCuracaoCddaInfo m_cddaInfo;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -