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

📄 osd.h

📁 车载SCALER模块源程序
💻 H
字号:
#ifndef _OSD_H
#define _OSD_H

//define by Alvin
#define OSD_WIDTH 			31
#define OSD_HIGH 			15
#define ONE_BIT_START_ADDR 	468	// ONE_BIT_START_ADDR % 9 == 0
#define TWO_BIT_START_ADDR 3159// (TWO_BIT_START_ADDR - ONE_BIT_START_ADDR) %9 == 0
#define FOUR_BIT_START_ADDR 3690// (FOUR_BIT_START_ADDR - TWO_BIT_START_ADDR) %9 == 0
#define OFFSET_2BIT 		16
#define OFFSET_4BIT 		100
#define LANG_OFFSET			124
#define MAX_PAGE			7 //16
#define MAX_DSUB_ITEM		6 //16
#define MAX_DVI_ITEM		6 //10
#define MAX_VIDEO_ITEM		6
#define MAX_L2_ITEM			3
#define MAX_FACT_ITEM		26
#define OSD_FACT_HPOS		PanelWidth - OSD_WIDTH*12-2 //918
#define OSD_FACT_VPOS		2
#define OSD_IN_MAIN_MENU	1
#define OSD_IN_FACT_MENU	2
#define OSD_IN_ERROR_MENU	3
#define OSD_IN_OUT_MENU		4
#define OSD_IN_AUTO_MENU	5
#define OSD_IN_IMSG_MENU	6
//
#define ROW0				0
#define ROW1				OSD_WIDTH
#define ROW2				OSD_WIDTH*2
#define ROW3				OSD_WIDTH*3
#define ROW4				OSD_WIDTH*4
#define ROW5				OSD_WIDTH*5
#define ROW6				OSD_WIDTH*6
#define ROW7				OSD_WIDTH*7
#define ROW8				OSD_WIDTH*8
#define ROW9				OSD_WIDTH*9
#define ROW10				OSD_WIDTH*10
#define ROW11				OSD_WIDTH*11
#define ROW12				OSD_WIDTH*12
#define ROW13				OSD_WIDTH*13
#define ROW14				OSD_WIDTH*14
#define ROW15				OSD_WIDTH*15
#define ROW16				OSD_WIDTH*16
#define ROW17				OSD_WIDTH*17
#define ROW18				OSD_WIDTH*18
#define BAR_SEGMENT			5
#define BAR_LENGTH			7
#define CBAR_SEGMENT		5
#define CBAR_LENGTH			10
#define REG_PAGE1 			0x00
#define REG_PAGE2 			0x01
#define REG_PAGE3 			0x10
#define enOSD				0x01
#define enWIN1				0x02
#define enWIN2				0x04
#define enWIN3				0x08
#define enWIN4				0x10
//0xff Write Type flag
#define tyRED_GAMMA 		0x00
#define tyGREEN_GAMMA 		0x10
#define tyBLUE_GAMMA		0x20
#define tyRGB_GAMMA			0x30
#define tySRAM_CODE_ONLY	0x40
#define tySRAM_ATT_MSB		0x50
#define tySRAM_ATT_LSB		0x60
#define tySRAM_ATT_RW		0x70
#define tySRAM_CODE_ATT		0x80
#define tySRAM_CODE_CC_CD	0x90
#define tySRAM_1BIT			0xa0
#define tySRAM_2BIT			0xb0
#define tySRAM_4BIT			0xc0
#define tySRAM_PALETTE		0xd0
#define tyDDC0				0xe0
#define tyDDC1				0xf0
#define tyPORT_READ			0x04
#define tyPORT_WRITE		0x00
#define tyWITH_LANGTH		0x01
//0xaa window attrib
#define atWIN_TRANSLUCENT	0x10
#define atWIN_SHADOW_2L		0x00
#define atWIN_SHADOW_4L		0x04
#define atWIN_SHADOW_6L		0x08
#define atWIN_SHADOW_8L		0x0c
#define atWIN_SHADOW_EN		0x02
//WINDOW define
#define WINDOW1				0
#define WINDOW2				1
#define WINDOW3				2
#define WINDOW4				3
#define WIN4_X1				0
#define WIN4_X2				OSD_WIDTH-1
#define WIN4_Y1				0
#define WIN4_Y2				OSD_HIGH-3
#define WIN4_ATTR			atWIN_SHADOW_4L
#define WIN4_COLOR			bGRAY>>4//bBLUE>>4
#define WIN3_X1				WIN4_X1+4
#define WIN3_X2				WIN4_X2-4
#define WIN3_Y1				WIN4_Y1+9
#define WIN3_Y2				WIN4_Y2-1
#define WIN3_ATTR			atWIN_SHADOW_4L
#define WIN3_COLOR			bCYAN>>4
#define WIN2_X1				0
#define WIN2_X2				OSD_WIDTH-1
#define WIN2_Y1				0
#define WIN2_Y2				OSD_HIGH-3
#define WIN2_ATTR			atWIN_SHADOW_4L | atWIN_SHADOW_EN
#define WIN2_COLOR			bLIGHT>>4//bBLUE>>4

//OSD Position
#define OSD_X1				0//PanelWidth/16-1
#define OSD_X2				PanelWidth/16-OSD_WIDTH*12+1//15*PanelWidth/16-OSD_WIDTH*12+1
#define OSD_X3				(PanelWidth-OSD_WIDTH*12)/2
#define OSD_Y1				0//PanelHeight/12-1
#define OSD_Y2				PanelHeight-OSD_HIGH*18+1//11*PanelHeight/12-OSD_HIGH*18+1
#define OSD_Y3				(PanelHeight-OSD_HIGH*18)/2
#define OSD_Y4				(PanelHeight-6*18)/2

//Code Attrib define
#define caONE_BIT_256	0x0000
#define caONE_BIT_512	0x0004
#define caTWO_BIT		0x0008
#define caFOUR_BIT		0x000c
#define caMIX			0x0002
#define caBLINK			0x0001

// OSD Palette Data
#define clBLACK			0x0000
#define clRED			0xf800
#define clGREEN			0x07e0
#define clBLUE			0x001F
#define clCYAN			(clBLUE|clGREEN)
#define clMAGENTA		(clRED|clBLUE)
#define clYELLOW		(clRED|clGREEN)
#define clWHITE			(clRED|clGREEN|clBLUE)
#define clDGREEN		0x0410
#define clGRAY			0xB596//0x8410//0x8C71
#define clLIGHT			0xCE59
#define clLBLUE			0x0010//0x02b6

#define bBLACK		0x0000
#define bRED		0x0020
#define bGREEN		0x0030
#define bBLUE		0x0040
#define bCYAN		0x0050
#define bMAGENTA	0x0060
#define bYELLOW		0x0070
#define bWHITE		0x0080
#define bDGREEN		0x0090
#define bGRAY		0x00a0
#define bLIGHT		0x00b0
#define bLBLUE		0x00c0
#define fBLACK		0x0000
#define fRED		0x0100
#define fGREEN		0x0200
#define fBLUE		0x0300
#define fCYAN		0x0400
#define fMAGENTA	0x0500
#define fYELLOW		0x0600
#define fWHITE		0x0700
#define fDGREEN		0x0900
#define fGRAY		0x0a00
#define fLIGHT		0x0b00
#define fLBLUE		0x0c00

#define BAR_COLOR		fMAGENTA|bBLACK //(13*4+OFFSET_2BIT)<<8
#define VALUE_COLOR		fMAGENTA|bBLACK
#define DESC_COLOR		fWHITE|bBLACK
#define FUN_COLOR		fWHITE|bBLACK
#define SEL_FUN_COLOR	fMAGENTA|bBLACK //(13*4+OFFSET_2BIT)<<8
#define RES_COLOR		fGREEN|bBLACK
#define MODE_COLOR		fRED|bGRAY
#define SET_ICON_COLOR	bBLUE>>4
#define WAIT_COLOR		(64+OFFSET_4BIT)<<8
#define WARING_COLOR	(80+OFFSET_4BIT)<<8
#define SOURCE_COLOR	fYELLOW|bBLACK
#define VERSION_COLOR	fWHITE|fBLACK

#define MAINMENU_RES_ADDR 	ROW11+14
#define MAINMENU_DESC_ADDR	ROW4+2
#define MAINMENU_VALUE_ADDR	ROW4+25
#define MAINMENU_BAR_ADDR	ROW4+16
#define MAINMENU_MODE_ADDR	ROW12+6
#define FACTMENU_BAR_ADDR	ROW10+10
#define FACTMENU_VALUE_ADDR	ROW10+19
#define HOTKEYMENU_RES_ADDR 	ROW2+14
#define HOTKEYMENU_DESC_ADDR	ROW1+2
#define HOTKEYMENU_VALUE_ADDR	ROW1+25
#define HOTKEYMENU_BAR_ADDR	ROW1+16
#define VERSION_ADDR		ROW0+2
#define BACKLIGHTTIME_ADDR		ROW12+20

#define MSG_OUTRANGE	0
#define MSG_NOSYNC		1
#define MSG_DISCONNECT	2	
#define MSG_AUTOTUNE	3
#define MSG_AUTOCOLOR	4
#define MSG_EEPROMINIT	5
#define MSG_AUTOSET		6	//LO_CS


typedef struct{
	unsigned char Index;
	unsigned short Address;
	unsigned char L2Max;
	unsigned char Icon;
}ICONDEF;

typedef struct{
	unsigned char Index;
	unsigned short Address;
	unsigned short SelAddr;
	unsigned char *Tab;
}FACTDEF;
/***************************************************************************
*
*  Project      : NT68563
*
*  File name    : OSD_tab.H
*
* Purpose       : This is the declaration file for OSD font.
*
*  Rev  Date     Author(s)      Remark
*  ---  ------   ---------      --------------------------------------------
*
***************************************************************************/
#define _Space				0x20		/* : */
#define _DOT				0x2e		/* : */
//number
#define _0                 	0x30        /* 0 */
#define _1                 	0x31        /* 1 */
#define _2                 	0x32        /* 2 */
#define _3                 	0x33        /* 3 */
#define _4                 	0x34        /* 4 */
#define _5                	0x35        /* 5 */
#define _6                 	0x36        /* 6 */
#define _7                	0x37        /* 7 */
#define _8                 	0x38        /* 8 */
#define _9                	0x39        /* 9 */
#define _2DOT				0x3A		/* : */
 
#define _A                  0x41        // A
#define _B                  0x42        // B
#define _C                  0x43        // C
#define _D                  0x44        // D
#define _E                  0x45        // E
#define _F                  0x46        // F
#define _G                  0x47        // G
#define _H                  0x48        // H
#define _I                  0x49        // I
#define _J                  0x4A        // J
#define _K                  0x4B        // K
#define _L                  0x4C        // L
#define _M                  0x4D        // M
#define _N                  0x4E        // N
#define _O					0x4F		// O
#define _P                  0x50        // P
#define _Q                  0x51        // Q
#define _R                  0x52        // R
#define _S                  0x53        // S
#define _T                  0x54        // T
#define _U                  0x55        // U
#define _V                  0x56        // V
#define _W                  0x57        // W
#define _X                  0x58        // X
#define _Y                  0x59        // Y
#define _Z                  0x5A        // Z
#define _a                  0x61        // a
#define _b                  0x62        // b
#define _c                  0x63        // c
#define _d                  0x64        // d
#define _e                  0x65        // e
#define _f                  0x66        // f
#define _g                  0x67        // g
#define _h                  0x68        // h
#define _i                  0x69        // i
#define _j                  0x6A        // j
#define _k                  0x6B        // k
#define _l                  0x6C        // l
#define _m                  0x6D        // m
#define _n                  0x6E        // n
#define _o					0x6F		// o
#define _p                  0x70        // p
#define _q                  0x71        // q
#define _r                  0x72        // r
#define _s                  0x73        // s
#define _t                  0x74        // t
#define _u                  0x75        // u
#define _v                  0x76        // v
#define _w                  0x77        // w
#define _x                  0x78        // x
#define _y                  0x79        // y
#define _z                  0x7A        // z

#define _P00                0x7b        // B//

⌨️ 快捷键说明

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