📄 osd.h
字号:
#define OSD_LANGUAGE_GROUP EUROPE_AREA_OSD#endif // #if SELL_DESTINATION == ITALY#if SELL_DESTINATION == SPAIN#define OSD_LANGUAGE_GROUP EUROPE_AREA_OSD#endif // #if SELL_DESTINATION == SPAIN#if SELL_DESTINATION == PORTUGAL#define OSD_LANGUAGE_GROUP EUROPE_AREA_OSD#endif // #if SELL_DESTINATION == PORTUGAL#if SELL_DESTINATION == EUROPE#define OSD_LANGUAGE_GROUP EUROPE_AREA_OSD#endif // #if SELL_DESTINATION == EUROPE#if SELL_DESTINATION == BRITISH#define OSD_LANGUAGE_GROUP EUROPE_AREA_OSD#endif // #if SELL_DESTINATION == BRITISH#if SELL_DESTINATION == JAPAN#define OSD_LANGUAGE_GROUP JAPAN_AREA_OSD#endif // #if SELL_DESTINATION == JAPAN#if SELL_DESTINATION == KOREA#define OSD_LANGUAGE_GROUP KOREAN_AREA_OSD#endif // #if SELL_DESTINATION == KOREA// Define some necessary info. base on different OSD language group// OSD message array index for _bOSDLang reference, ex OSD_LoadFontTable()// Notice: only support max 128 OSD language,// So, if "ID > 0x80" means it not support// Max OSD language number#if OSD_LANGUAGE_GROUP == CHINA_AREA_OSD// OSD message array index#define OSD_FONT_ENGLISH 0x0#define OSD_FONT_CHINESE 0x1#define OSD_FONT_FRENCH 0x80#define OSD_FONT_GERMAN 0x81#define OSD_FONT_ITALIAN 0x82#define OSD_FONT_SPANISH 0x83#define OSD_FONT_PORTUGUESE 0x84#define OSD_FONT_JAPANESE 0x85#ifdef SUPPORT_ONLY_ONE_CHINESE_OSD_LANGUAGE// Max OSD language number#define MAX_OSD_LANGUAGE 2#else // #ifdef SUPPORT_ONLY_ONE_CHINESE_OSD_LANGUAGE#define MAX_OSD_LANGUAGE 3#endif // #ifdef SUPPORT_ONLY_ONE_CHINESE_OSD_LANGUAGE#endif // #if OSD_LANGUAGE_GROUP == CHINA_AREA_OSD#if OSD_LANGUAGE_GROUP == EUROPE_AREA_OSD// OSD message array index#define OSD_FONT_ENGLISH 0x0#define OSD_FONT_FRENCH 0x1#define OSD_FONT_GERMAN 0x2#define OSD_FONT_ITALIAN 0x3#define OSD_FONT_SPANISH 0x4#define OSD_FONT_PORTUGUESE 0x80#define OSD_FONT_CHINESE 0x81#define OSD_FONT_JAPANESE 0x82// Max OSD language number#define MAX_OSD_LANGUAGE 5#endif // #if OSD_LANGUAGE_GROUP == EUROPE_AREA_OSD#if OSD_LANGUAGE_GROUP == JAPAN_AREA_OSD// OSD message array index#define OSD_FONT_ENGLISH 0x0#define OSD_FONT_JAPANESE 0x1#define OSD_FONT_FRENCH 0x80#define OSD_FONT_GERMAN 0x81#define OSD_FONT_ITALIAN 0x82#define OSD_FONT_SPANISH 0x83#define OSD_FONT_PORTUGUESE 0x84#define OSD_FONT_CHINESE 0x85// Max OSD language number#define MAX_OSD_LANGUAGE 2#endif // #if OSD_LANGUAGE_GROUP == JAPAN_AREA_OSD//define LOGO ID for MSG_LOGO usage. Need to review this part. Move it to SWOSD?#define OSD_LOGO_DEFAULT 0x0#define OSD_LOGO_ENCRYPT 0x1#define OSD_LOGO_FROM_OPEN 0xFE#define OSD_LOGO_CLEAR 0xFF//CoCo, The following messages are for screen saver only. Need to move it to "screen saver" relative module.//define color palette group for OSD_LoadPalette()//Need to review this part. It's for screen saver only. Move it to SWOSD?//#define OSD_PALETTE_FONT 0//#define OSD_PALETTE_BMP1 1//#define OSD_PALETTE_BMP2 2//#define OSD_PALETTE_BMP3 3//define screen saver mode for OSD_ShowBitmap()//#define OSD_SCR_MODE1 OSD_APPMODE_SCR1//#define OSD_SCR_MODE2 OSD_APPMODE_SCR2//#define OSD_SCR_MODE3 OSD_APPMODE_SCR3//define the MSG_VERSION's base index for debug, range is 65000 ~ 65534#define OSD_VERSION_DEBUG_BASE 65000//define stage for fill osd header usage: OSD_FillHeadtoDRAM(). Need to review it.#define OSD_FILLHEADER_INITIAL 0#define OSD_FILLHEADER_RUNTIME 1#define OSD_FILLHEADER_ENTER_SETUP 2//////////////////////////////////////////////////////////////////////*********CoCo, Need to review this part for CT909// ***** Some parameter for OSD MSG usage definition Area *****//parameter for repeat AB#define REPEAT_A REPEAT_NONE+ 1#define REPEAT_AB REPEAT_NONE+ 2//For MSG_INVALID.#define OSD_ERR_NONE 0#define OSD_ERR_KEY OSD_ERR_NONE+1#define OSD_ERR_NUMBER OSD_ERR_NONE+2#define OSD_ERR_PARENTAL OSD_ERR_NONE+3#define OSD_ERR_DATA OSD_ERR_NONE+4//CoCo, the following messages are for Search UI only. Will remove it.//#define OSD_CANCEL_TIME 0//#define OSD_INPUT_TITLE_CHAPTER OSD_CANCEL_TIME+1//#define OSD_INPUT_TIME OSD_CANCEL_TIME+2//#define OSD_COMPLETE_TIME OSD_CANCEL_TIME+3//Parameter for MSG_UPDATE//#define OSD_UPDATE_AUDIO 1 //Remove this parameter because of MSG_UPDATE is removed also.//Parameter for MSG_WAITING#define OSD_SERVO_STABLE 1//Parameter for MSG_MENU#define OSD_MENU_ROOT 1#define OSD_MENU_TITLE 2//Parameter for MSG_NEXT & MSG_PREV#define OSD_NEXT_PREV_TRACK 0#define OSD_NEXT_PREV_CHAPTER 1#define OSD_NEXT_PREV_PAGE 2#define OSD_NEXT_PREV_ALBUM 3//Parameter for OSD_Trigger#define OSD_TRIGGER_TIME 0#define OSD_TRIGGER_CONTROL 1//Parameter for all message// Initial message while there is no parameter for reference//#define INITIAL_MSG 0x0 //This message is for MSG_MEMORY (AYSYS). Remove it.// Clear message, ex PANEL module reference//#define CLEAR_MSG 0xFFFF //This message is for MSG_MEMORY (AYSYS). Remove it. //CoCo, need to review this part. Is it necessary for CT909.//All channel volume control bar relative info.//The max volume control bar NO#define MAX_VOLCTL_BAR 16// The volume gap of each volume control bar#define VOLCTL_BAR_GAP 1#define MAXNO_OF_MSG_STRING 18extern BYTE __bMsgString[MAXNO_OF_MSG_STRING+1]; // for MSG_STRING usage//Alan2.21, define the buffer mode#define OSDBUFFER_MODE_NORMAL 0#define OSDBUFFER_MODE_MM_AVI 1#define OSDBUFFER_MODE_MM_MOTION 2#define OSDBUFFER_MODE_MM_AUDIO_ONLY 3#define OSDBUFFER_MODE_MM_VIDEO_ONLY 4#define OSDBUFFER_MODE_MM_JPEG_PREVIEW 5#define OSDBUFFER_MODE_MM_JPEG_THUMBNAIL 6#define OSDBUFFER_MODE_MM_UI 7#define OSDBUFFER_MODE_AP 8#define OSDBUFFER_MODE_DVB 9//STATUS structuretypedef struct{ BYTE bPBCMode; // PBC on/off BYTE bPlayingMode; // playing mode BYTE bStill; // current play item is motion or still BYTE bPowerDown; // power down flag WORD wTotalTracks; // total tracks of disc // LLY2.53, expand the time value from WORD to DWORD unit // Since, we will use [23:16]:hour, [15:8]:min, [7:0]: sec //WORD wCurrentTime; // current time Min:Sec DWORD dwCurrentTime; WORD wCurrentTrack; // current play track number} STATUS;//OSDMESSAGE structuretypedef struct{ BYTE bMessage; // The message WORD wParam; // The parameter BYTE bSec; // The time} OSDMESSAGE;//OSDBuffer structuretypedef struct{ BYTE bColorMode; BYTE bBufferMode;} OSDBUF_INFO, * POSDBUF_INFO;//CoCo1.10, support OSD dynamic reigontypedef void (*pDynamicRegionRecoverFunc) (void);//***************************************************************************//Export functions//***************************************************************************void OSD_Output(BYTE bMessage, WORD wParam, BYTE bSec);void OSD_Initial(void);// LLY2.53, expand time value unit from WORD to DWORD//void OSD_Trigger(BYTE bType, WORD wTime);void OSD_Trigger(BYTE bType, DWORD dwTime);void OSD_ChangeUI(BYTE bUI, BYTE bAction);void OSD_AdjustRegion(void);void OSD_AdjustOSDPos(void); // Brian0.75void OSD_NormalMode(void);BYTE OSD_RemoveUI(BYTE bUI);void OSD_PushCurrentNBForeverMsg(BYTE bMessage);BYTE OSD_RecoverNBForeverMsg(void);void OSD_UpdateZoomState(void);void OSD_RemoveAllUI(void);BYTE OSD_NewDynamicRegion(pDynamicRegionRecoverFunc pRecoveryFunc); //CoCo1.10, support OSD dynamic region.void OSD_DeleteDynamicRegion(void); //CoCo1.10, support OSD dynamic region.BYTE OSD_CanUpdateDynamicRegionInfo(void); //CoCo1.10, support OSD dynamic region.void OSD_PANEL_Output(BYTE bMessage, WORD wParam, BYTE bSec);void OSD_SetBufferModeInfo(BYTE bBuffMode); //Alan2.21, set OSD buffer mode infovoid OSD_GetBufferModeInfo(POSDBUF_INFO pOSDBuffer_Info);void OSD_SetRegion(BYTE bRegion, BYTE bClearRegion, GDI_REGION_INFO *RegionInfo);
//***************************************************************************//extern global variables//***************************************************************************extern STATUS gcShowStatus;extern BYTE _bOSDLang; // keep current osd languageextern BYTE _bSpeedFactor; // only support 0 ~ 255extern BYTE _bWaitingCnt; //CoCo, this variable is for "waiting..." usage. Need to move it to OSDND?extern BYTE __bOSDClearNDURegion;extern BYTE __bOSDClearNDBRegion;extern BYTE __bOSDForceToClearNBRegion;//***************************************************************************//Internal functions//***************************************************************************void _OSD_UpdateStatus(BYTE bMessage, WORD wParam);void _OSD_PushForeverMsg(BYTE bMessage);BYTE _OSD_SearchMsg(BYTE bMessage);void _OSD_SetCurrentMsg(BYTE bMessage, WORD wParam, BYTE bSec);void _OSD_RemoveMsgFromStack(BYTE bMessage);void _OSD_ExitUI(BYTE bUI, BYTE bExitMode);BYTE _OSD_RecoverUI(BYTE bUI, BYTE bRecoverType);// LLY2.53, expand time value unit from WORD to DWORD//void _OSD_UITrigger(BYTE bType, WORD wTime);void _OSD_UITrigger(BYTE bType, DWORD dwTime);BYTE _OSD_RecoverNDMessage(BYTE bMessagePos);void _OSD_UpdateMessage(BYTE bMessage);BYTE _OSD_GetUILayer(BYTE bUI);void _OSD_RecoverNURegion(void);void _OSD_RecoverNBRegion(void);void _OSD_ClearMsg(BYTE bMessage);void _OSD_ResetUI(void);void _OSD_ClearDisplayRegion(BYTE bMessage);void _OSD_ClearNUNBRegion(BYTE bRegion);BYTE _OSD_MessageGroup(BYTE bMessage);void _OSD_ResetState(void);void _OSD_RecoverSpecialGraphZoom(void);void _OSD_RecoverDynamicRegion(void); //CoCo1.10, support OSD dynamic region.void _OSD_ConfigRegion(BYTE bUI);#endif //__OSD_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -