📄 stpmenu.h
字号:
CHK_VDO,
CHK_ADO,
CHK_SPDIF,
CHK_EQ,
#ifdef PLAYER_SURROUND
CHK_3D,
#endif
CHK_PREF,
CHK_SP,
#ifdef PLAYER_SEQ
CHK_SEQ,
#endif
#ifdef PLAYER_KARAOKE
CHK_KOK,
#endif
#ifdef DOLBY_PROLOGIC2
CHK_PL2,
#endif
CHK_VER,
CHK_EXIT,
CHK_GENERAL
};
// - Special Page Definition
enum
{
PAGE_PASS_BTN = 1,
PAGE_CON_BTN,
//PAGE_OTHER_LANG,
#ifdef PLAYER_ADV_EQ
PAGE_CHEQ,
#endif
#ifdef PLAYER_KARAOKE
PAGE_MIC,
#endif
#ifdef PLAYER_TRIM
PAGE_TRIM,
#endif
#ifdef MTK_DELAY
PAGE_DELAY,
#endif
PAGE_VER,
PAGE_VDO
};
// - Page Type
enum PAGE_TYPE
{
PAGE_TYPE_MAINMENU,
// PAGE_TYPE_SUBMENU,
PAGE_TYPE_H_DIALOG,
PAGE_TYPE_V_DIALOG,
PAGE_NML
// PAGE_COM,
// PAGE_TXT,
// PAGE_TOP
};
// - Entry Type
enum ENTRY_TYPE
{
TYPE_PAGE,
TYPE_MAINMENU,
ENTRY_TYPE_MENU,
ENTRY_TYPE_SUBMENU,
ENTRY_TYPE_RETURN,
ENTRY_TYPE_DIALOG,
ENTRY_TYPE_EDITBOX_ORDERED,
ENTRY_TYPE_EDITBOX,
ENTRY_TYPE_GROUPBUTTON,
ENTRY_TYPE_H_SLIDER,
ENTRY_TYPE_H_SLIDER_SIGNED,
ENTRY_TYPE_V_SLIDER,
ENTRY_TYPE_V_SLIDER_SIGNED,
TYPE_SPK_CONFIG,
TYPE_CLOSE,
ENTRY_TYPE_STATIC,
ENTRY_TYPE_CODE,
ENTRY_TYPE_TEXT,
ENTRY_TYPE_NUM,
ENTRY_TYPE_CNUM,
ENTRY_TYPE_NULL,
//TYPE_NUM,
// ENTRY_TYPE_NUM_ADJUST,
// ENTRY_TYPE_NUM_EDIT,
// TYPE_DYNOPT,
// TYPE_NUMOPT,
//please add TYPE_USER_XX after TYPE_USR_1
/* TYPE_USER_XX is used for user, every TYPE_USER_XX should map to a function to do the draw function */
TYPE_USER_1
};
enum
{
MENU_TXT,
MENU_BMP
};
// - Page Order
enum
{
/* 00 */ MAIN_PAGE,
/* 01 */ GENERAL_PAGE,
/* 02 */ SPEAKER_PAGE,
#ifndef SIMPLE_SPDIF_CTRL
/* 03 */ SPDIF_PAGE,
#endif
#ifdef PLAYER_SURROUND
/* 04 */ EQ_PAGE,
#endif
/* 05 */ DD_PAGE,
/* 06 */ PRE_PAGE,
#ifdef ENABLE_USER_LANG_CODE
/* 07 */ LANG_PAGE,
#endif
#ifdef PLAYER_KARAOKE
/* 08 */ MIC_PAGE,
#endif
#ifdef PLAYER_TRIM
/* 09 */ TRIM_PAGE,
#endif
#ifdef MTK_DELAY
/* 10 */ DELAY_PAGE,
#endif
/* 11 */ ADO_PAGE,
/* 12 */ VDO_PAGE,
#if (defined(PLAYER_KARAOKE) || \
(defined(USE_EXTERNAL_KARAOKE) && defined(MANUAL_MIC_ON_OFF)))
/* 13 */ KOK_PAGE,
#endif
#if (defined(PTL_PWD_MODE_SW) || defined(SET_PTL_NEED_PWD))
/* 14 */ PASS_PAGE,
#endif
/* 15 */ PASS_CHG_PAGE,
/* 16 */ PASS_CON_PAGE,
#ifdef PLAYER_SURROUND
/* 17 */ THREED_PAGE,
#endif
#ifdef PLAYER_SEQ
/* 18 */ SEQ_PAGE,
#endif
//#ifdef HDCD_CERTIFICATION
#if (defined(HDCD_CERTIFICATION) || defined(HDCD_EN))
/* 19 */ HDCD_PAGE,
#endif
#ifdef DOLBY_PROLOGIC2
/* 20 */ PL2_PAGE,
#endif
#ifdef STP_VDO_Q_MENU
/* 21 */ VDO_Q_PAGE,
#endif
/* 22 */ EXIT_PAGE,
/* 23 */ VER_PAGE,
/* 24 */ BRIGHTNESS_PAGE,
/* 25 */ CONTRAST_PAGE,
/* 26 */ TINT_PAGE,
/* 27 */ HUE_PAGE,
#ifdef PLAYER_ADV_EQ
/* 28 */ ADV_EQ_PAGE,
#endif
/* 29 */ REGCODE_PAGE,
/* 30 */ MAX_PAGE
};
///////////////////////////////////////////////////////////////////////////////
// Setup Menu Struct
typedef struct sData
{
WORD wEntryMsg;
WORD wMsgMsg;
WORD wValMsg;
BYTE bVal;
} sData;
typedef struct sEntry
{
WORD wType;
WORD wBmpIdx;
WORD wEntryMsg;
WORD wMsgMsg;
WORD wEEPos; // store in see entry or Page Number
WORD wSIPos; // send to RISC share info update entry
WORD wMaxOpt;
WORD wDefault; // default value when reset
sData **prData;
BYTE (code *bFun)(WORD wEEPos, BYTE bValue) large;
} sEntry;
typedef struct sMenu
{
// BYTE wSpace;
BYTE bType;
WORD wHdrMsg;
WORD wMsgMsg;
BYTE bTotalEntry;
// BYTE bFirst;
sEntry **prEntry;
BYTE bMenuType; //void *vFun; // per page draw function
BYTE bInvType; //void *vInvaFun; // invalid entry function
} sMenu;
typedef struct sMenuRoot
{
BYTE wType;
sMenu **prMenu;
BYTE bEntryNo;
} sMenuRoot;
typedef struct _sDlgParent
{
BYTE bDlgId;
BYTE bPage;
BYTE bEntry;
} sDlgParent;
///////////////////////////////////////////////////////////////////////////////
// Setup Menu Struct
#define bOptMaxEntryNum(menu, page, entry) (menu.prMenu[page]->prEntry[entry-1]->wMaxOpt)
#define NUM_STYLE_CTRL(x) ((x == ENTRY_TYPE_H_SLIDER) || (x == ENTRY_TYPE_H_SLIDER_SIGNED) || \
(x == ENTRY_TYPE_V_SLIDER) || (x == ENTRY_TYPE_V_SLIDER_SIGNED))
#ifdef _SETUP_C
code void *vUsrFun[] = {vDrawDynRngBtn};
code sEntry _rEntryNull = { ENTRY_TYPE_NULL, NULL_BMP, 0, 0, NULL_EE_ITEM, 0, 0, 0, 0, 0};
code sEntry _rEntryMain = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_MAINPAGE, OSD_MSG_BACK_TO_MAIN_PAGE, MAIN_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryToAudio = { ENTRY_TYPE_SUBMENU, BMP_STPMN_ADO_ON, OSD_MSG_TO_AUDIO_SETUP, OSD_MSG_GOTO_ADO_SETUP, ADO_PAGE, 0, 0, 0, 0, NULL_FUN};
///////////////////////////////////////////////////////////////////////////////
// Main Page
code sEntry _rEntryDD = { ENTRY_TYPE_SUBMENU,
#ifdef PLAYER_2_CHANNEL
BMP_STPMN_DOLBY_ON,
#else
NULL_BMP,
#endif
OSD_MSG_DOLBY_DIGITAL, OSD_MSG_GOTO_DOLBY_DIGITAL, DD_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryGeneral = { ENTRY_TYPE_SUBMENU, BMP_STPMN_GR_ON, OSD_MSG_GENERAL_SETUP, OSD_MSG_GOTO_GENERAL_SETUP, GENERAL_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryVdo = { ENTRY_TYPE_SUBMENU, BMP_STPMN_VDO_ON, OSD_MSG_VIDEO_SETUP, OSD_MSG_GOTO_VDO_PAGE, VDO_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntrySpk = { ENTRY_TYPE_SUBMENU,
#ifdef PLAYER_2_CHANNEL
BMP_STPMN_ADO_ON,
#else
NULL_BMP,
#endif
OSD_MSG_AUDIO_SETUP, OSD_MSG_GOTO_SPEAKER, SPEAKER_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryPre = { ENTRY_TYPE_SUBMENU, BMP_STPMN_PR_ON, OSD_MSG_PREFERENC_PAGE, OSD_MSG_GOTO_PREFERENCE, PRE_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryToPass = { ENTRY_TYPE_SUBMENU, BMP_STPMN_PWD_ON, OSD_MSG_PASSWORD_SETUP, OSD_MSG_GOTO_PASSWORD, PASS_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryExit = { TYPE_CLOSE, BMP_STPMN_EXIT_ON, OSD_MSG_EXITSETUP, OSD_MSG_EXIT_SETUP_MENU, EXIT_PAGE, 0, 0, 0, 0, NULL_FUN};
#ifdef SIMPLE_MENU
code sEntry *_prEntryMain[] = { &_rEntryGeneral, &_rEntrySpk, &_rEntryDD, &_rEntryPre
#ifndef MTK_MENU
,&_rEntryNull, &_rEntryExit
#endif
};
#else
code sEntry *_prEntryMain[] = { &_rEntryGeneral, &_rEntryToAudio, &_rEntryVdo, &_rEntryPre,
&_rEntryToPass,
#ifndef MTK_MENU
&_rEntryNull,
#endif
&_rEntryExit
};
#endif
//code sMenu _rPageMain = {NML_SPACE, PAGE_TOP,
code sMenu _rPageMain = {PAGE_TYPE_MAINMENU,
OSD_MSG_SETUP_MENU, OSD_MSG_SETUP_MENU_D, TBL_SIZE(_prEntryMain),
_prEntryMain, NULL_FUN, CHK_MAIN};
///////////////////////////////////////////////////////////////////////////////
// Password Page
#if (defined(PTL_PWD_MODE_SW) || defined(SET_PTL_NEED_PWD))
// - Password Switch
code sData _rOptPassOn = {OSD_MSG_ON, OSD_MSG_ON, OSD_MSG_ON, EV_ON};
code sData _rOptPassOff = {OSD_MSG_OFF, OSD_MSG_OFF, OSD_MSG_OFF, EV_OFF};
code sData *_prDataPass[] = {&_rOptPassOn, &_rOptPassOff};
code sEntry _rEntryPass = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_PASSWORD_MODE, OSD_MSG_PASSWORD_MODE,
PASS_SW_POSITION, NULL_SI, TBL_SIZE(_prDataPass) - 1, EV_ON, _prDataPass, bPassSwitch};
// - Change Password
code sData _rOptPassChange = {OSD_MSG_PASS_CHANGE, OSD_MSG_CHANGE_PASSWORD, OSD_MSG_EMPTY, 0};
code sData *_prDataPassChange[] = {&_rOptPassChange};
code sEntry _rEntryPassCh = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_PASSWORD_CHANGE, OSD_MSG_CHANGE_PASSWORD,
NULL_EE_ITEM, NULL_SI, 0, 0, _prDataPassChange, bChangePass};
// - Password Page Definition
code sEntry *_prEntryPass[] = {
#ifdef PTL_PWD_MODE_SW
&_rEntryPass,
#endif
&_rEntryPassCh };
code sMenu _rPagePass = { PAGE_NML, OSD_MSG_PASSWORD_PAGESETUPPAGE, OSD_MSG_EMPTY,
TBL_SIZE(_prEntryPass), _prEntryPass, NULL_FUN, NULL_FUN};
#endif // PTL_PWD_MODE_SW || SET_PTL_NEED_PWD
// Password Page End
// Password Page Change
// old password
//code sEntry _rEntryPassOld = { ITEM_ENTRY_TYPE_TEXT, BMP_PASS, OSD_MSG_OLD_PASSWORD, OSD_MSG_INPUT_OLD_PASS,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -