⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stpmenu.h

📁 mtk1389L latest sourcecode enjoy
💻 H
📖 第 1 页 / 共 5 页
字号:
  #define PL2_CWID_ITEM       0x10     // PL2 Center Width
  
  #define HDCD_FILTER_OFF     0x01    // PL2 Switch [runma] add line.//Jerry_Chen
  #define HDCD_FILTER_1X       0x02     // PL2 Mode
  #define HDCD_FILTER_2X       0x04     // PL2 Panorama
  
#endif

#ifdef NO_INT_VER
  #ifdef NO_REGION_CODE
    #define VERSION_MAIN    0x4  // Version / Main Page
  #else
    #define REGION_ITEM     0x4  // Version / Region Code
    #define VERSION_MAIN    0x8  // Version / Main Page
  #endif
#else
  #ifdef NO_REGION_CODE
    #define VERSION_MAIN    0x40  // Version / Main Page
  #else
#define REGION_ITEM     0x40  // Version / Region Code
#define VERSION_MAIN    0x80  // Version / Main Page
  #endif
#endif


#define DLG_CONFIRM_PNTL      0
#define DLG_CONFIRM_PWD       1
#define DLG_CHANGE_PWD        2
#define DLG_AUDIO_LANG_CODE   3 
#define DLG_MENU_LANG_CODE    4 
#define DLG_SP_LANG_CODE      5 
#define DLG_BRIGHTNESS        6 
#define DLG_CONTRAST          7  
#define DLG_TINT              8
#define DLG_HUE               9 
#define DLG_VERSION          10
#define DLG_REGCODE          11
#define DLG_TRIM			  12
#ifdef MT1389_PTCON
#define DLG_PANEL_BRIGHTNESS 13
#define DLG_PANEL_CONTRAST   14
#define DLG_PANEL_HUE        15
#define DLG_PANEL_TINT       16
#endif
#ifdef PANEL_FACTORY_SETTING
#define PANEL_VCOM_DCLEVEL           0x01 
#define PANEL_VCOM_ACLEVEL          0x02 
#endif
#ifdef PANEL_FACTORY_SETTING
  #define DLG_PANEL_VCOM_ACLEVEL  20
  #define DLG_PANEL_VCOM_DCLEVEL 21
#endif

#define DLG_TYPE_DIGIT(bDlg)    ((bDlg >= DLG_CONFIRM_PNTL) && (bDlg <= DLG_SP_LANG_CODE))
#define DLG_TYPE_SLIDER(bDlg)   ((bDlg >= DLG_BRIGHTNESS) && (bDlg <= DLG_HUE))

#ifdef SUPPORT_HDMI
#define HDMI_SWTICH         0x01
#define HDMI_RES_SWITCH     0x02
#define HDMI_HDCP_SWITCH    0x04
#define HDMI_VIDEO_SWITCH   0x08
#define HDMI_AUDIO_SWITCH   0x10
#define HDMI_SRC_SWITCH     0x20
#endif //#ifdef SUPPORT_HDMI
/*
BYTE bPageStartX(void) large;
BYTE STP_MENU_START_Y(void) large;
BYTE bPageItemSpace(BYTE bEntry) large;
void vSwitchType(void) large;
void vSwitchStyle(void) large;
*/
///////////////////////////////////////////////////////////////////////////////
// Setup Menu Enum

// - Check Normal/Simple/Advanced Style
enum
{
  CHK_MAIN = 1,
  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
#ifdef SUPPORT_DDEX
  CHK_DDEX,
#endif
  CHK_VER,
  CHK_EXIT,
#ifdef SUPPORT_HDMI
  CHK_HDMI,
#endif //#ifdef SUPPORT_HDMI
  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,
#ifdef MT1389_PTCON
  /* 30 */ VDO_PQ_PAGE,
  /* 31 */ PANEL_BRIGHTNESS_PAGE,
  /* 32 */ PANEL_CONTRAST_PAGE,
  /* 33 */ PANEL_HUE_PAGE,
  /* 34 */ PANEL_TINT_PAGE, 
#endif
#ifdef SUPPORT_HDMI
  /* 30 */ HDMI_PAGE,
#endif //#ifdef SUPPORT_HDMI
  #ifdef SMS_MENU_TIMER_DISAPPEAR  // It should be SUPPORT_MODE_SWITCH_MENU at last //yan 070409 //yan 070409
   /* 31 */ SMS_PAGE,
  #endif

#ifdef PANEL_FACTORY_SETTING
 /* 36 */  PANEL_FACTORY_PAGE,
/* 37 */ PANEL_VCOMDC_PAGE,
 /* 38 */PANEL_VCOMAC_PAGE,
#endif
  /* 32 */ 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))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -