📄 osddraw.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 + -