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

📄 osddraw.h

📁 宏芯T118B 配 MTV512, 驱动PVI 9"TFT屏的源程序
💻 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__

#include "panel.h"

typedef enum{
	eENGLISH=0x00
} eLANGUAGE;


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;


//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 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        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        BLUE_WHITE//YELLOW_RED
//#define COL_NORMAL        BLUE_WHITE
#define COL_NORMAL        BLUE_WHITE//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 LINE_LENGTH			27
#define GAUGE_LENGTH   		20

#if (defined T102)|(defined T112)|(defined T116)
	#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 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
	#ifdef T102
		#ifdef _160_234	   // for test by Sherman 06'02'08
			#define	FONT_SIZE			FONT_SIZE8W16H
			#define FONT_WIDTH			WIDTH8
			#define FONT_HEIGHT			HEIGHT16
		#else
			#define	FONT_SIZE			FONT_SIZE12W18H
			#define FONT_WIDTH			WIDTH12
			#define FONT_HEIGHT			HEIGHT18		
		#endif

	#else  // T100A,T101,T101A,T106,T112
			#define	FONT_SIZE			FONT_SIZE12W18H
			#define FONT_WIDTH			WIDTH12
			#define FONT_HEIGHT			HEIGHT18	
	#endif

	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		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)
#define TOTAL_FONT_NUM					39
#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)
#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 T116)
#define CHAR_RAM_END               		0x40 //CHAR_MAIN_MENU_START+0x14
#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) 
idRGBMENU,			// add by Sherman 06'01'18
idVCOMAMENU,		// add by Sherman 06'01'23
idVCOMDMENU,	    // add by Sherman 06'01'23
#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
*/
#if (defined T102)|(defined T106)|(defined T112)|(defined T116)
	#ifdef _160_234
		#define OSD_LENGTH			20
	#elif ((defined _294_228) |(defined _320_234) | (defined _320_240))
		#define OSD_LENGTH			22
	#else
		#define OSD_LENGTH			28
	#endif
#else
	#define OSD_LENGTH			28//24
#endif

#define OSD_LINE_NUM			11
#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
	
//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 OSDMoveCursor(void);
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 OSDClearCursor(void);
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 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 + -