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

📄 mainmenu.h

📁 ct952 source code use for Digital Frame Photo
💻 H
📖 第 1 页 / 共 4 页
字号:
#ifndef __MAIN_MENU_H__#define __MAIN_MENU_H__#ifdef SUPPORT_STB#ifdef IMAGE_FRAME_SETUP#include "OSDString\\strextrn.h"#else#include "..\\..\\OSDString\\strextrn.h"#endif //IMAGE_FRAME_SETUP#else#include "OSDString\\strextrn.h"#endif //SUPPORT_STB#ifdef SUPPORT_STB//extern#ifdef SUPPORT_GAME_MINERextern void GAME_MINE_Initial(void);extern BYTE GAME_MINE_ProcessKey(BYTE bKey);extern void GAME_MINE_Trigger(void);extern void GAME_MINE_Exit(BYTE bClearBackground);#endif //SUPPORT_GAME_MINER#ifdef SUPPORT_GAME_TETRISextern void GAME_TETRIS_Initial(void);extern BYTE GAME_TETRIS_ProcessKey(BYTE bKey);extern void GAME_TETRIS_Trigger(void);extern void GAME_TETRIS_Exit(BYTE bClearBackground);#endif //SUPPORT_GAME_TETRIS#ifdef SUPPORT_GAME_GOMOKUextern void GAME_GOMOKU_Initial(void);extern BYTE GAME_GOMOKU_ProcessKey(BYTE bKey);extern void GAME_GOMOKU_Exit(BYTE bClearBackground);#endif //SUPPORT_GAME_GOMOKU#ifdef SUPPORT_GAME_SOKOBANextern void GAME_SOKOBAN_Initial(void);extern BYTE GAME_SOKOBAN_ProcessKey(BYTE bKey);extern void GAME_SOKOBAN_Trigger(void);extern void GAME_SOKOBAN_Exit(BYTE bClearBackground);#endif //SUPPORT_GAME_SOKOBAN#ifdef SUPPORT_GAME_RUSHHOURextern void GAME_RUSHHOUR_Initial(void);extern BYTE GAME_RUSHHOUR_ProcessKey(BYTE bKey);extern void GAME_RUSHHOUR_Exit(BYTE bClearBackground);#endif //SUPPORT_GAME_RUSHHOUR#ifndef SUPPORT_POWERON_MENU#ifdef SUPPORT_CALENDARextern void CALENDAR_Initial(void);extern BYTE CALENDAR_ProcessKey(BYTE bKey);extern void CALENDAR_Exit(BYTE bClearBackground);#endif //SUPPORT_CALENDAR   #endif //SUPPORT_POWERON_MENU#endif //#ifdef SUPPORT_STB//define the region of the title background#define MAINMENU_TITLE_REGION_START_X			            0#define MAINMENU_TITLE_REGION_START_Y			            0#define MAINMENU_TITLE_REGION_WIDTH				            616#define MAINMENU_TITLE_REGION_HEIGHT			            36//define the region of the menu content background#define MAINMENU_CONTENT_REGION_START_X			            MAINMENU_TITLE_REGION_START_X#define MAINMENU_CONTENT_REGION_START_Y			            (MAINMENU_TITLE_REGION_START_Y+MAINMENU_TITLE_REGION_HEIGHT)#define MAINMENU_CONTENT_REGION_WIDTH			            MAINMENU_TITLE_REGION_WIDTH#define MAINMENU_CONTENT_REGION_HEIGHT			            320//define the region of the menu help background#define MAINMENU_HELP_REGION_START_X			            MAINMENU_TITLE_REGION_START_X#define MAINMENU_HELP_REGION_START_Y			            (MAINMENU_CONTENT_REGION_START_Y+MAINMENU_CONTENT_REGION_HEIGHT)#define MAINMENU_HELP_REGION_WIDTH				            MAINMENU_TITLE_REGION_WIDTH#define MAINMENU_HELP_REGION_HEIGHT				            36//42	#define MAINMENU_HELP_BACKGROUND_STRING_DISTANCE_H          20#define MAINMENU_HELP_STRING_START_X                        (MAINMENU_HELP_REGION_START_X+MAINMENU_HELP_BACKGROUND_STRING_DISTANCE_H)#define MAINMENU_HELP_ICON_DISTANCE_H                       4                        #define MAINMENU_HELP_SELECT_EXIT_DISTANCE_H                12#define MAINMENU_TITLE_REGION_STRING_DISTANCE_H             20#define MAINMENU_TITLE_STRING_START_X			            (MAINMENU_TITLE_REGION_START_X+MAINMENU_TITLE_REGION_STRING_DISTANCE_H)#define MAINMENU_TITLE_STRING_REGION_WIDTH                  (MAINMENU_TITLE_REGION_WIDTH-MAINMENU_TITLE_REGION_STRING_DISTANCE_H*2)#define MAINMENU_TITLE_REGION_ARC                           19#define MAINMENU_HELP_REGION_ARC                            19#ifdef SUPPORT_STB//define the distance between the button and the string.#define MAINMENU_BUTTON_STRING_DISTANCE_H                   24//define the distance between the background and button.#define MAINMENU_BUTTON_BACKGROUND_DISTANCE_V               40//Define the height of the button#define MAINMENU_BUTTON_HEIGHT                              30#define MAINMENU_BUTTON_ARC_VALUE                           19#endif //#ifdef SUPPORT_STB#define MAINMENU_TITLE_BACKGROUND_PALETTE_ENTRY_BERIN		GDI_MAIN_MENU_PALETTE_INDEX_START#define MAINMENU_TITLE_BACKGROUND_PALETTE_RESERVE_NUM       16#define MAINMENU_HELP_BACKGROUND_PALETTE_ENTRY_BEGIN		(MAINMENU_TITLE_BACKGROUND_PALETTE_ENTRY_BERIN+MAINMENU_TITLE_BACKGROUND_PALETTE_RESERVE_NUM)#define MAINMENU_HELP_BACKGROUND_PALETTE_RESERVE_NUM        16#ifdef SUPPORT_STB//define the type of the button#define MAINMENU_BUTTON_NORMAL                  0#define MAINMENU_BUTTON_HIGHLIGHT               1#define MAINMENU_BUTTON_DISABLE                 2#endif //#ifdef SUPPORT_STB//define the invalid entry of menu flow table#define MAINMENU_INVALID_MENU_FLOW_ENTRY        0xFF#ifdef SUPPORT_STB//define the invalid menu state#define MAINMENU_INVALID_MENU_STATE             0xFF#define MAINMENU_INVALID_DLG_SATE               0xFF#define DLG_ACTION_DONE					        0#define DLG_ACTION_EXIT_RECOVER_NENU            1#define DLG_ACTION_EXIT_NEW_NENU                2#define DLG_ACTION_CHANGE_DLG                   3#define DLG_ACTION_FORCE_EXIT                   4//define state in menutypedef enum tagMENU_STATE_ITEM{    //Main menu    MS_MAIN_MENU = 0,    MS_DVD_SETUP,    MS_DVB_MENU,    MS_SYSTEM_SETTING,    MS_GAME,    //STB menu    MS_DVB_TV_PROGRAM,    MS_DVB_MUSIC_PROGRAM,    MS_DVB_AUTO_SEARCH,    MS_DVB_MANUAL_SEARCH,    MS_DLG,    MS_DVB_PARENTAL_SETTING,    MS_DVB_LANGUAGE,    MS_DVB_TIME_SETTING,    MS_DVB_SCHEDULE,        MS_DVB_SCHEDULE_TIME_SETTING,    //Game menu    MS_GAME_MINE,    MS_GAME_TETRIS,    MS_GAME_GOMOKU,    MS_GAME_SOKOBAN, //xuli.osdgame    MS_GAME_RUSHHOUR, //xuli.osdgame#ifndef SUPPORT_POWERON_MENU    MS_CALENDAR,#endif //SUPPORT_POWERON_MENU} MENU_STATE_ITEM;typedef enum tagDLG_STATE_ITEM{    DS_PIN_DLG_CHANNEL_LOCK = 0,    DS_PIN_DLG_PARENTAL_SETTING,#ifndef IMAGE_FRAME_SETUP    DS_PIN_DLG_DVD_PARENTAL_LEVEL,    DS_DVD_LANGUAGE_CODE_DLG,#endif //IMAGE_FRAME_SETUP    //system setting    DS_DCHANGE_PIN_DLG,} DLG_STATE_ITEM;typedef struct tagMENU_STATE{    MENU_STATE_ITEM MenuCurrentState;    MENU_STATE_ITEM MenuChangeToStateAfterExit;} MENU_STATE;   typedef struct tagMENU_FLOW{    MENU_STATE_ITEM MenuState;    void (*Menu_Init_Func_Ptr)(void);    BYTE (*Menu_Proc_Func_Ptr)(BYTE);    void (*Menu_Trigger_Func_Ptr)(void);    void (*Menu_Recover_Func_Ptr)(void);    void (*Menu_Exit_Func_Ptr)(BYTE);   } MENU_FLOW, *PMENU_FLOW;typedef struct tagBUTTON{    BYTE bButtonID;    //WORD *pwButtonString[OSD_LANGUAGE_NUMBER];    WORD *pwButtonString;} BUTTON, *PBUTTON;//define the button IDtypedef enum tagBUTTON_ID{    MAINMENU_BUTTON_DVD_SETUP = 0,    MAINMENU_BUTTON_DVB_MENU,    MAINMENU_BUTTON_SYSTEM_SETTING,#ifndef SUPPORT_POWERON_MENU    MAINMENU_BUTTON_GAME,    MAINMENU_BUTTON_EXIT,    MAINMENU_BUTTON_NUM,#else    MAINMENU_BUTTON_EXIT,    MAINMENU_BUTTON_NUM,    MAINMENU_BUTTON_GAME,#endif //SUPPORT_POWERON_MENU} BUTTON_ID;typedef enum tagGAME_BUTTON_ID{#ifdef SUPPORT_GAME_MINER    MAINMENU_GAME_BUTTON_MINE = 0,#endif#ifdef SUPPORT_GAME_TETRIS    MAINMENU_GAME_BUTTON_TETRIS,#endif#ifdef SUPPORT_GAME_GOMOKU    MAINMENU_GAME_BUTTON_GOMOKU,#endif#ifdef SUPPORT_GAME_SOKOBAN    MAINMENU_GAME_BUTTON_SOKOBAN,  //xuli.osdgame#endif#ifdef SUPPORT_GAME_RUSHHOUR    MAINMENU_GAME_BUTTON_RUSHHOUR,    //xuli.osdgame#endif#ifndef SUPPORT_POWERON_MENU#ifdef SUPPORT_CALENDAR    MAINMENU_GAME_BUTTON_CALENDAR,#endif //SUPPORT_CALENDAR    #endif //SUPPORT_POWERON_MENU    MAINMENU_GAME_BUTTON_EXIT,    MAINMENU_GAME_BUTTON_NUM} GAME_BUTTON_ID;typedef struct tagDLG_FLOW{    void (*Dlg_Init_Func_Ptr)(BYTE);    BYTE (*Dlg_Proc_Func_Ptr)(BYTE);    void (*Dlg_Trigger_Func_Ptr)(void);    void (*Dlg_Recover_Func_Ptr)(void);    void (*Dlg_Exit_Func_Ptr)(void);    void (*Dlg_Call_Back_Ptr)(BYTE);    BYTE bRecoverMenuState;    BYTE bNewMenuState;    BYTE bChangeDlgState;} DLG_FLOW, *PDLG_FLOW;typedef enum tagMAINMENU_NORMAL_BUTTON_PALETTE{    MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_BEGIN = GDI_BITMAP_PALETTE_INDEX_START,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_0 = MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_BEGIN,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_1,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_2,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_3,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_4,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_5,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_6,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_7,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_8,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_9,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_10,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_11,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_12,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_13,	MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_14,    MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_END,} MAINMENU_NORMAL_BUTTON_PALETTE;typedef enum tagMAINMENU_HIGHLIGHT_BUTTON_PALETTE{    MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_BEGIN = MAINMENU_PALETTE_ENTRY_NORMAL_BUTTON_PALETTE_END,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_0 = MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_BEGIN,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_1,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_2,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_3,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_4,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_5,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_6,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_7,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_8,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_9,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_10,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_11,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_12,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_13,	MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_14,    MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_END,} MAINMENU_HIGHLIGHT_BUTTON_PALETTE;typedef enum tagMAINMENU_DISABLE_BUTTON_PALETTE{    MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_BEGIN = MAINMENU_PALETTE_ENTRY_HIGHLIGHT_BUTTON_PALETTE_END,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_0 = MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_BEGIN,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_1,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_2,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_3,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_4,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_5,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_6,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_7,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_8,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_9,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_10,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_11,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_12,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_13,	MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_14,    MAINMENU_PALETTE_ENTRY_DISABLE_BUTTON_PALETTE_END,} MAINMENU_DISABLE_BUTTON_PALETTE;#endif //#ifdef SUPPORT_STBtypedef enum tagMAINMENU_TITLE_REGION_PALETTE{    MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_0 = MAINMENU_TITLE_BACKGROUND_PALETTE_ENTRY_BERIN,    MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_1,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_2,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_3,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_4,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_5,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_6,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_7,	MAINMENU_PALETTE_ENTRY_TITLE_REGION_PALETTE_8,

⌨️ 快捷键说明

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