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

📄 bbktunermenu.h

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 H
字号:
/**************************************************************************************/
/***********************                    BBK CONFIDENTIAL                   ************************/
/***********************                                                                    ************************/
/***********************         Description : Digital Audio Process          ************************/
/***********************                                                                    ************************/
/*********************** Company: BBK AV ELECTRONICS CORP.,LTD ************************/
/***********************                                                                    ************************/
/***********************              Programmer : Terry Lee                  ******** ****************/
/**************************************************************************************/

#ifndef _BBKTUNERMUNU_H_
#define _BBKTUNERMUNU_H_

/*tuner menu color index*/
typedef enum
{
TUNER_MENU_BG,
TUNER_MENU_GRAY43,
TUNER_MENU_GRAY42, 
TUNER_MENU_RED44, 
TUNER_MENU_RED,
TUNER_MENU_GRAY44,
TUNER_MENU_RED43,
TUNER_MENU_RED42,
TUNER_MENU_RED41,
TUNER_MENU_WHITE44,
TUNER_MENU_WHITE43,
TUNER_MENU_WHITE42,
TUNER_MENU_WHITE41,
TUNER_MENU_BLACK41,
TUNER_MENU_WHITE,
TUNER_MENU_YELLOW,
TUNER_MENU_COL_NS,
TUNER_MENU_COL_MAX = TUNER_MENU_COL_NS - 1,
TUNER_MENU_COL_BG  = TUNER_MENU_BG
};



/*tuner message color index*/
typedef enum
{
TUNER_MSG_BG,
TUNER_MSG_YELLOW44,
TUNER_MSG_BLACK44,
TUNER_MSG_GRAY44,
TUNER_MSG_COL_NS,
TUNER_MSG_COL_MAX = TUNER_MSG_COL_NS - 1,
TUNER_MSG_COL_BG  = TUNER_MSG_BG
};



/*Position define*/
#define TUNER_FONT_HEIGHT					(30) 
#define TUNER_FONT_WIDTH					(16)
#define TUNER_DIGIT_HEIGHT					(30)
#define TUNER_DIGIT_WIDTH					(16)

#define TUNER_MAIN_MENU_WIDTH			(WB_TUNER_MENU_WIDTH)
#define TUNER_MAIN_MENU_HEIGHT			(128)

#define TUNER_MAIN_MENU_START_X			(0)
#define TUNER_MAIN_MENU_START_Y			(2)
#define TUNER_MAIN_MENU_END_X			(TUNER_MAIN_MENU_START_X + TUNER_MAIN_MENU_WIDTH)
#define TUNER_MAIN_MENU_END_Y			(TUNER_MAIN_MENU_START_Y + TUNER_MAIN_MENU_HEIGHT)

#define MENU_SLOT_WIDTH					(478)
#define MENU_SLOT_HEIGHT					(8) 

#define MENU_RADIO_MSG_START_X			((TUNER_MAIN_MENU_WIDTH - MENU_SLOT_WIDTH)/2)     /*align left*/
#define MENU_RADIO_MSG_START_Y			(TUNER_MAIN_MENU_START_Y + 4)

#define MENU_FREQ_MSG_START_X			(MENU_RADIO_MSG_START_X)                           /*align center*/
#define MENU_FREQ_MSG_START_Y			(TUNER_MAIN_MENU_START_Y + 4)
#define MENU_FREQ_MSG_SPACE_WIDTH		(MENU_SLOT_WIDTH)

#define MENU_UNIT_MSG_START_Y			(TUNER_MAIN_MENU_START_Y + 4)                                               /*align right*/
#define MENU_NUIT_MSG_END_X				(TUNER_MAIN_MENU_WIDTH - (TUNER_MAIN_MENU_WIDTH - MENU_SLOT_WIDTH)/2)

#define MENU_SLIDE_WIDTH					(4) 
#define MENU_SLIDE_HEIGHT					(30) 

#define MENU_POINT_WIDTH					(2)
#define MENU_POINT_HEIGHT					(8)

#define MENU_SLIDE_START_Y					(MENU_RADIO_MSG_START_Y + TUNER_FONT_HEIGHT + 2) 
#define MENU_SLIDE_END_Y					(MENU_SLIDE_START_Y + MENU_SLIDE_HEIGHT - 1) 

#define MENU_SLOT_START_X					((TUNER_MAIN_MENU_WIDTH - MENU_SLOT_WIDTH)/2)
#define MENU_SLOT_END_X					(TUNER_MAIN_MENU_WIDTH - (TUNER_MAIN_MENU_WIDTH - MENU_SLOT_WIDTH)/2)
#define MENU_SLOT_START_Y					(MENU_SLIDE_START_Y + (MENU_SLIDE_HEIGHT - MENU_SLOT_HEIGHT)/2) 
#define MENU_SLOT_END_Y					(MENU_SLOT_START_Y + MENU_SLOT_HEIGHT - 1)



/*Default menu*/
#define MENU_CH_MSG_WIDTH				(TUNER_FONT_WIDTH * 8)
#define MENU_CH_MSG_START_X				(MENU_RADIO_MSG_START_X)
#define MENU_CH_MSG_START_Y				(MENU_SLIDE_END_Y + 15)   

#define MENU_CH_DIG1_START_X				(MENU_CH_MSG_START_X + MENU_CH_MSG_WIDTH - 8)    
#define MENU_CH_DIG1_START_Y				(MENU_CH_MSG_START_Y)
#define MENU_CH_DIG1_END_X				(MENU_CH_DIG1_START_X + TUNER_DIGIT_WIDTH)
#define MENU_CH_DIG1_END_Y				(MENU_CH_DIG1_START_Y + TUNER_DIGIT_HEIGHT) 

#define MENU_CH_DIG2_START_X				(MENU_CH_DIG1_END_X)  
#define MENU_CH_DIG2_START_Y				(MENU_CH_MSG_START_Y)
#define MENU_CH_DIG2_END_X				(MENU_CH_DIG2_START_X + TUNER_DIGIT_WIDTH)
#define MENU_CH_DIG2_END_Y				(MENU_CH_DIG2_START_Y + TUNER_DIGIT_HEIGHT) 

#define MENU_ARROW_WIDTH					(12)
#define MENU_ARROW_HEIGHT					(6) 

#define MENU_CH_UPBMP_START_X			(MENU_CH_DIG1_START_X + 10)
#define MENU_CH_UPBMP_START_Y			(MENU_CH_DIG1_START_Y - MENU_ARROW_HEIGHT - 4)
#define MENU_CH_UPBMP_END_X				(MENU_CH_UPBMP_START_X + MENU_ARROW_WIDTH)
#define MENU_CH_UPBMP_END_Y				(MENU_CH_UPBMP_START_Y + MENU_ARROW_HEIGHT) 

#define MENU_CH_DOWNBMP_START_X			(MENU_CH_DIG1_START_X + 10)
#define MENU_CH_DOWNBMP_START_Y			(MENU_CH_DIG1_END_Y + 4)
#define MENU_CH_DOWNBMP_END_X			(MENU_CH_DOWNBMP_START_X + MENU_ARROW_WIDTH)
#define MENU_CH_DOWNBMP_END_Y			(MENU_CH_DOWNBMP_START_Y + MENU_ARROW_HEIGHT)



/*Browser menu*/
#define TUNER_BROWSER_HEAD_WIDTH		(TUNER_MAIN_MENU_WIDTH)
#define TUNER_BROWSER_HEAD_HEIGHT		(96)

#define TUNER_BROWSER_HEAD_START_X		(TUNER_MAIN_MENU_START_X)
#define TUNER_BROWSER_HEAD_START_Y		(TUNER_MAIN_MENU_START_Y)
#define TUNER_BROWSER_HEAD_END_X		(TUNER_BROWSER_HEAD_START_X + TUNER_BROWSER_HEAD_WIDTH)
#define TUNER_BROWSER_HEAD_END_Y		(TUNER_BROWSER_HEAD_START_Y + TUNER_BROWSER_HEAD_HEIGHT)

/*The next define,we assume the items include: channel, band, signal, am step, auto search, save channel and a line*/
/*The line just has half of height of other items.*/
#define TUNER_BRW_ITEM_HEIGHT				(36)
#define TUNER_BRW_ITEM_MSG_OFFSET_Y		((TUNER_BRW_ITEM_HEIGHT - TUNER_FONT_HEIGHT) / 2)

#define TUNER_BRW_NEST_BMP_WIDTH		(10)
#define TUNER_BRW_NEST_BMP_HEIGHT		(18)

#define TUNER_BRW_ITEM_NEST_START_X		(TUNER_BRW_ITEM_RECT_END_X - TUNER_BRW_NEST_BMP_WIDTH - 12)
#define TUENR_BRW_ITEM_NEST_OFFSET_Y	((TUNER_BRW_ITEM_HEIGHT - TUNER_BRW_NEST_BMP_HEIGHT) / 2)    

#define TUNER_BRW_ITEM_LINE_HEIGHT		(16)
#define TUNER_BRW_ITEM_LINE_OFFSET_Y		((TUNER_BRW_ITEM_LINE_HEIGHT -2) / 2)

#define TUNER_BRW_ITEM_MSG_START_X		(16)
#define TUNER_BRW_ITEM_VAL_END_X			(TUNER_BRW_ITEM_NEST_START_X - 8) 

#define TUNER_BRW_ITEM_CH_START_Y		(TUNER_BRW_ITEM_RECT_START_Y)
#define TUNER_BRW_ITEM_BAND_START_Y		(TUNER_BRW_ITEM_RECT_START_Y + TUNER_BRW_ITEM_HEIGHT)
#define TUNER_BRW_ITEM_SIGNAL_START_Y	(TUNER_BRW_ITEM_BAND_START_Y + TUNER_BRW_ITEM_HEIGHT)
#define TUNER_BRW_ITEM_AMSTEP_START_Y	(TUNER_BRW_ITEM_SIGNAL_START_Y + TUNER_BRW_ITEM_HEIGHT)
#define TUNER_BRW_ITEM_AUTO_START_Y		(TUNER_BRW_ITEM_AMSTEP_START_Y + TUNER_BRW_ITEM_HEIGHT)
#define TUNER_BRW_ITEM_LINE_START_Y		(TUNER_BRW_ITEM_AUTO_START_Y + TUNER_BRW_ITEM_HEIGHT)
#define TUNER_BRW_ITEM_SAVE_START_Y		(TUNER_BRW_ITEM_LINE_START_Y + TUNER_BRW_ITEM_LINE_HEIGHT)

#define TUNER_BRW_ITEM_RECT_WIDTH		(TUNER_BROWSER_HEAD_WIDTH / 2)

#define TUNER_BRW_ITEM_RECT_START_X		(TUNER_BROWSER_HEAD_START_X)
#define TUNER_BRW_ITEM_RECT_START_Y		(TUNER_BROWSER_HEAD_END_Y + 12)
#define TUNER_BRW_ITEM_RECT_END_X		(TUNER_BRW_ITEM_RECT_START_X + TUNER_BRW_ITEM_RECT_WIDTH)
#define TUNER_BRW_ITEM_RECT_END_Y		(TUNER_BRW_ITEM_SAVE_START_Y + TUNER_BRW_ITEM_HEIGHT)

#define TUNER_BRW_DATA_AREA_WIDTH		(WB_BRW_WIDTH / 2)

#define TUNER_BRW_DATA_AREA_START_X		(TUNER_BRW_ITEM_RECT_END_X)
#define TUNER_BRW_DATA_AREA_START_Y		(TUNER_BRW_ITEM_RECT_START_Y)
#define TUNER_BRW_DATA_AREA_END_X		(TUNER_BRW_DATA_AREA_START_X + TUNER_BRW_DATA_AREA_WIDTH)
#define TUNER_BRW_DATA_AREA_END_Y		(TUNER_BRW_ITEM_RECT_END_Y)

#define TUNER_BRW_DATA_INPUT_HEIGHT		(72)
#define TUNER_BRW_DATA_SELECT_HEIGHT	(36)

#define TUNER_BRW_DOT_WIDTH				(12)
#define TUNER_BRW_DOT_START_X			(TUNER_BRW_DATA_AREA_START_X + 16) 
#define TUNER_BRW_DOT_END_X				(TUNER_BRW_DOT_START_X + TUNER_BRW_DOT_WIDTH)

#define TUNER_BRW_DATA_INPUT_START_X	(TUNER_BRW_DOT_END_X + 16)

#define TUNER_BRW_DATA_MSG_START_X		(TUNER_BRW_DOT_START_X + TUNER_BRW_DOT_WIDTH + 20)
#define TUNER_BRW_DATA_MSG_OFFSET_Y		((TUNER_BRW_DATA_SELECT_HEIGHT - TUNER_FONT_HEIGHT) / 2)

/*tuner browser channel item*/
#define TUNER_BRW_DATA_CH_LENGTH		(120)
#define TUNER_BRW_DATA_CH_START_X		(TUNER_BRW_DATA_AREA_START_X)
#define TUNER_BRW_DATA_CH_START_Y		(TUNER_BRW_ITEM_CH_START_Y)
#define TUNER_BRW_DATA_CH_END_X			(TUNER_BRW_DATA_CH_START_X + TUNER_BRW_DATA_CH_LENGTH)
#define TUNER_BRW_DATA_CH_END_Y			(TUNER_BRW_DATA_CH_START_Y + TUNER_BRW_DATA_INPUT_HEIGHT)

/*tuner browser band item*/
#define TUNER_BRW_DATA_BAND_START_Y		(TUNER_BRW_ITEM_BAND_START_Y)
#define TUNER_BRW_DATA_BAND_END_Y		(TUNER_BRW_ITEM_BAND_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT * TUNER_BAND_NS)

/*tuner browser signal item*/
#define TUNER_BRW_DATA_SIGNAL_START_Y	(TUNER_BRW_ITEM_SIGNAL_START_Y)
#define TUNER_BRW_DATA_SIGNAL_END_Y		(TUNER_BRW_ITEM_SIGNAL_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT * TUNER_SIGNAL_NS)

/*tuner browser am step item*/
#define TUNER_BRW_DATA_STEP_START_Y		(TUNER_BRW_ITEM_AMSTEP_START_Y)
#define TUNER_BRW_DATA_STEP_END_Y		(TUNER_BRW_ITEM_AMSTEP_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT * AM_STEP_NS)

/*tuner browser auto search item*/
//#define TUNER_BRW_DATA_AUTO_START_Y		(TUNER_BRW_ITEM_AUTO_START_Y)
//#define TUNER_BRW_DATA_AUTO_END_Y		(TUNER_BRW_ITEM_AUTO_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT)

/*tuner browser save channel item*/
#define TUNER_BRW_DATA_SAVECH_END_Y		(TUNER_BRW_DATA_AREA_END_Y)
#define TUNER_BRW_DATA_SAVECH_START_X	(TUNER_BRW_DATA_AREA_START_X)
#define TUNER_BRW_DATA_SAVECH_START_Y	(TUNER_BRW_DATA_SAVECH_END_Y - TUNER_BRW_DATA_INPUT_HEIGHT)
#define TUNER_BRW_DATA_SAVECH_END_X		(TUNER_BRW_DATA_SAVECH_START_X + TUNER_BRW_DATA_AREA_WIDTH)

#define TUNER_BRW_SAVECH_MSG_START_X	(TUNER_BRW_DIG2_END_X + 12)
#define TUNER_BRW_SAVECH_MSG_START_Y	(TUNER_BRW_SAVECH_DIG_START_Y)
#define TUNER_BRW_SAVECH_MSG_END_X		(TUNER_BRW_DATA_SAVECH_END_X - 8)
#define TUNER_BRW_SAVECH_MSG_END_Y		(TUNER_BRW_SAVECH_MSG_START_Y + TUNER_FONT_HEIGHT)

/*input number area define*/
#define TUNER_BRW_DIG1_START_X			(TUNER_BRW_DATA_INPUT_START_X) 
#define TUNER_BRW_DIG1_END_X				(TUNER_BRW_DIG1_START_X + TUNER_DIGIT_WIDTH)

#define TUNER_BRW_DIG2_START_X			(TUNER_BRW_DIG1_END_X)  
#define TUNER_BRW_DIG2_END_X				(TUNER_BRW_DIG2_START_X + TUNER_DIGIT_WIDTH)

#define TUNER_BRW_CH_DIG_START_Y			(TUNER_BRW_DATA_CH_START_Y + (TUNER_BRW_DATA_INPUT_HEIGHT - TUNER_DIGIT_HEIGHT) / 2)
#define TUNER_BRW_CH_DIG_END_Y			(TUNER_BRW_CH_DIG_START_Y + TUNER_DIGIT_HEIGHT) 

#define TUNER_BRW_SAVECH_DIG_START_Y	(TUNER_BRW_DATA_SAVECH_START_Y + (TUNER_BRW_DATA_INPUT_HEIGHT - TUNER_DIGIT_HEIGHT) / 2)
#define TUNER_BRW_SAVECH_DIG_END_Y		(TUNER_BRW_SAVECH_DIG_START_Y + TUNER_DIGIT_HEIGHT) 

#define TUNER_BRW_ARROW_START_X			(TUNER_BRW_DATA_INPUT_START_X + 10)
#define TUNER_BRW_ARROW_END_X			(TUNER_BRW_ARROW_START_X + MENU_ARROW_WIDTH)

#define TUNER_BRW_CH_UPBMP_START_Y		(TUNER_BRW_CH_DIG_START_Y - MENU_ARROW_HEIGHT - 4)
#define TUNER_BRW_CH_UPBMP_END_Y		(TUNER_BRW_CH_UPBMP_START_Y + MENU_ARROW_HEIGHT) 

#define TUNER_BRW_CH_DOWNBMP_START_Y	(TUNER_BRW_CH_DIG_END_Y + 4)
#define TUNER_BRW_CH_DOWNBMP_END_Y		(TUNER_BRW_CH_DOWNBMP_START_Y + MENU_ARROW_HEIGHT)

#define TUNER_BRW_SAVECH_UPBMP_START_Y	(TUNER_BRW_SAVECH_DIG_START_Y - MENU_ARROW_HEIGHT - 4)
#define TUNER_BRW_SAVECH_UPBMP_END_Y	(TUNER_BRW_SAVECH_UPBMP_START_Y + MENU_ARROW_HEIGHT) 

#define TUNER_BRW_SAVECH_DOWNBMP_START_Y	(TUNER_BRW_SAVECH_DIG_END_Y + 4)
#define TUNER_BRW_SAVECH_DOWNBMP_END_Y		(TUNER_BRW_SAVECH_DOWNBMP_START_Y + MENU_ARROW_HEIGHT)

#define TUNER_BRW_MSG_START_X			(TUNER_BROWSER_HEAD_START_X)
#define TUNER_BRW_MSG_START_Y			(TUNER_BRW_ITEM_RECT_END_Y + 2)
#define TUNER_BRW_MSG_END_X				(TUNER_BROWSER_HEAD_END_X)
#define TUNER_BRW_MSG_END_Y				(TUNER_BRW_MSG_START_Y + TUNER_FONT_HEIGHT - 1)

#endif

⌨️ 快捷键说明

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