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