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

📄 osd.h

📁 车载DVD影音娱乐系统中LCD显示屏OSD显示方式的实现代码
💻 H
字号:
#define TW515   0xB8

#ifdef PVI_9_VGA
#define DWVSZ   							220
#define DWHSZ								640
#define DWVSST								0x0F
#endif


#ifdef AT_VGA
#define DWVSZ   							234
#define DWHSZ								640
#define DWVSST								0x0F   //0x0F
#endif
#ifdef KVGA
#define DWVSZ   							234
#define DWHSZ								480
	#ifdef PVI_7
	#define DWVSST								0x0D
	#else
	#define DWVSST								0x10   //0x0F
	#endif
#endif

#ifdef VGA
	#define DWVSZ   							480
	#define DWHSZ							640
 #ifdef SHARP_8
	#define DWVSST							0x1e
 #else
	#define DWVSST							0x25
 #endif	
#endif

#ifdef P_VGA
	#define DWVSZ   						468
	#define DWHSZ							640
	#define DWVSST							0x25
#endif

#ifdef WVGA
#define DWVSZ   							480
#define DWHSZ								800
#ifdef HITACH_7
#define DWVSST								0x24
#else
#define DWVSST								0x25
#endif
#endif

#ifdef WXGA
#ifdef AU_12
#define DWVSZ   							800
#define DWVSST								0x20
#else
#define DWVSZ   							768
#define DWVSST								0x33
#endif
#define DWHSZ								1280

#endif

#ifdef WXGA1
#define DWVSZ   							768
#define DWVSST								0x42
#define DWHSZ								1024
#endif

#ifdef T_VGA
#define DWVSZ   							234
#define DWHSZ								400
#define DWVSST								0x0F
#endif
#define VFREQ(x)			(27000000/x)

#ifdef NEW_OSD
#define	FONT_SIZE		FONT_SIZE12W16H
#define FONT_WIDTH		WIDTH12
#define FONT_HEIGHT		HEIGHT16
enum{BAR_S_MIN=36, BAR_S_1, BAR_S_2, BAR_S_MAX}; //36, 37, 38, 39
enum{BAR_MIN=40,   BAR1, BAR2, BAR_MAX}; //40 41 42 43
enum{BAR__E_MIN=44,BAR_E_1, BAR_E_2, BAR_E_MAX}; //44 45 46 47

#else
#define	FONT_SIZE		FONT_SIZE12W18H
#define FONT_WIDTH		WIDTH12
#define FONT_HEIGHT		HEIGHT18
enum{BAR_S_MIN=36, BAR_S_1, BAR_S_2, BAR_S_MAX}; //36, 37, 38, 39
enum{BAR_MIN=40,   BAR_1, BAR_2, BAR_MAX}; //40 41 42 43
enum{BAR_E_MIN=44,BAR_E_1, BAR_E_2, BAR_E_MAX}; //44 45 46 47
#endif


#define MAIN_MENU_TOTAL_LINES		12
#define SUB_MENU_TOTAL_LINES			7  	//DigiMax OSD Language sub-menu
//#define TOTAL_FONT_NUM	 			sizeof(AllFonts)/sizeof(unsigned char*)
#define TOTAL_FONT_NUM					145
#define FONT_DATA_START_ADDRESS		0x0000
#define MENU_RAM_START_ADDRESS		((TOTAL_FONT_NUM*FONT_HEIGHT)/32+1)*32
#define CHAR_MAIN_MENU_START		((MENU_RAM_START_ADDRESS>>5)&0x7F)	


typedef struct tagOSDPARAMS
{
	unsigned char cBright;
	unsigned char cContrast;
	unsigned char cSharp;
	unsigned char cFreq;
	unsigned char cPhase;
	unsigned char cHPos;
	unsigned char cVPos;
	unsigned char cBkLight;
	unsigned char cOSDHPos;
	unsigned char cOSDVPos;
	unsigned char cGain;
	unsigned char cOffset;
	unsigned char cDigiGain;
	unsigned char cDigiOffset;
	unsigned char cVolume;
} OSDPARAMS;

typedef struct tagCOLOR
{
	unsigned char cColorR;
	unsigned char cColorG;
	unsigned char cColorB;
} COLOR;
                      	//Background foreground
//Background only in even
#define PWBLUE_GREY     0xc3 //0xef
#define BLUE_GREY       0xce //0xef
#define BLUE_WHITE		 0xEF
#define DBLUE_WHITE		 0x4F 
#define YELLOW_RED		 0xC6
#define YELLOW_DBLUE	 0xC4
#define GREEN_WHITE     0x8F
#define DBLUE_RED		 0x46
#define RED_YELLOW		 0x6C
#define LBLUE_WHITE		 0xAF
#define LBLUE_GREEN		 0xA5
#define LBLUE_RED		 0xA6
#define BLACK_WHITE	0x2F

#define BLACK_GREY      0xc2 //0xe2
#define WHITE_PURPLE	0x4f
#define WHITE_GREY		0x8f

#define COL_TITLE		YELLOW_RED
//#define COL_NORMAL		BLUE_WHITE
#define COL_NORMAL		BLACK_WHITE
#define COL_FOCUS		DBLUE_WHITE
#define COL_GAUGE      GREEN_WHITE
#define COL_SELECT		BLACK_GREY
#define COL_ICON			PWBLUE_GREY	
#define COL_RED			DBLUE_RED
#define COL_GREEN		DBLUE_RED
#define COL_BLUE 		DBLUE_RED
#define COL_CLEAR		0x00
#define COL_NOSUPPORT	RED_YELLOW
#define COL_NOSIGNAL	YELLOW_DBLUE
#define COL_FRTYMENU	LBLUE_WHITE
#define COL_FRAME		LBLUE_GREEN
#define COL_PROCESS		LBLUE_RED

#define LINE_LENGTH	27
#define GAUGE_LENGTH   20

#define	FONT_SIZE10W16H		0x00
#define	FONT_SIZE12W16H		0x01
#define	FONT_SIZE14W16H		0x02
#define	FONT_SIZE16W16H		0x03

#define	FONT_SIZE10W18H		0x08
#define	FONT_SIZE12W18H		0x09
#define	FONT_SIZE14W18H		0x0a
#define	FONT_SIZE16W18H		0x0b

#define WIDTH10					10
#define WIDTH12					12
#define WIDTH14					14
#define WIDTH16					16

#define HEIGHT16					16
#define HEIGHT18					18
#define HEIGHT20					20
#define HEIGHT24					24

#define COL_9300				0
#define COL_6500				1
#define COL_USER				2
#define COL_BRIGHT			3


#define CENTER				1
#define LEFT_BOTTOM			2
#define TOP					3
#define RIGHT_TOP			4



	


//MENU_RAM_START_ADDRESS must be times of 32
//#define MENU_RAM_START_ADDRESS       	0x9c0                   //0xc00 - 0x20 * line total
#define CHAR_RAM_END               	0x60


//Main Menu
enum{
	idMAINMENU=0x10,
		idAUTOADJ,
		idBRIGHT,
		idCONTRAST,
		idPHASE,
		idCLOCK,
		idHPOS,
		idVPOS,
		idCOLOR,
		idLANG,
		idRECALL,
  idBRIGHTMENU=0x20,
  idCONTRASTMENU=0x30,
  idPHASEMENU=0x40,
  idCLOCKMENU=0x50,
  idHPOSMENU=0x60,
  idVPOSMENU=0x70,
  idCOLORMENU=0x80,
  idSHARPNESS=0x90,
		id9300K,
		id6500K,
		idCOLORR,
		idCOLORG,
		idCOLORB,
  idLANGMENU=0x90,
		idENGLISH,
  	idFRENCH,
		idGERMAN,
		idITALIAN,
		idSPANISH,
  idRESETMENU=0xA0,
  idVOLUMEMENU=0xB0,
  idSRCMENU=0xC0,
		idSRCANALOG,
		//idSRCDIGITAL,
		idSRCCVIDEO,
		idSRCSVIDEO,
		idSRCTV,
	idFCTRYMENU=0xD0,
		idFCTRYRESET,
		idCOLORCAL,
		idGAIN,
		idOFFSET,
		idBKLIGHT,
		id9300,
		id6500=id9300+3,
	id9300MENU=0xE0,
		id9300R,
		id9300G,
		id9300B,
	id6500MENU=0xF0,
		id6500R,
		id6500G,
		id6500B
};

//Main Menu
enum{
  idMAINMENU_VIDEO=0x10,
		idBRIGHT_VIDEO,
		idCONTRAST_VIDEO,
//		idSHARP_VIDEO,
		idSAT_VIDEO,
		idHUE_VIDEO,
  idBRIGHTMENU_VIDEO=0x20,
  idCONTRASTMENU_VIDEO=0x30,
  idSHARPMENU_VIDEO=0x40,
  idSATMENU_VIDEO=0x50,
  idHUEMENU_VIDEO=0x60,
  idTVMENU_VIDEO=0x70,
		idCHANNEL_TV,
#ifdef PAL
		idBAND_TV,
		iSOUNDSYSTEM_TV,
#endif
#ifdef NTSC
		idSKIP_TV,
		idSOURCE_TV,
#endif
//		idAFC_TV,
//		idSWAP_TV,
//		idSEARCH_TV,
		idFINETUNE_TV,
		idAUTOMEMORY_TV,
		idRECALL_TV,
//		idAUTOSCAN_TV,
  idAFCMENU_TV=0x80,
  idFINETUNEMENU_TV=0x90,
  idCHANNELMENU_TV=0xA0
};

typedef enum{
	eENGLISH,
	eFRENCH,
	eGERMAN,
	eITALIAN,
	eSPANISH
} eLANGUAGE;

#define OSD_LENGTH				24
#define NOSIGNAL_LENGTH			13
#define NOSUPPORT_LENGTH 		14
#define COLORCAL_LENGTH	 		23
#define CALDOING_LENGTH	 		18
#define ICON_STAT				0
#define TXT_STAT				3
#define NUM_STAT				21
#define FCTRY_OSD_LENGTH		25
#define FCTRY_NUM_STAT			20

//OSD number draw attabite
#define DRAW_BLANK				0x10
#define DRAW_ZERO				0x20


#define EOL     		0xfe

#define GAMMA_TABLE_DATA_SIZE	33
#define GAMMA_PNUM		3
#define	SCALECOEFSIZE	83

typedef enum
{
  TOP_LEFT,
  TOP_RIGHT,
  BOTTOM_LEFT,
  BOTTOM_RIGHT,
  VALID_DIR
}Dis_Direction;

#define UP    1      //UP to TOP
#define DOWN  0      //DOWN to BOTTOM
#define RIGHT 1      //to RIGHT
#define LEFT  0      //to LEFT
#define STV1  0x80   //DOWN to BOTTOM
#define STV2  0xC0   //UP to TOP
#define STH1  0x20   //to RIGHT
#define STH2  0x30   //to LEFT
//Define the video adjust mode
enum{
Contrast_mode,
Brightness_mode,
Chroma_mode
};

typedef struct tagRegAdrVal
{
	unsigned char ucRegAdr;
	unsigned char ucRegVal;
}REGADRVAL;

extern unsigned char m_cSource;
extern unsigned char Contrast_volume;
extern unsigned char Brightness_volume;
extern unsigned char Chroma_volume;
extern unsigned char Video_adjust_mode;

#define EOL     		0xfe
#define Video_NTSC_format	0
#define Video_PAL_format	1
extern void InitTW101(void);
extern void TconInit(void);
extern void T100_select_video_source(void);
extern void IRScaleratioCtrl(void);
extern void Scaling(void);
extern void Set_Reslolution(void);
extern void Detect_NTSCPAL(void);
extern void SetNTSC_PAL(void);//0:NTSC
extern void OSDDisable(void);
extern void LoadGammaTable(unsigned char cGammaModeID);
extern void LoadFilter(unsigned char cFilterID);
extern void OSDLogo(void);
extern void OSDSetRamAddr(unsigned short address);
extern void OSDInit(void);
extern void OSDCleanLine(unsigned char x,unsigned char y,unsigned char cColor,unsigned char cLength);
extern void OSDSetLineAttribute(unsigned char cLine,unsigned char cAttribute);
extern void OSDExit(void);
extern void T100_detect_video_signal(unsigned char detect);
extern void OSDPosition(unsigned char cPos);
extern void OSDShowLine(unsigned char *string,unsigned char x,unsigned char y,unsigned char cColor,unsigned char cLength);
extern void OSDEnable(void);
extern void OpenPanel(void);
extern void ClosePanel(void);
extern void OSDLoadColor(void);
extern void SET_Dismod(void);
extern void Contrast_volume_control(void);
extern void Brightness_volume_control(void);
extern void Chroma_volume_control(void);
extern void Video_up_adjust_control(void);
extern void Video_down_adjust_control(void);
extern void Clear_osd(void);











⌨️ 快捷键说明

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