📄 stpmenu1.h
字号:
WORD wHdrMsg;
WORD wMsgMsg;
BYTE bTotalEntry;
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;
#ifdef SETUP_USE_TAB
typedef struct sTabMsg
{
WORD wStartX;
WORD wStartY;
WORD wMsgIndex;
} sTabMsg;
#endif
///////////////////////////////////////////////////////////////////////////////
// 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))
#define NUM_STYLE_CTRL(x) (x == ENTRY_TYPE_H_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};
///////////////////////////////////////////////////////////////////////////////
// Main Page
#ifdef SETUP_USE_TAB
code sTabMsg _rTabMag[SETUP_TAB_NUM] =
{
#ifndef GCY_EDIT_SETUP
{SETUP_TAB_MSG_X_1,SETUP_TAB_MSG_Y_1,OSD_MSG_GENERAL},
{SETUP_TAB_MSG_X_2,SETUP_TAB_MSG_Y_2,OSD_MSG_AUDIO_SETTING},
{SETUP_TAB_MSG_X_3,SETUP_TAB_MSG_Y_3,OSD_MSG_DOLBY},
{SETUP_TAB_MSG_X_4,SETUP_TAB_MSG_Y_4,OSD_MSG_VIDEO},
{SETUP_TAB_MSG_X_5,SETUP_TAB_MSG_Y_5,OSD_MSG_PREFERENCE}
#else
{SETUP_TAB_MSG_X_1,SETUP_TAB_MSG_Y_1,OSD_MSG_GENERAL},
{SETUP_TAB_MSG_X_2,SETUP_TAB_MSG_Y_2,OSD_MSG_AUDIO_SETTING},
{SETUP_TAB_MSG_X_3,SETUP_TAB_MSG_Y_3,OSD_MSG_VIDEO},
{SETUP_TAB_MSG_X_4,SETUP_TAB_MSG_Y_4,OSD_MSG_PREFERENCE}
#endif
};
#endif
#ifndef GCY_EDIT_SETUP
code sEntry _rEntryDD = { ENTRY_TYPE_SUBMENU,
#ifdef SETUP_USE_TAB
NULL_BMP,
#else
BMP_STPMN_DOLBY_ON,
#endif
OSD_MSG_DOLBY_DIGITAL, OSD_MSG_GOTO_DOLBY_DIGITAL, DD_PAGE, 0, 0, 0, 0, NULL_FUN};
#endif
code sEntry _rEntryGeneral = { ENTRY_TYPE_SUBMENU,
#ifdef SETUP_USE_TAB
NULL_BMP,
#else
BMP_STPMN_GR_ON,
#endif
OSD_MSG_GENERAL_SETUP, OSD_MSG_GOTO_GENERAL_SETUP, GENERAL_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryVdo = { ENTRY_TYPE_SUBMENU,
#ifdef SETUP_USE_TAB
NULL_BMP,
#else
BMP_STPMN_VDO_ON,
#endif
OSD_MSG_VIDEO_SETUP, OSD_MSG_GOTO_VDO_PAGE, VDO_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntrySpk = { ENTRY_TYPE_SUBMENU,
#ifdef SETUP_USE_TAB
NULL_BMP,
#else
BMP_STPMN_ADO_ON,
#endif
OSD_MSG_AUDIO_SETUP, OSD_MSG_GOTO_SPEAKER, SPEAKER_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryPre = { ENTRY_TYPE_SUBMENU,
#ifdef SETUP_USE_TAB
NULL_BMP,
#else
BMP_STPMN_PR_ON,
#endif
OSD_MSG_PREFERENC_PAGE, OSD_MSG_GOTO_PREFERENCE, PRE_PAGE, 0, 0, 0, 0, NULL_FUN};
code sData _rOptSpOff = {OSD_MSG_SPDIF_OFF, OSD_MSG_SPDIF_OUTPUT_OFF, OSD_MSG_OFF, EV_AO_OFF};
code sData _rOptSpRaw = {OSD_MSG_SPDIF_RAW,OSD_MSG_RAW_DATA, OSD_MSG_SPDIF_RAW, EV_RAW};
code sData _rOptSpPcm = {OSD_MSG_SPDIF_PCM, OSD_MSG_PCM_DATA, OSD_MSG_PCM, EV_PCM};
code sData *_prDataSpdifGlobal[] = {&_rOptSpOff, &_rOptSpRaw, &_rOptSpPcm };
code sEntry _rEntrySpdifGlobal = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_SPDIFOUTPUT, OSD_MSG_SETUPSPDIF,
IEC958_POSITION, NULL_SI, TBL_SIZE(_prDataSpdifGlobal) - 1,
EV_RAW, _prDataSpdifGlobal, bIecConfig};
// Global SPDIF
#ifdef PLAYER_51_CHANNEL
#ifdef SPDIF_PCM_FREQ_SELECT
// IEC Max Frequency
#ifdef MLP_CERTIFICATION
code sData _rOptIec04k = {OSD_MSG_04K, OSD_MSG_04K, OSD_MSG_EMPTY, EV_04K};
code sData _rOptIec16k = {OSD_MSG_16K, OSD_MSG_16K, OSD_MSG_EMPTY, EV_16K};
#else
code sData _rOptIec48k = {OSD_MSG_48K, OSD_MSG_48K, OSD_MSG_48K, EV_48K};
code sData _rOptIec96k = {OSD_MSG_96K, OSD_MSG_96K, OSD_MSG_96K, EV_96K};
#endif
#ifdef SUPPORT_DVD_AUDIO
code sData _rOptIec192k = {OSD_MSG_192K, OSD_MSG_192K, OSD_MSG_192K, EV_192K};
#endif
code sData *_prDataIecMax[] = {
#ifdef MLP_CERTIFICATION
&_rOptIec04k, &_rOptIec16k,
#else
&_rOptIec48k, &_rOptIec96k,
#endif
#ifdef SUPPORT_DVD_AUDIO
&_rOptIec192k
#endif
};
code sEntry *_prEntrySpdif[] = {&_rEntrySpdifGlobal,
#ifndef MTK_MENU
&_rEntryNull, &_rEntryToAudio
#endif
};
code sMenu _rPageSpdif = {PAGE_NML,
OSD_MSG_SPDIF_SETUP_PAGE, OSD_MSG_GOTO_SPDIF, TBL_SIZE(_prEntrySpdif),
_prEntrySpdif, NULL_FUN, CHK_SPDIF};
code sEntry _rEntryToAudio = { ENTRY_TYPE_SUBMENU,
#ifdef SETUP_USE_TAB
NULL_BMP,
#else
BMP_STPMN_ADO_ON,
#endif
OSD_MSG_TO_AUDIO_SETUP, OSD_MSG_GOTO_ADO_SETUP, ADO_PAGE, 0, 0, 0, 0, NULL_FUN};
#if 1//ndef SIMPLE_SPDIF_CTRL
code sEntry _rEntrySpdif = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_SPDIF_SETUP, OSD_MSG_GOTO_SPDIF, SPDIF_PAGE, 0, 0, 0, 0, NULL_FUN};
#endif
// Front Size
code sData _rOptFntSpkL = {OSD_MSG_LARGE, OSD_MSG_FRONT_SPEAKER_LARGE, OSD_MSG_VAL_LARGE, EV_LARGE};
code sData _rOptFntSpkS = {OSD_MSG_SMALL, OSD_MSG_FRONT_SPEAKER_SMALL, OSD_MSG_VAL_SMALL, EV_SMALL};
code sData *_prDataFntSpk[] = {&_rOptFntSpkL, &_rOptFntSpkS};
code sEntry _rEntryFntSpk = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_FRONT_SPEAKER, OSD_MSG_SETUP_FRONT,
FNT_SPK_POSITION, NULL_SI, TBL_SIZE(_prDataFntSpk) - 1,
EV_LARGE, _prDataFntSpk, bSpkConfig};
// Front Size End
// Center Size
code sData _rOptCntSpkL = {OSD_MSG_LARGE, OSD_MSG_CENTER_LARGE, OSD_MSG_VAL_LARGE, EV_LARGE};
code sData _rOptCntSpkS = {OSD_MSG_SMALL, OSD_MSG_CENTER_SMALL, OSD_MSG_VAL_SMALL, EV_SMALL};
code sData _rOptCntSpkOff = {OSD_MSG_OFF, OSD_MSG_CENTER_OFF, OSD_MSG_OFF, EV_SPK_OFF};
code sData *_prDataCntSpk[] = {&_rOptCntSpkL, &_rOptCntSpkS, &_rOptCntSpkOff};
code sEntry _rEntryCntSet = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_CNTR_SPEAKER, OSD_MSG_SETUP_CENTER,
CNTR_SPK_POSITION, NULL_SI, TBL_SIZE(_prDataCntSpk) - 1,
EV_LARGE, _prDataCntSpk, bSpkConfig};
// Center Size End
// Rear Size
code sData _rOptRearSpkL = {OSD_MSG_LARGE, OSD_MSG_REAR_SPEAKER_LARGE, OSD_MSG_VAL_LARGE, EV_LARGE};
code sData _rOptRearSpkS = {OSD_MSG_SMALL, OSD_MSG_REAR_SPEAKER_SMALL, OSD_MSG_VAL_SMALL, EV_SMALL};
code sData _rOptRearSpkOff = {OSD_MSG_OFF, OSD_MSG_REAR_SPEAKER_OFF, OSD_MSG_OFF, EV_SPK_OFF};
code sData *_prDataRearSpk[] = {&_rOptRearSpkL, &_rOptRearSpkS, &_rOptRearSpkOff};
code sEntry _rEntryRearSet = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_REAR_SPEAKER, OSD_MSG_SETUP_REAR,
REAR_SPK_POSITION, NULL_SI, TBL_SIZE(_prDataRearSpk) - 1,
EV_LARGE, _prDataRearSpk, bSpkConfig};
// Rear Size End
// SubWoffer Size
code sData _rOptSubSpkOn = {OSD_MSG_ON, OSD_MSG_SUBWOFFER_ON, OSD_MSG_ON, EV_ON};
code sData _rOptSubSpkOff = {OSD_MSG_OFF, OSD_MSG_SUBWOFFER_OFF, OSD_MSG_OFF, EV_OFF};
code sData *_prDataSubSpk[] = {&_rOptSubSpkOn, &_rOptSubSpkOff};
code sEntry _rEntrySubSet = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_SUBWOOFER, OSD_MSG_SETUP_SUBWOOFER,
SUB_SPK_POSITION, NULL_SI, TBL_SIZE(_prDataSubSpk) - 1,
EV_ON, _prDataSubSpk, bSpkConfig};
// SubWoffer Size End
////////////////////////////////////////////////////////////////////////////////
//
// Speaker Page
//
// Speaker Number Setting
code sData _rOptDownLtRt = {OSD_MSG_STEREO_LTRT, OSD_MSG_SET_LT_RT_DOWNMIX, OSD_MSG_STEREO_LTRT, EV_DOWN_LTRT}; // prologic
code sData _rOptDownLoRo = {OSD_MSG_STEREO_LORO, OSD_MSG_SET_STEREO_DOWNMIX, OSD_MSG_STEREO_LORO, EV_DOWN_LORO}; // stereo
#ifdef PLAYER_51_CHANNEL
code sData _rOptDownOff = {OSD_MSG_51CH, OSD_MSG_51CH, OSD_MSG_51CH , EV_DOWN_OFF};
code sData *_prDataSpk[] = {&_rOptDownLtRt, &_rOptDownLoRo,
#ifdef SET_VSURR_IN_SPKCFG
&_rOptDownVSurr,
#endif /* SET_VSURR_IN_SPKCFG */
#ifdef PLAYER_51_CHANNEL
&_rOptDownOff
#endif
};
#else
code sData *_prDataSpk[] = {&_rOptDownLtRt, &_rOptDownLoRo };
#endif
code sEntry _rEntrySpkSet = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_DOWNMIX, OSD_MSG_SET_DOWNMIX,
SPEAKER_POSITION, NULL_SI, TBL_SIZE(_prDataSpk) - 1,
EV_DOWN_OFF,
_prDataSpk, bRSpkConfig};
// Dynamic Range
code sEntry _rEntryDyn = { TYPE_USER_1, NULL_BMP, OSD_MSG_DYNAMIC_RNG, OSD_MSG_SET_DYNAMIC,
DRNG_POS, NULL_SI, 8, 8, 0, NULL_FUN};
#ifdef zzf_modify
code sEntry *_prEntryAdo[] = {&_rEntrySpkSet,&_rEntryFntSpk, &_rEntryCntSet, &_rEntryRearSet,
&_rEntrySubSet,&_rEntryDyn,&_rEntrySpdifGlobal
#ifndef MTK_MENU
,&_rEntryNull, &_rEntryToAudio
#endif
};
#else
code sEntry *_prEntryAdo[] = {
&_rEntrySpk,
#if 1//ndef SIMPLE_SPDIF_CTRL
&_rEntrySpdif,
#endif
#ifdef PLAYER_TRIM
&_rEntryTrim,
#endif
#ifdef PLAYER_SURROUND
&_rEntryEq, &_rEntry3D,
#endif
#ifdef PLAYER_SEQ
&_rEntrySEQ,
#endif
#if (defined(HDCD_CERTIFICATION) || defined(HDCD_EN))
//&_rEntryHdcd,
#endif
#if (defined(PLAYER_KARAOKE) || \
(defined(USE_EXTERNAL_KARAOKE) && defined(MANUAL_MIC_ON_OFF11)))
&_rEntryKok,
#endif
#ifndef MTK_MENU
&_rEntryNull, &_rEntryMain
#endif
};
#endif //zzf_modify
#endif
code sEntry *_prEntryMain[] = { &_rEntryGeneral,
#if 1//def
&_rEntryToAudio,
#else
&_rEntrySpk,
#endif
#ifndef GCY_EDIT_SETUP
&_rEntryDD,
#endif
&_rEntryVdo, &_rEntryPre };
#else
code sEntry *_prEntryMain[] = { &_rEntryGeneral, &_rEntrySpk,
#ifndef GCY_EDIT_SETUP
&_rEntryDD,
#endif
&_rEntryVdo, &_rEntryPre };
#endif
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,
code sEntry _rEntryPassOld = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_OLD_PASSWORD, OSD_MSG_INPUT_OLD_PASS,
// 0, 0, 0, 0, 0, 0};
0, 0, PASSWORD_LEN, 0, 0, bCheckOldPwd};
// old password end
// new password
code sEntry _rEntryPassNew = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_NEW_PASSWORD, OSD_MSG_INPUT_NEW_PASS,
// 0, 0, 0, 0, 0, 0};
0, 0, PASSWORD_LEN, 0, 0, bCheckNewPwd}; //[runma] 0 -> bchecknewpwd
// new password end
// confirm password
code sEntry _rEntryPassConf = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_CONFIRM_PASS, OSD_MSG_CONFIRM_PASS,
// 0, 0, 0, 0, 0, 0};
0, 0, PASSWORD_LEN, 0, 0, bConfirmNewPwd}; //[runma] checknewpwd -> confirm
// confirm password end
//code sEntry _rEntryRetPassChg = { ENTRY_TYPE_RETURN, 0, 0, 0, PASS_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryRetPassChg = { ENTRY_TYPE_RETURN, 0, 0, 0, PASS_PAGE, 0, 0, 1, 0, NULL_FUN};
code sEntry *_prEntryPassChg[] = { &_rEntryPassOld, &_rEntryPassNew, &_rEntryPassConf, &_rEntryNull, &_rEntryRetPassChg };
code sMenu _rPagePassChange = {PAGE_TYPE_V_DIALOG,
OSD_MSG_PASSWORD_CHANGE_PAGE, OSD_MSG_EMPTY, TBL_SIZE(_prEntryPassChg),
_prEntryPassChg, 0, NULL_FUN};
//_prEntryPassChg, PAGE_PASS_BTN, NULL_FUN};
// Password Page Change End
code sEntry _rEntryPassCon = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_PASSWORD, OSD_MSG_INPUT_OLD_PASS,
// 0, 0, 0, 0, 0, 0};
PASSWD_POSITION, SH_PASS_0, PASSWORD_LEN, 0, 0, bCheckOldPwd};
code sEntry _rEntryRetPassCon = { ENTRY_TYPE_RETURN, 0, 0, 0, PASS_PAGE, 0, 0, 1, 0, NULL_FUN};
// Password confirm Page
code sEntry *_prEntryPassCon[] = {&_rEntryPassCon, &_rEntryNull, &_rEntryRetPassCon};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -