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

📄 osddraw.h

📁 TFT LCD驱动芯片T100A+AU7" Source code
💻 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 struct tagOSDPARAMS
{
   uCHAR cBright;
	uCHAR cContrast;
	uCHAR cSharp;
	uCHAR cFreq;
	uCHAR cPhase;
	uCHAR cHPos;
	uCHAR cVPos;
	uCHAR cBkLight;
	uCHAR cOSDHPos;
	uCHAR cOSDVPos;
	uCHAR cGain;
	uCHAR cOffset;
	uCHAR cDigiGain;
	uCHAR cDigiOffset;
	uCHAR cVolume;
} OSDPARAMS;

typedef struct tagCOLOR
{
	uCHAR cColorR;
	uCHAR cColorG;
	uCHAR 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		  BLUE_WHITE
//#define COL_GAUGE      GREEN_WHITE
#define COL_GAUGE      BLUE_WHITE
#define COL_SELECT		 LBLUE_WHITE //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

//#define NEW_OSD	
#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_SIZE14W18H //FONT_SIZE12W18H
#define FONT_WIDTH		WIDTH14 //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					128
#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)		


//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,
  idREVERSAL=0x80,
  idNORMAL=0x90,
  idRESET=0xa0,//Kuo
  idLANGUAGE_MENU,
		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


void English_Page(void);
void Chiness_Page(void);


void OSDLogo(void);
void OSDInit(void);
void OSDLoadColor(void);
void OSDSetRamAddr(uWORD);

void OSDEventMgr(void);
void OSDOpenMenu(void);
void OSDFuncSelect(sCHAR);
void OSDFuncEnter(void);
void OSDFuncEnterVideo(void);
void OSDFuncExit(void);
void OSDFuncExitVideo(void);

void OSDDisable(void);
void OSDEnable(void);
void OSDExit(void);

void OSDShowPage(void);
void OSDShowFactryPage(void);
void OSDShowLine(uCHAR*,uCHAR,uCHAR,uCHAR,uCHAR);
//void OSDHLLine(uCHAR *str, uCHAR x, uCHAR y, uCHAR cCol);
//void OSDHLLine(uCHAR, uCHAR);
void OSDMoveCursor(uCHAR, uCHAR);
void OSDShowData(uCHAR);
void OSDShowVideoData(void);
void OSDDrawGauge(uCHAR cVal, uCHAR cMax, uCHAR x, uCHAR y, uCHAR cColor);
void OSDDrawNum(uWORD wVal, uCHAR cMax, uCHAR x, uCHAR y, uCHAR cColor, uCHAR cAttr);
void OSDDrawTVFreq(uWORD wFreq);
void OSDShowTV_Num(uCHAR cTemp);
void OSDDrawBand(uWORD wFreq);
void OSDNumConvert(uCHAR cNum);
void OSDShowInfo(uCHAR,uCHAR,uCHAR);
void OSDDrawSkip(void);
void OSDShowRESET(bit bTemp);

void OSDCleanLine(uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength);
void OSDClearPage(void);
void OSDSetLineAttribute(uCHAR cLine,uCHAR cAttribute);
//void OSDShiftSrc(uCHAR cSrc1, uCHAR cSrc2);
void OSDShowSubpage(void);
void OSDDspMessages(uCHAR);
void OSDPosition(uCHAR);
void OSDTVShowChannel(uCHAR x, uCHAR y, uCHAR cColor, uCHAR cChannel);
void OSDShowTVSource(sCHAR);
void OSDDrawFactry(void);
void OSDDrawSTV_STH(void);

void OSDDrawHexNum(uWORD wVal, uCHAR x, uCHAR y, uCHAR cColor);
void OSDShowSource(void);
void OSDShowNTSC_PAL(void);
void OSDDrawSoundSystem(void);
void OSDShowRatio(void);
#endif // __OSDDRAW_H__

⌨️ 快捷键说明

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