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

📄 menudef.h

📁 LCD OSD 程序用於8051 開發lcd
💻 H
字号:
#define Multi_Number	1
#define Multi_Gauge	1

#define OnlyDrawColor	BIT7
#define OnlyDrawCode	BIT6

typedef enum
{ CP_GrayColor,
  CP_RedColor,
  CP_GreenColor,
  CP_BlueColor,
  
  CP_WhiteColor, 
  CP_CyanColor,
  CP_BlackColor,
  
  CP_MaxColor
} CP_ColorType;

typedef enum 
{ PowerOffMenu,
  PowerOnMenu,
  StandbyMenu,
  SuspenMenu,
  CableNotConnectedMenu,
  UnsupportedModeMenu,
  RootMenu,

  // user definition from here
  MainMenu,
  //BriConMenu, TrackingMenu, PositionMenu, ColorMenu, OtherMenu,
  BriConMenu, ColorMenu, PositionMenu, TrackingMenu, OtherMenu, 
  FactoryMainMenu,
  Factory1Menu, Factory2Menu,
  BriteMenu,
  VolumeMenu,MuteMenu,
  AutoMenu,
  ModeInfoMenu,
  BurninMenu,
// user definition end
  MaxMenu
} MenuPageIndexType;

typedef enum
{ CTEMP_9300K,
  CTEMP_6500K,
  CTEMP_USER,
  CTEMP_Nums
} ColorTempType;

typedef enum
{ LANG_English,
  LANG_German,
  LANG_France,
  LANG_Spanish,
  LANG_Italian,
  LANG_Chinese,
  LANG_ChineseB,	//繁体中文

  LANG_Nums
} LanguageType;

typedef enum
{ MIA_Nothing,
  MIA_GotoNext,	// goto next
  MIA_GotoPrev, // goto prev
  MIA_PrevItem,
  MIA_NextItem,
  MIA_JumpNaviItem,
  MIA_JumpAdjustItem,
  MIA_Burnin,
  MIA_Exit, // Exit
  MIA_IncValue, // increase value
  MIA_DecValue, // decrease value
  MIA_IncValue1, // increase value
  MIA_DecValue1, // decrease value
  MIA_IncValue2, // increase value
  MIA_DecValue2, // decrease value
  MIA_ExecFunc,
  MIA_Auto,
  MIA_Brite,
  MIA_Cont,
   MIA_RedrawMenu,
  MIA_Volume,

  MIA_Power // power control
} MenuItemActionType;


typedef enum
{ DWI_Nothing,
  DWI_Icon,
  DWI_2x2Icon,
  DWI_1x2Icon,
  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 mpbDrawFrame	0x10
#define mpbMoving	0x20
#define mpbCenter	0x40

#define mibSelectable	0x01 // for menu item selectable
#define mibInvisible	0x02 // for menu item selectable
#define mibDVIDisable	0x04
#define mibFactoryItem	0x08
#define mibUseSubW1	0x10
#define mibUseSubW2	0x20
#define mibClrInner3	0x40
#define mibDrawValue	0x80

#define dwiNumber	0x01
#define dwiGauge	0x02
#define dwiRadioGroup	0x04
#define dwiEnd		0x08
#define dwiHex		0x10
#define dwiTittle	0x20
#define dwiCenter	0x40

typedef struct
{ WORD *Fonts;
  WORD FontCount;
} MenuFontType;

typedef struct
{ fpAdjustValue AdjustFunction;
  fpExecFunc ExecFunction;
} MenuItemFuncType;

#if Multi_Number //multi-number

typedef struct
{ BYTE Flags;
  BYTE XPos, YPos;
  fpGetValue GetValue;
} NumberType;

typedef struct
{ //BYTE Flags;
  BYTE ForeColor, BackColor;
  NumberType *DisplayNumber;
} DrawNumberType;

#else // single number

typedef struct
{ BYTE Flags;
  BYTE ForeColor, BackColor;
  BYTE XPos, YPos;
  fpGetValue GetValue;
} DrawNumberType;
#endif

#if Multi_Gauge // multi-gauge

typedef struct
{ BYTE Flags;
  BYTE XPos, YPos;
  fpGetValue GetValue;
} GaugeType;
typedef struct
{// BYTE Flags;
  BYTE ForeColor, BackColor;
  BYTE Length;
  GaugeType *DisplayGauge;
} DrawGaugeType;

#else // single gauge

typedef struct
{ BYTE Flags;
  BYTE ForeColor, BackColor;
  BYTE Length;
  BYTE XPos, YPos;
  fpGetValue GetValue;
} DrawGaugeType;
#endif


typedef struct
{ BYTE Flags;
  BYTE XPos, YPos;
  fpDisplayText DisplayText;
} RadioTextType;

typedef struct
{// BYTE Flags;
  BYTE ForeColor, BackColor;
  fpGetValue GetValue;
  RadioTextType *RadioText;
} DrawRadioGroupType;

typedef struct
{ DrawNumberType *DrawNumber;
  DrawGaugeType *DrawGuage;
  DrawRadioGroupType *DrawRadioGroup;
} DrawValueType;

typedef struct
{ BYTE XPos, YPos;
  BYTE ForeColor, BackColor;
  BYTE SelForeColor, SelBackColor;
  BYTE NextPage;
  DrawMenuItemType DrawItemMethod;
  fpDisplayText	DisplayText; 
  MenuItemActionType *KeyEvents;
  MenuItemFuncType KeyFunction;
  DrawValueType DisplayValue;
  BYTE Flags;
} MenuItemType;


typedef struct
{ BYTE 	XSize, YSize;
  BYTE PrevPage;  
  MenuItemType* MenuItems;
  BYTE  ItemCount;
  fpExecFunc ExecFunction;
  BYTE Flags;
} MenuPageType;

⌨️ 快捷键说明

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