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

📄 osddraw.h

📁 C环境 TCON T118芯片驱动文件
💻 H
字号:
//---------------------------------------------------------------------------
// Terawins Inc. Company Confidential Strictly Private
//
// $Archive: OSDDraw.h $
// $Revision: 0.01 $
// $Author: jwang $
// $Date: 2002/06/31 $
//
// --------------------------------------------------------------------------
// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// --------------------------------------------------------------------------
// Copyright 2002(c) Terawins Inc.
// --------------------------------------------------------------------------

#if !defined(__OSDDRAW_H__)
#define __OSDDRAW_H__

typedef enum
{
	INCREASE=0,
	DECREASE,
	CHANGE,
	ITEM_END
}KEYEVENTS;


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


//Background foreground
//Background only in even  ,bit 4 set 1 --> blink
#define PWBLUE_GREY        0xc3 //0xef
#define BLUE_GREY       0xce //0xef
#define BLUE_WHITE        0x4F
#define BLUE_YELLOW        0x4C
#define GREY_YELLOW        0xeC

#define CLEAR_BLUE        0x0F
#define CLEAR_WHITE        0x0F
#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 CLEAR_YELLOW        0x0C
#define CLEAR_RED		0x06
#define LBLUE_WHITE        0xeF
#define LBLUE_GREEN        0xA5
#define LBLUE_RED        0xc7//0xd7
#define BLACK_WHITE        0x2F
#define BLUE_PURPLE        0x4b

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

#define COL_TITLE        GREY_YELLOW//YELLOW_RED
//#define COL_NORMAL        BLUE_WHITE
#define COL_NORMAL        CLEAR_YELLOW//BLACK_WHITE

#define COL_FOCUS        DBLUE_WHITE
#define COL_GAUGE          BLUE_WHITE//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 COL_BATTERY		CLEAR_RED
#define LINE_LENGTH			27
#define GAUGE_LENGTH   		20

#if (defined T102)|(defined T112)|(defined T116)|(defined T118)
	#define	FONT_SIZE6W16H		0x83
	#define	FONT_SIZE8W16H		0x84
	#define	FONT_SIZE12W18H		0x96
    #define	FONT_SIZE12W16H		0x86
#elif (defined T106)
	#define	FONT_SIZE12W16H		0x00
	#define	FONT_SIZE16W16H		0x10
	#define	FONT_SIZE12W18H		0x20
	#define	FONT_SIZE16W18H		0x30
#else  // T100A,T101A,T101
	#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
#endif

#define WIDTH6				6   // add by Sherman 05'11'04
#define WIDTH8				8   // add by Sherman 05'11'04
#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

			#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

#define MAIN_MENU_TOTAL_LINES		10
#define SUB_MENU_TOTAL_LINES		7  	//DigiMax OSD Language sub-menu
//#define TOTAL_FONT_NUM	 			sizeof(AllFonts)/sizeof(unsigned char*)
#if (defined T102)|(defined T106)|(defined T112)|(defined T116)|(defined T118)
#define TOTAL_FONT_NUM					38
#else
#define TOTAL_FONT_NUM					128
#endif
#define FONT_DATA_START_ADDRESS			0x0000
#define MENU_RAM_START_ADDRESS			((TOTAL_FONT_NUM*FONT_HEIGHT)/32+1)*32
#if (defined T102)|(defined T106)|(defined T112)|(defined T116)|(defined T118)
#define CHAR_MAIN_MENU_START			((MENU_RAM_START_ADDRESS>>4)&0x7F)	
#else
#define CHAR_MAIN_MENU_START			((MENU_RAM_START_ADDRESS>>5)&0x7F)	
#endif


//MENU_RAM_START_ADDRESS must be times of 32
//#define MENU_RAM_START_ADDRESS       	0x9c0                   //0xc00 - 0x20 * line total
#if (defined T102)|(defined T106)|(defined T112)|(defined T118)
#define CHAR_RAM_END               		0x40 //CHAR_MAIN_MENU_START+0x14
#elif (defined T116)
#define CHAR_RAM_END               		0x60 // 1024*1.5/16=0x60
#else
#define CHAR_RAM_END               		0x60 // 1024*3/32=0x60
#endif

#if (defined T100A)|(defined T101A)|(defined T101)
#define	GuageFull_Idx	34
#define GuageEmpty_Idx  35
#else
#define	GuageFull_Idx	1
#define GuageEmpty_Idx  2
#endif 
//Main Mnu
enum{
idVIDEOMENU=0x01,
idTVMENU,
idNULLMENU
};


//Video Menu
enum{
idBRIGHTMENU=0x01,
idCONTRASTMENU,
idSHARPMENU,
idSATMENU,
idHUEMENU,
#if (defined T112) | (defined T116)|(defined T118) 
idRGBMENU,		
idVCOMAMENU,	
idVCOMDMENU,	
idLEDMENU,
idBuildFontMENU,
#endif
idENDMENU
};


//TV Menu
enum{
  idCHANNEL_TV=0x01,
#ifdef PAL
		idBAND_TV,
		iSOUNDSYSTEM_TV,
#endif
#ifdef NTSC
		idSKIP_TV,
		idSOURCE_TV,
#endif
		idFINETUNE_TV,
		idAUTOMEMORY_TV,
		idRECALL_TV,
        idEND
};
/*
#ifdef AU_35
#define OSD_LENGTH				14
#else
#define OSD_LENGTH				28
#endif
*/
//	#define OSD_LENGTH_LONG			35
	#define OSD_LENGTH			28//24

#if (defined T118)|(defined T112)
	#define OSD_LINE_NUM			10
#else 
	#define OSD_LINE_NUM			12
#endif
#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				25
#define FCTRY_OSD_LENGTH		25
#define FCTRY_NUM_STAT			20
#define GAUGE_Y  7
//OSD number draw attabite
#define DRAW_BLANK				0x10
#define DRAW_ZERO				0x20

#if 1
 #define V_BRIGHT_MAX		0xFF //0xB2 //0xFF Bruce 2005-07-04
 #define V_BRIGHT_DEF		0x80	
 #define V_BRIGHT_MIN		0x00 //0x4E //0x00 Bruce 2005-07-04
 #define V_CONTRAST_MAX	0xFF //0xB2 //0xFF Bruce 2005-07-04
 #define V_CONTRAST_DEF		0x80
 #define V_CONTRAST_MIN		0x00 //0x4E //0x00 Bruce 2005-07-04
 #define V_SAT_MAX			0xFF //0xB2 //0xFF Bruce 2005-07-04
 #define V_SAT_DEF			0x80
 #define V_SAT_MIN			0x00 //0x4E //0x00 Bruce 2005-07-04
 #define V_HUE_MAX			0xFF //0xB2 //0xFF Bruce 2005-07-04
 #define V_HUE_DEF			0x80
 #define V_HUE_MIN			0x00 //0x4E //0x00 Bruce 2005-07-04
 #define V_SHARP_MAX		0x06 //0x15//0x06 Bruce 2005-07-04 // 0x05 Ruby 2004-10-07
 #define V_SHARP_DEF		0x02//0x01
 #define V_SHARP_MIN		0x00
 #define V_SHARP_MSK 		0x01
 #define V_SHARP_DS 		0x00
#if (defined T112)|(defined T118) // kenny 20050301
 #define V_RGB_MAX			0x1f
 #define V_RGB_DEF			0x0f
 #define V_RGB_MIN			0x00
#ifdef _186_234
 #define V_VCOMA_MAX		0x1f
 #define V_VCOMA_DEF		0x02
 #define V_VCOMA_MIN		0x00
 #define V_VCOMD_MAX		0x1f
 #define V_VCOMD_DEF		0x1f
 #define V_VCOMD_MIN		0x00
#else
 #define V_VCOMA_MAX		0x1f
 #define V_VCOMA_DEF		0x1a
 #define V_VCOMA_MIN		0x00
 #define V_VCOMD_MAX		0x1f
 #define V_VCOMD_DEF		0x17
 #define V_VCOMD_MIN		0x00
#endif


 #define VRGB				0xE4 // add by Sherman 06'01'18
 #define VVCOMA				0xE5 // add by Sherman 06'01'23
 #define VVCOMD				0xE6 // add by Sherman 06'01'23	   
#elif (defined T116)

 #define V_RGB_MAX			0x1f // N/A
 #define V_RGB_DEF			0x00 // N/A
 #define V_RGB_MIN			0x00 // N/A

 #define V_LED_MAX			0xE8 // N/A
 #define V_LED_DEF			0x98 // N/A
 #define V_LED_MIN			0x20 // N/A

 #define V_VCOMA_MAX		0x1f
 #define V_VCOMA_DEF		0x00
 #define V_VCOMA_MIN		0x00

 #define V_VCOMD_MAX		0x1f
 #define V_VCOMD_DEF		0x0F
 #define V_VCOMD_MIN		0x00

 #define VRGB				0xE4 // N/A
 #define VLED_tune			0xE9
 #define VVCOMA				0xE5
 #define VVCOMD				0xE4
#endif

 #define VIDEO_ADDR		0x54    //I2C address	
 #define VSHARP			0x80
// #define VBRIGHT		0x09   // Ruby 2004-10-08  //page 2 
// #define VCONTRAST		0x08
 #define VBRIGHT		0x69      //page 0
 #define VCONTRAST		0x68
 #define VSAT			0x6c
 #define VHUE			0x0b

#endif

typedef struct tagEEPVIDEO
{
	BYTE cBright;
	BYTE cContrast;
	BYTE cSat;
	BYTE cHue;
	BYTE cSharp;	      
	BYTE cVolume;
	BYTE cB2;
	BYTE cB8;
	BYTE cB2_PAL;
	BYTE cB8_PAL;
    	BYTE cFlag;
	BYTE cFlag_PAL;
    	BYTE cGamma;
	BYTE cFLAG_INDEX;
	BYTE cTVCHANNEL_INDEX;
	BYTE cTVCHANNEL_STAT;
#if (defined T112) | (defined T116)|(defined T118)  
	BYTE cRGB;			  
	BYTE cVCOMA;	      
	BYTE cVCOMD;
	BYTE cLED;		  
#endif
} EEPVIDEO;



typedef enum
{
	idVIDEO_BRIGHT_INDEX=4,
	idVIDEO_CONTRAST_INDEX,
	idVIDEO_SAT_INDEX,
	idVIDEO_HUE_INDEX,
	idVIDEO_SHARP_INDEX,	
	idVIDEO_VOLUME_INDEX,
	idTIMING_B2,
	idTIMING_B8,
	idTIMING_B2_PAL,
	idTIMING_B8_PAL,
	idTIMING_FLAG_INDEX,
	idTIMING_FLAG_INDEX1,
	idVIDEO_SOURCE_INDEX,
	idVIDEO_FLAG_INDEX,
    idTVCHANNEL_INDEX,
	idTVCHANNEL_STAT,//=0x0A
#if (defined T112) | (defined T116)|(defined T118)  		
	idVIDEO_RGB_INDEX,
	idVIDEO_VCOMA_INDEX,	 
	idVIDEO_VCOMD_INDEX,	 
	idVIDEO_LED_INDEX,	 
#endif
} eEEPVIDEO;


typedef enum
{
	OSD_BRIGHT_INDEX = 0,
	OSD_CONTRAST_INDEX,
	OSD_COLOR_INDEX,
	OSD_SHAPPNESS_INDEX,
	OSD_SCREEN_MODE_INDEX,	
	OSD_OVERTURN_INDEX,
	OSD_DEFAULT_INDEX,

} OSDSTATUS;

//void OSDLogo(void);
//void OSDInit(void);
void OSDLoadColor(void);
void OSDSetRamAddr(int address);

void OSDEventMgr(void);
void OSDOpenMenu(void);
void OSDFuncEnter(void);
void OSDFuncEnterVideo(void);

void OSDFuncExitVideo(void);

void OSDDisable(void);
void OSDEnable(void);
void OSDExit(void);
void OSDShowFactryPage(void);
//void OSDShowLine(BYTE*,BYTE,BYTE,BYTE,BYTE);
void OSDMoveCursor(void);
void OSDShowVideoData(void);
void OSDClearCursor(void);
void OSDCleanLine(BYTE x,BYTE y,BYTE cColor,BYTE cLength);
void OSDClearPage(void);
void OSDSetLineAttribute(BYTE cLine,BYTE cAttribute);
//void OSDShiftSrc(BYTE cSrc1, BYTE cSrc2);
void OSDShowSubpage(void);
void OSDPosition(BYTE cPos);
void OSDShowSource(void);
void OSDShowNTSC_PAL(void);
void OSDDrawSoundSystem(void);
void OSDShowRatio(void);
void OSDShowTVData(void);
#endif // __OSDDRAW_H__

⌨️ 快捷键说明

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