📄 osd_types.h
字号:
MENU_D5_SPK_VOL_SL_UP_9DB,
MENU_D5_SPK_VOL_SL_UP_8DB,
MENU_D5_SPK_VOL_SL_UP_7DB,
MENU_D5_SPK_VOL_SL_UP_6DB,
MENU_D5_SPK_VOL_SL_UP_5DB,
MENU_D5_SPK_VOL_SL_UP_4DB,
MENU_D5_SPK_VOL_SL_UP_3DB,
MENU_D5_SPK_VOL_SL_UP_2DB,
MENU_D5_SPK_VOL_SL_UP_1DB,
MENU_D5_SPK_VOL_SL_0DB,
MENU_D5_SPK_VOL_SL_DOWN_1DB,
MENU_D5_SPK_VOL_SL_DOWN_2DB,
MENU_D5_SPK_VOL_SL_DOWN_3DB,
MENU_D5_SPK_VOL_SL_DOWN_4DB,
MENU_D5_SPK_VOL_SL_DOWN_5DB,
MENU_D5_SPK_VOL_SL_DOWN_6DB,
MENU_D5_SPK_VOL_SL_DOWN_7DB,
MENU_D5_SPK_VOL_SL_DOWN_8DB,
MENU_D5_SPK_VOL_SL_DOWN_9DB,
MENU_D5_SPK_VOL_SL_DOWN_10DB,
MENU_D5_SPK_VOL_SL_END,
/*SR_VOLUME CONTROL*/
MENU_D5_SPK_VOL_SR_START,
MENU_D5_SPK_VOL_SR_UP_10DB,
MENU_D5_SPK_VOL_SR_UP_9DB,
MENU_D5_SPK_VOL_SR_UP_8DB,
MENU_D5_SPK_VOL_SR_UP_7DB,
MENU_D5_SPK_VOL_SR_UP_6DB,
MENU_D5_SPK_VOL_SR_UP_5DB,
MENU_D5_SPK_VOL_SR_UP_4DB,
MENU_D5_SPK_VOL_SR_UP_3DB,
MENU_D5_SPK_VOL_SR_UP_2DB,
MENU_D5_SPK_VOL_SR_UP_1DB,
MENU_D5_SPK_VOL_SR_0DB,
MENU_D5_SPK_VOL_SR_DOWN_1DB,
MENU_D5_SPK_VOL_SR_DOWN_2DB,
MENU_D5_SPK_VOL_SR_DOWN_3DB,
MENU_D5_SPK_VOL_SR_DOWN_4DB,
MENU_D5_SPK_VOL_SR_DOWN_5DB,
MENU_D5_SPK_VOL_SR_DOWN_6DB,
MENU_D5_SPK_VOL_SR_DOWN_7DB,
MENU_D5_SPK_VOL_SR_DOWN_8DB,
MENU_D5_SPK_VOL_SR_DOWN_9DB,
MENU_D5_SPK_VOL_SR_DOWN_10DB,
MENU_D5_SPK_VOL_SR_END,
/*CEN_VOLUME CONTROL*/
MENU_D5_SPK_VOL_CEN_START,
MENU_D5_SPK_VOL_CEN_UP_10DB,
MENU_D5_SPK_VOL_CEN_UP_9DB,
MENU_D5_SPK_VOL_CEN_UP_8DB,
MENU_D5_SPK_VOL_CEN_UP_7DB,
MENU_D5_SPK_VOL_CEN_UP_6DB,
MENU_D5_SPK_VOL_CEN_UP_5DB,
MENU_D5_SPK_VOL_CEN_UP_4DB,
MENU_D5_SPK_VOL_CEN_UP_3DB,
MENU_D5_SPK_VOL_CEN_UP_2DB,
MENU_D5_SPK_VOL_CEN_UP_1DB,
MENU_D5_SPK_VOL_CEN_0DB,
MENU_D5_SPK_VOL_CEN_DOWN_1DB,
MENU_D5_SPK_VOL_CEN_DOWN_2DB,
MENU_D5_SPK_VOL_CEN_DOWN_3DB,
MENU_D5_SPK_VOL_CEN_DOWN_4DB,
MENU_D5_SPK_VOL_CEN_DOWN_5DB,
MENU_D5_SPK_VOL_CEN_DOWN_6DB,
MENU_D5_SPK_VOL_CEN_DOWN_7DB,
MENU_D5_SPK_VOL_CEN_DOWN_8DB,
MENU_D5_SPK_VOL_CEN_DOWN_9DB,
MENU_D5_SPK_VOL_CEN_DOWN_10DB,
MENU_D5_SPK_VOL_CEN_END,
/*SUB_VOLUME CONTROL*/
MENU_D5_SPK_VOL_SUB_START,
MENU_D5_SPK_VOL_SUB_UP_10DB,
MENU_D5_SPK_VOL_SUB_UP_9DB,
MENU_D5_SPK_VOL_SUB_UP_8DB,
MENU_D5_SPK_VOL_SUB_UP_7DB,
MENU_D5_SPK_VOL_SUB_UP_6DB,
MENU_D5_SPK_VOL_SUB_UP_5DB,
MENU_D5_SPK_VOL_SUB_UP_4DB,
MENU_D5_SPK_VOL_SUB_UP_3DB,
MENU_D5_SPK_VOL_SUB_UP_2DB,
MENU_D5_SPK_VOL_SUB_UP_1DB,
MENU_D5_SPK_VOL_SUB_0DB,
MENU_D5_SPK_VOL_SUB_DOWN_1DB,
MENU_D5_SPK_VOL_SUB_DOWN_2DB,
MENU_D5_SPK_VOL_SUB_DOWN_3DB,
MENU_D5_SPK_VOL_SUB_DOWN_4DB,
MENU_D5_SPK_VOL_SUB_DOWN_5DB,
MENU_D5_SPK_VOL_SUB_DOWN_6DB,
MENU_D5_SPK_VOL_SUB_DOWN_7DB,
MENU_D5_SPK_VOL_SUB_DOWN_8DB,
MENU_D5_SPK_VOL_SUB_DOWN_9DB,
MENU_D5_SPK_VOL_SUB_DOWN_10DB,
MENU_D5_SPK_VOL_SUB_END,
#endif
MENU_D5_END
}MenuDom5State_et;
typedef enum {
LANG_OFF,
LANG_AUTO,
LANG_ENG,
LANG_FRA,
LANG_DEU,
LANG_SPA,
LANG_ITA,
#if _APP_CAP_OSD_LANG_CHINESE
LANG_CHINA,
#endif
#if _APP_CAP_OSD_LANG_JAPANESE
LANG_JAPAN,
#endif
#if _APP_CAP_OSD_LANG_PORTUGUESE
LANG_PORTUGUES,
#endif
#if _APP_CAP_OSD_LANG_RUSSIAN
LANG_RUSSIAN,
#endif
LANG_OTHER,
LANG_ORIGIN,
LANG_CESKY,
LANG_DANSK,
LANG_MAGYAR,
LANG_SVENSKA,
LANG_NORSK,
LANG_POLSKI,
LANG_SUOMI,
LANG_AFRIKAANS,
LANG_ARABIC,
LANG_THAI,
LANG_GREEK,
LANG_HINDI,
LANG_TURKI,
LANG_NEDERLAND,
LANG_KOREAN,
LANG_SWEDISH,
LANG_FINNISH,
LANG_ROMAN,
/*not used now by basic clina 060331
LANG_IRISH,
LANG_CZECH,
LANG_NORWEGIAN,
LANG_HUNGARIAN,
LANG_DANISH,
LANG_ICELANDIC,
LANG_POLISH,
*/
LANG_END
} MenuLang_et;
/*
* Password check domain
*/
typedef enum {
PASSWD_SUB_CHECK = 0,
PASSWD_SUB_WRONG,
PASSWD_SUB_CREATE,
PASSWD_SUB_CREATE_CONFIRM,
PASSWD_SUB_CHANGE,
PASSWD_SUB_CONFIRM,
PASSWD_SUB_NOTMATCH,
PASSWD_SUB_NONE /* It is for only initial value */
} PasswdDomState_et;
/*
* Menu Domain depth
*/
typedef enum {
MENU_DOM_DEPTH_0 = 0,
MENU_DOM_DEPTH_1,
MENU_DOM_DEPTH_2,
MENU_DOM_DEPTH_3,
MENU_DOM_DEPTH_4,
MENU_DOM_DEPTH_5 /* It is only for Other language selection */
} MenuDomDepth_et;
typedef enum {
CURSOR_ID_WARN=0,
CURSOR_ID_ANGLE,
CURSOR_ID_ZOOM
} OSD_CursorId_et;
#define MENU_SUPPORT_LANG_NUM (MENU_D3_LANG_MENU_END-MENU_D3_LANG_MENU_START-1)
#define MENU_D1_MAX_ITEM (MENU_D1_SUB_END-MENU_D1_SUB_START-1)
#define MENU_D2_LANG_MAX_ITEM (MENU_D2_LANG_END-MENU_D2_LANG_START-1)
#define MENU_D2_DISP_MAX_ITEM (MENU_D2_DISP_END-MENU_D2_DISP_START-1)
#define MENU_D2_AUDIO_MAX_ITEM (MENU_D2_AUDIO_END-MENU_D2_AUDIO_START-1)
#if _APP_CAP_AUD_KARAOKE // Qian liping 060328
#define MENU_D2_KARA_MAX_ITEM (MENU_D2_KARA_END-MENU_D2_KARA_START-1)
#endif
#if _APP_CAP_AUD_SETUP_SPEAKER
#define MENU_D2_SPK_MAX_ITEM (MENU_D2_SPK_END-MENU_D2_SPK_START-1)
#endif
#define MENU_D2_LOCK_MAX_ITEM (MENU_D2_LOCK_END-MENU_D2_LOCK_START-1)
extern UINT gpGfx_clut[];
/******************************************************************************
*
* For OSD structure
*
*****************************************************************************/
typedef struct {
BYTE2 x_pos;
BYTE2 y_pos;
BYTE2 width;
BYTE2 height;
} OSD_Rectangle_st;
typedef struct {
BYTE2 x_pos;
BYTE2 y_pos;
} OSD_Position_st;
typedef struct {
OSD_CursorId_et cursor_id;
USHORT crop_x;
USHORT crop_y;
USHORT width;
USHORT height;
} OSD_CursorPos_st;
typedef VOID (*AttachedFuncExt)(BYTE2 x, BYTE2 y, BYTE2 w, BYTE2 h); //Lu Shuai 060116
typedef VOID (*OwGfxPgmDrawFunc)(BYTE1 ,BYTE2);
typedef struct{
OwGfxPgmDrawFunc num;
OwGfxPgmDrawFunc dummy;
OwGfxPgmDrawFunc hl;
OwGfxPgmDrawFunc unhl;
}PgmCtrlEdit_st;
typedef struct{
OwGfxPgmDrawFunc hl;
OwGfxPgmDrawFunc unhl;
}PgmCtrlArea_st;
typedef struct {
OSD_ExpSubState_et etCtrl_focus;
OSD_ExpSubState_et etCtrl_focus_old;
OSD_ExpInfo1State_et etInfo1;
OSD_ExpInfo2State_et etInfo2;
BOOL ebMute_draw;
} OSD_ExplorerState_st;
typedef struct {
OsdTimerType_et etType;
SysTimeTick_t time;
} OsdTimerSet_st;
typedef struct {
OSD_InfoSubState_et old;
OSD_InfoSubState_et new;
} OsdInfoSubCtrl_st;
typedef struct {
RepeatSub_et old;
RepeatSub_et new;
BOOL flag;
} OsdRepeatSubCtrl_st;
/*
* Menu display control
*/
typedef struct {
MenuDomDepth_et depth; /* To keep domain depth */
MenuDom1State_et d1_list; /* Domain 1 */
MenuDom2State_et d2_list; /* Domain 2 */
MenuDom3State_et d3_list; /* Domain 3 */
MenuDom4State_et d4_list; /* Domain 4 */
MenuDom5State_et d5_list; /* Domain 5 */
PasswdDomState_et pass_step; /* Password check step */
} OSD_MenuCtrl_st;
typedef struct{
MenuDomDepth_et new_depth;
BOOL hl_flag;
MenuDom1State_et d1_old;
MenuDom1State_et d1_new;
MenuDom2State_et d2_old;
MenuDom2State_et d2_new;
MenuDom3State_et d3_old;
MenuDom3State_et d3_new;
MenuDom4State_et d4_old;
MenuDom4State_et d4_new;
MenuDom5State_et d5_old;
MenuDom5State_et d5_new;
UINT eiChannel;
PasswdDomState_et passwd_type;
UCHAR passwd_count;
}OsdSetupCtrl_st;
typedef struct {
ONOFF ebOnoff; /* To turn on/off all OSD. Set in SETUP */
OSD_MainType_et etCur_dsp;
OSD_MainType_et etPrev_dsp;
OSD_MainType_et etRedraw_dsp;
IconState_et etCur_icon;
IconState_et etPrev_icon;
IconState_et etCheck_icon; /* icon used to check if needed to send keep */
IconState_et etRedraw_icon;
IconPosition_st etZoomIcon_pos; /* icon position for Zoom */
OSD_InfoState_et etInfo_dsp;
OSD_InfoSubState_et etInfo_sub;
OSD_ExplorerState_st etExp_state;
OSD_MenuCtrl_st etSetup_dsp; /* Setup menu control */
OSD_RcState_et etRc_dsp; /*Region Code state*/
RepeatSub_et etRepeat_pos; /* Repeat banner position */
S5H_Lrstereo_et etLrstereo_pos; /* Audio banner position */
#if _APP_CAP_OSD_EXT_SUB_FILE_SELCTION
BYTE1 ecDivxtfile_pos; /*it is used for selection the ext-subtitle file*/
#endif
BYTE1 ecPlaymode_pos; /* Play mode banner position */
UINT eiBookmark_pos; /* it is just for OSD */
BOOL ebFirmup_sel; /* in firmware update window, FALSE is cancel. */
#if _APP_CAP_OSD_DIGEST
BYTE1 digest;
#endif
#if _APP_CAP_AUD_FUNCTION_KEY
VolOsdType_et etVolume_type;
#endif /* _APP_CAP_AUD_FUNCTION_KEY */
#if (_APP_CAP_NAV_USB_DISC||_APP_CAP_NAV_FX_DATA)
FatSelOsdType_et fat_dev_type;
#endif
} OSD_State_st;
typedef struct {
OSD_MainType_et disp;
union {
UINT num;
OsdPgmSet_st pgm;
} p;
} OsdDisp_st;
typedef struct {
UINT old_fw;
UINT new_fw;
VOID *list;
} OsdFirmUp_st;
typedef struct {
OsdControl_et control;
union {
OsdPosCtrl_st pos;
OsdInfoSubCtrl_st info;
S5H_Rect_t rect;
OsdRepeatSubCtrl_st repeat;
OsdTimeCtrl_st time;
OsdBmCtrl_st bm;
OsdPgmSet_st pgm;
OsdSetupCtrl_st setup;
OsdMmpSubCtrl_st sub;
OsdMmpArrowCtrl_st arrow;
S5H_Lrstereo_et lrstereo;
DeviceSelOsdType_et fat_osd_type;
OsdFirmUp_st firmup;
UINT value;
BOOL toggle;
BYTE1 play_mode;
} p;
} OsdCtrl_st;
typedef struct {
UINT num;
IconPosition_st pos;
} OsdIconCtrl_st;
typedef struct {
OsdMsgType_et type;
IconState_et icon;
SysWait_t etWait;
union {
OsdDisp_st image;
OsdCtrl_st ctrl;
OsdIconCtrl_st icon_ctrl;
OsdTimerSet_st timer;
} p;
} OsdMsg_st;
extern OSD_State_st gOSD_state;
#if _APP_CAP_FUNC_INSTANT_PLAY
#define IS_MESSAGE_OSD ( (gOSD_state.etCur_dsp == DISPLAY_STEP) || \
(gOSD_state.etCur_dsp == DISPLAY_OPEN) || \
(gOSD_state.etCur_dsp == DISPLAY_CLOSE) || \
(gOSD_state.etCur_dsp == DISPLAY_PLAY) || \
(gOSD_state.etCur_dsp == DISPLAY_PAUSE) || \
(gOSD_state.etCur_dsp == DISPLAY_STOP) || \
(gOSD_state.etCur_dsp == DISPLAY_NODISC) || \
(gOSD_state.etCur_dsp == DISPLAY_DVDV) || \
(gOSD_state.etCur_dsp == DISPLAY_DVDA) || \
(gOSD_state.etCur_dsp == DISPLAY_SVCD) || \
(gOSD_state.etCur_dsp == DISPLAY_VCD) || \
(gOSD_state.etCur_dsp == DISPLAY_CDDA) || \
(gOSD_state.etCur_dsp == DISPLAY_MP3) || \
(gOSD_state.etCur_dsp == DISPLAY_FF) || \
(gOSD_state.etCur_dsp == DISPLAY_FR) || \
(gOSD_state.etCur_dsp == DISPLAY_SLOW_FOR) || \
(gOSD_state.etCur_dsp == DISPLAY_SLOW_REV) || \
(gOSD_state.etCur_dsp == DISPLAY_ZOOM_VALUE) || \
(gOSD_state.etCur_dsp == DISPLAY_NEXT) || \
(gOSD_state.etCur_dsp == DISPLAY_PREV) || \
(gOSD_state.etCur_dsp == DISPLAY_INST_REPLAY) || \
(gOSD_state.etCur_dsp == DISPLAY_INST_SKIP) || \
(gOSD_state.etCur_dsp == DISPLAY_REPEAT_A) || \
(gOSD_state.etCur_dsp == DISPLAY_REPEAT_B) || \
(gOSD_state.etCur_dsp == DISPLAY_REPEAT_OFF) || \
(gOSD_state.etCur_dsp == DISPLAY_MENU_ON) || \
(gOSD_state.etCur_dsp == DISPLAY_MENU_OFF) || \
(gOSD_state.etCur_dsp == DISPLAY_DISC_ID) || \
(gOSD_state.etCur_dsp == DISPLAY_LOADING) || \
(gOSD_state.etCur_dsp == DISPLAY_NUMERIC) )
#else
#define IS_MESSAGE_OSD ( (gOSD_state.etCur_dsp == DISPLAY_STEP) || \
(gOSD_state.etCur_dsp == DISPLAY_OPEN) || \
(gOSD_state.etCur_dsp == DISPLAY_CLOSE) || \
(gOSD_state.etCur_dsp == DISPLAY_PLAY) || \
(gOSD_state.etCur_dsp == DISPLAY_PAUSE) || \
(gOSD_state.etCur_dsp == DISPLAY_STOP) || \
(gOSD_state.etCur_dsp == DISPLAY_NODISC) || \
(gOSD_state.etCur_dsp == DISPLAY_DVDV) || \
(gOSD_state.etCur_dsp == DISPLAY_DVDA) || \
(gOSD_state.etCur_dsp == DISPLAY_SVCD) || \
(gOSD_state.etCur_dsp == DISPLAY_VCD) || \
(gOSD_state.etCur_dsp == DISPLAY_CDDA) || \
(gOSD_state.etCur_dsp == DISPLAY_MP3) || \
(gOSD_state.etCur_dsp == DISPLAY_FF) || \
(gOSD_state.etCur_dsp == DISPLAY_FR) || \
(gOSD_state.etCur_dsp == DISPLAY_SLOW_FOR) || \
(gOSD_state.etCur_dsp == DISPLAY_SLOW_REV) || \
(gOSD_state.etCur_dsp == DISPLAY_ZOOM_VALUE) || \
(gOSD_state.etCur_dsp == DISPLAY_NEXT) || \
(gOSD_state.etCur_dsp == DISPLAY_PREV) || \
(gOSD_state.etCur_dsp == DISPLAY_REPEAT_A) || \
(gOSD_state.etCur_dsp == DISPLAY_REPEAT_B) || \
(gOSD_state.etCur_dsp == DISPLAY_REPEAT_OFF) || \
(gOSD_state.etCur_dsp == DISPLAY_MENU_ON) || \
(gOSD_state.etCur_dsp == DISPLAY_MENU_OFF) || \
(gOSD_state.etCur_dsp == DISPLAY_DISC_ID) || \
(gOSD_state.etCur_dsp == DISPLAY_LOADING) || \
(gOSD_state.etCur_dsp == DISPLAY_NUMERIC) )
#endif
#define IS_ICON_TRANS_MSG ( (gOSD_state.etCheck_icon== ICON_NP) || \
(gOSD_state.etCheck_icon == ICON_VIDEOMODE) || \
(gOSD_state.etCheck_icon == ICON_VIDEOSCAN) || \
(gOSD_state.etCheck_icon == ICON_3D) || \
(gOSD_state.etCheck_icon == ICON_PLAY) || \
(gOSD_state.etCheck_icon == ICON_RETURN) || \
(gOSD_state.etCheck_icon == ICON_ZOOM_VALUE) || \
(gOSD_state.etCheck_icon == ICON_NEXT) || \
(gOSD_state.etCheck_icon == ICON_PREV) || \
(gOSD_state.etCheck_icon == ICON_INST_REPLAY) || \
(gOSD_state.etCheck_icon == ICON_INST_SKIP) || \
(gOSD_state.etCheck_icon == ICON_NUMERIC) || \
(gOSD_state.etCheck_icon == ICON_RT_MENU) || \
(gOSD_state.etCheck_icon == ICON_TT_MENU) || \
(gOSD_state.etCheck_icon == ICON_NUMERIC) || \
(gOSD_state.etCheck_icon == ICON_MENU_ON) || \
(gOSD_state.etCheck_icon == ICON_MENU_OFF)|| \
(gOSD_state.etCheck_icon == ICON_MUTE_OFF)|| \
(gOSD_state.etCheck_icon == ICON_REPEAT_OFF)|| \
(gOSD_state.etCheck_icon == ICON_DISC_TYPE))
#define IS_ICON_OSD ( (gOSD_state.etCur_icon == ICON_WARNING) || \
(gOSD_state.etCur_icon == ICON_VOLUME) || \
(gOSD_state.etCur_icon == ICON_CAMERA) || \
(gOSD_state.etCur_icon == ICON_ZOOM) )
#define IS_ICON_WARNING ( (gOSD_state.etCur_icon == ICON_WARNING) )
#endif // _OSD_TYPES_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -