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