📄 menudef.h
字号:
#define OnlyDrawColor _BIT7
#define OnlyDrawCode _BIT6
typedef enum
{CP_GrayColor,
CP_BlackColor,
CP_SeaBlueColor,
CP_YellowColor,
CP_GreenColor,
CP_WhiteColor,
CP_PinkColor1,
CP_RedColor,
CP_WhiteColor1,
CP_BlueColor,
CP_WhiteColor2,
CP_WhiteColor3,
CP_TransparenceColor,
CP_WhiteColor4,
CP_PinkColor,
CP_GreenColor1,
CP_MaxColor
} CP_ColorType;
typedef enum
{ PowerOffMenu, // 0
PowerOnMenu, // 1
#if VGA_ENABLE
StandbyMenu, // 2
SuspenMenu, // 3
AutoMenu, // 4
UnsupportedModeMenu, // 5
#endif
RootMenu, // 6
// user definition from here
FactoryMenu, // 7
#if TV_ENABLE
TVInputNumMenu,// 8
ShowTVChannelMenu,// 9
#endif
ShowSourceMenu,// 10
VolumeMenu,// 11
MuteMenu,// 12
PictureMenu, // 13
AudioMenu,// 14
FunctionMenu,// 15
SystemMenu,// 16
#if TV_ENABLE
PresetMenu,// 17
#endif
ClockMenu,// 18
#if GAME_ENABLE
GameMenu,//19
#endif
#if CALENDAR_ENABLE
CalendarMenu,//20
#endif
FactoryRootMenu,
#if Enable_Logo_Display
LogoMenu,
#endif
// user definition end
MaxMenu
} MenuPageIndexType;
typedef enum
{ MIA_Nothing,
MIA_GotoNext, // goto next
MIA_GotoPrev, // goto prev
MIA_PrevItem,
MIA_NextItem,
MIA_JumpNaviItem,
MIA_JumpAdjustItem,
//MIA_Exit, // Exit
MIA_IncValue, // increase value
MIA_DecValue, // decrease value
MIA_ExecFunc,
//MIA_Auto,
MIA_InvIncValue,
MIA_InvDecValue,
MIA_RedrawMenu,
MIA_Source,
MIA_ExecGotoNext,
MIA_ExecAndPowerNext,
MIA_Power, // power control
MIA_IR_SourceSwitch,
MIA_ChannelUp,
MIA_ChannelDown,
MIA_IR_ShowINFO,
MIA_IR_QuickBack,
MIA_IR_Mute,
MIA_IR_RED,
MIA_IR_GREEN,
MIA_IR_YELLOW,
MIA_IR_CYAN,
MIA_IR_HOLD,
MIA_IR_REVEAL,
MIA_IR_CANCEL,
MIA_IR_INDEX,
MIA_IR_LIST,
MIA_IR_STORE,
MIA_IR_SUBCODE,
MIA_IR_SIZE,
MIA_IR_TEXT,
MIA_IR_MIX,
MIA_IR_TIME,
MIA_IR_SCALE_SWITCH,
MIA_IR_Sound_MODE,
MIA_IR_SleepTimer,
MIA_Searchup,
MIA_Searchdown,
MIA_IncVolume,
MIA_DecVolume,
MIA_IR_IncVolume,
MIA_IR_DecVolume,
MIA_IR_ChromaSwitch,
MIA_AutoSerach,
MIA_CalendarmonthIncValue,
MIA_CalendarmonthDecValue,
MIA_IR_Calendar,
MIA_IR_Game,
MIA_IRKEY_0,
MIA_IRKEY_1,
MIA_IRKEY_2,
MIA_IRKEY_3,
MIA_IRKEY_4,
MIA_IRKEY_5,
MIA_IRKEY_6,
MIA_IRKEY_7,
MIA_IRKEY_8,
MIA_IRKEY_9,
MIA_IRKEY_100,
MIA_Auto,
MIA_BlockTurn,
MIA_BlockDown,
MIA_BlockExit,
MIA_GameRestart,
MIA_BlockLeft,
MIA_BlockRight
} MenuItemActionType;
typedef enum
{
SleepTimeOff,
SleepTime_Nums=25
} SleepTimeType;
typedef struct
{
BYTE cConditions; // bitfield of key event condition flags
MenuItemActionType PressKeyEvent; // key event generated by PRESS condition
//MenuItemActionType HoldKeyEvent; // key event generated by HOLD or REPEAT condition
//BYTE cHoldCount; // threshold for HOLD event
//BYTE cRptCount; // threshold for REPEAT event
BYTE InputType;
} KeyEventType;
typedef enum
{
LANG_English,
#ifdef Multi_language
LANG_German,
LANG_French,
LANG_Spanish,
LANG_Portuguese,
LANG_Italy,
LANG_Dutch,
LANG_Russian,
LANG_SChinese,
LANG_Nums,
#else
LANG_Nums,
LANG_SChinese,
#endif
} LanguageType;
typedef enum
{ DWI_Nothing,
DWI_Icon,
DWI_Text,
DWI_FullText,
DWI_CenterText,
DWI_FullCenterText,
DWI_None
} DrawMenuItemType;
typedef BYTE* (*fpDisplayText)(void);
typedef BOOL (*fpExecFunc)(void);
typedef BYTE (*fpItemIndex)(void);
typedef BOOL (*fpAdjustValue)(MenuItemActionType action);
typedef WORD (*fpGetValue)(void);
typedef WORD (*fpGetMaxValue)(void);
typedef WORD (*fpSetMaxValue)(void);
#define mpbStay 0x01 // for stay in menu page
#define mpbInvisible 0x02 // menu page visible or not
#define mpbSizeofItem 0x04
#define mpbSetItemTop 0x08
#define mpbDrawFrame 0x10
#define mpbMoving 0x20
#define mpbGame 0x40
#define mibSelectable 0x01 // for menu item selectable
#define mibInvisible 0x02 // for menu item selectable
#define mibVGADisable 0x04
#define mibFactoryItem 0x08
#define mibDrawValue 0x10
#define mibTVItem 0x20
#define mibConditionEnableItem 0x40
#define mibVGAItem 0x80
#define dwiEnd 0x01
#define dwiHex 0x02
#define dwiValueSelectRadioItemColor 0x04
#define dwiSingleRadioItem 0x08
#define mtbIndividualTimeOut 0x80
typedef struct
{ WORD *Fonts;
WORD FontCount;
} MenuFontType;
typedef struct
{ fpAdjustValue AdjustFunction;
fpExecFunc ExecFunction;
} MenuItemFuncType;
typedef struct
{ BYTE Flags;
BYTE ForeColor, BackColor;
BYTE SelForeColor, SelBackColor;
BYTE XPos, YPos;
fpGetValue GetValue;
} DrawNumberType;
typedef struct
{ BYTE Flags;
BYTE ForeColor, BackColor;
BYTE SelForeColor, SelBackColor;
BYTE Length;
BYTE XPos, YPos;
fpGetValue GetValue;
} DrawGuageType;
typedef struct
{ BYTE Flags;
BYTE ForeColor, BackColor;
BYTE SelForeColor, SelBackColor;
BYTE XPos, YPos;
fpDisplayText DisplayText;
} RadioTextType;
typedef struct
{ BYTE Flags;
fpGetValue GetValue;
RadioTextType *RadioText;
} DrawRadioGroupType;
typedef struct
{ BYTE Flags;
DrawNumberType *DrawNumber;
DrawGuageType *DrawGuage;
DrawRadioGroupType *DrawRadioGroup;
} DrawValueType;
typedef struct
{ BYTE XPos, YPos;
BYTE ForeColor, BackColor;
BYTE SelForeColor, SelBackColor;
BYTE NextPage;
DrawMenuItemType DrawItemMethod;
fpDisplayText DisplayText;
KeyEventType* KeyEvents;
MenuItemFuncType KeyFunction;
DrawValueType *DisplayValue;
BYTE Flags;
} MenuItemType;
typedef struct
{ BYTE XSize, YSize;
BYTE PrevPage;
MenuItemType* MenuItems;
BYTE ItemCount;
fpExecFunc ExecFunction;
BYTE TimeOut;
BYTE Flags;
} MenuPageType;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -