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

📄 osd.h

📁 myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频参数的调节
💻 H
字号:
// osd address and attribute
#define Address	0x00
#define Attribute	0x40
// osd control bit define
#define OSDEN	0x80
#define BSEN		0x40
#define Shoadow	0x20
#define FBEN		0x10
#define Blend	0x08
#define WENclr	0x04
#define RAMclr	0x02
#define FBKGC	0x01

#define WEN		0x04
#define WINT		0x02
#define WSHD	0x01
//--------------------
//---------------------
// osd color define
#define Black		0x00
#define Blue		0x01
#define Green	0x02
#define Cyan		0x03
#define Red		0x04
#define Magenta	0x05
#define Yellow	0x06
#define White	0x07

//Define Menu Parameter
#define SrcStrSt 18
#define SrcStrLen 4
#define SrcStrColor 0x32
#define NtscStrSt 22
#define NtscStrLen 4
#define NtscStrColor 0x32

//Define Bar Position
#define BarSt    0
#define BarLen	25
#define BarY	7
#define ValueX 22
#define ValueY 8
#define ValueLen 2

//Define Gamma Item postion for Retrun Main
#define GAMMAITEMPOS 3
#define VideoITEMPOS 6
//----------------------
//define language item
enum LanguageItem{
English,
Chinese,
MaxLanguageItem
};
//define page item width
enum MainPageItem{
//SaturatiOne, // Color
BrightOne, // Bright
//HueOne, 	// TINT
//DimmerOne,//Dimmer
//Picture,
Rotation,
FormatOne,//Format
GammaOne,
//RecallItem,
InputSourceOne,
//Returnone,
OSDPosition,
VideoPosition,
VideoDefault,
Returnone,
MaxMainPageItem
};

enum BrightPageItem{
BrightnessItem,	// ch8
ContrastItrm,	// ch15
MaxBrightPageItem
};

enum ColorPageItem{
SaturationItem,	// ch5
HueItem,		// ch6
MaxColorPageItem
};

enum OSDPageItem{
HPositionItem,
VPositionItem,
//LanguageItem,
MaxOSDPageItem
};

enum MiscPageItem{
//VsignalPosition,
//HsignalPosition,
//PWM,
CommonPulse,
YGain,
BlackLevel,
YaperGain,
RsubBri,
BsubBri,
WhitePeakLevel,
Gamma1,
Gamma2,
MaxMiscPageItem
};

enum {
NOTHING,
BRIGHT_BRIGHTNESS,
BRIGHT_CONTRAST,
BRIGHT_SUBCONTRAST,
COLOR_HUE,
COLOR_SATURATION,

RunFormat,	//OSD_VPOS_U,
RunRecall,//OSD_LANGUAGE_U,
GammaVg1,
GammaVg2,
GammaVg1B,
GammaVg2B,
GammaVg1R,
GammaVg2R,
SHARPNESS,
ROTATION,
Vcomamp,
Vcomdc,
Drivered,
Drivegreen,
Driveblue,
InputSource,
OSDHPosi,
OSDVPosi,
WHITELIMITE,
BLACKLIMITE,
Video_VPosi,
Video_HPosi,
TVCH,
SaveTVSearch
//HsyncStITEM,
//HsyncEndITEM
};
//----------------------
// osd page define
#define MainPageWinNo	3
#define MainPageColor Black
#define MainPageBarColor Cyan
#define MainPageItemLength 15
#define MainPageCharColor	White //White
#define MainPageProcessColor	Red
#define MainPageExitColor		Cyan
//#define MainPageItemWidth MaxMainPageItem
#define MainPageBarLength MainPageItemLength
#define MainPageYStart	1	//row start
#define MainPageYEnd	10		//row end
#define MainPageXStart 1 	//column start
#define MainPageXEnd   15//cloumn end

#define BackGroundWinNo	4
#define BackGroundColor	Magenta
#define BackGroundYStart	0
#define BackGroundYEnd	11
#define BackGroundXStart	0
#define BackGroundXEnd	16
/*
#define SecondPageWinNo 2
#define SecondPageColor Green
#define SecondPageBarColor Cyan
#define SecondPageItemLength MainPageItemLength
#define SecondPageItemWidth ? 
#define SecondPageBarLength SecondPageItemLength
#define SecondPageYStart (MainPageYStart+1)
#define SecondPageYEnd	 (MainPageYEnd+1)		//row end
#define SecondPageXStart (MainPageXStart+1) 	//column start
#define SecondPageXEnd   (MainPageXEnd+1)	//cloumn end

#define ThirdPageWinNo	2
#define ThirdPageColor Cyan
#define ThirdPageBarColor Yellow
#define ThirdPageItemLength MainPageItemLength
#define ThirdPageItemWidth ?
#define ThirdPageBarLength ThirdPageItemLength
#define ThirdPageYStart (SecondPageYStart+1)
#define ThirdPageYEnd   (SecondPageYEnd+1)		//row end
#define ThirdPageXStart (SecondPageXStart+1) 	//column start
#define ThirdPageXEnd   (SecondPageXEnd+1)	//cloumn end
*/
//--------------------------
#define EnableOSD()			(byMTV_OSDCON = OSDConVal|OSDEN)
#define EnableOSDWinClr()	(byMTV_OSDCON = OSDConVal|WENclr)
#define EnableOSDRAMClr()	(byMTV_OSDCON = OSDConVal|RAMclr)
#define EnableOSDFBKGC()	(byMTV_OSDCON = OSDConVal|FBKGC)
#define DisableOSD()			(byMTV_OSDCON = OSDConVal&(~OSDEN))
#define DisableOSDWinClr()	(byMTV_OSDCON = OSDConVal&(~WENclr))
#define DisableOSDRAMClr()	(byMTV_OSDCON = OSDConVal&(~RAMclr))
#define DisableOSDFBKGC()	(byMTV_OSDCON = OSDConVal&(~FBKGC))

#define OSD_OFFTIME 10000

//-----------------------------------------------
struct sPROGRESS{
        WORD  value;
        WORD  min;
        WORD  max;
};
//-----------------------------------------------
struct sMENUSTACK{
        void (*MenuProcess)(void);
        BYTE ItemIndex;
};
//--------------------------------------------
struct OSDData{
BYTE H_Pos;
BYTE V_Pos;
BYTE LANGUAGE;
};
struct VideoPos{
BYTE H_Pos;
BYTE V_Pos;
};
//------------------------------------------------

extern BYTE MenuFlagState;
//------------------------------------------------

#ifdef _MAIN_
BIT bFactoryflag;
BIT bDEMOFlag;
BIT bMenuFlag;
BIT bClrFlag;
BIT bSwapFlag;
BIT bGammaFlag;
BIT bPowerFlag;
BIT bSubMenuFlag;
WORD OsdTimer;
BYTE ItemIndex;
BYTE OSDStackPoint;
BYTE FormatValue;
BIT SourceFlag;
BYTE bRotationFlag;
//BIT bRotationFlag;

struct sPROGRESS ItemValue;
struct sMENUSTACK OSDStack[3];
struct OSDData sOSD;
struct VideoPos sVideoPos;
void (*MenuProcess)(void);
BYTE CursorX,CursorY;
BYTE OSDConVal;

#else

extern BIT bFactoryflag;
extern BIT bDEMOFlag;
extern BIT bMenuFlag;
extern BIT bClrFlag;
extern BIT bSwapFlag;
extern BIT bGammaFlag;
extern BIT bPowerFlag;
extern BIT bSubMenuFlag;
extern WORD OsdTimer;
extern BYTE ItemIndex;
extern BYTE OSDStackPoint;
extern BYTE FormatValue;
extern BIT SourceFlag;
extern BYTE bRotationFlag;

extern struct sPROGRESS ItemValue;
extern struct sMENUSTACK OSDStack[3];
extern struct OSDData sOSD;
extern struct VideoPos sVideoPos;
extern void (*MenuProcess)(void);
extern BYTE CursorX,CursorY;
extern BYTE OSDConVal;


#endif

extern void Disp_Nothing(void);
extern void OSDProc(void);

extern void InitialOSD(void);
extern void InitialFlag(void);

extern void OpenWindow(BYTE win_no, BYTE start_x, BYTE start_y, BYTE end_x, BYTE end_y, BYTE color);
extern void CloseWindow(BYTE win_no);

//extern void Disp_Video_Entry(void);
extern void Disp_Demo(void);
extern void Disp_VideoMenu(void);
extern void Disp_PowerMenu(void);
extern void GammaPWM(void);

extern void GammaVG1(void);
extern void GammaVG2(void);
extern void VComAMP(void);
extern void VComDC(void);
extern void DriveRED(void);
extern void DriveGREEN(void);
extern void DriveBLUE(void);
extern void GammaVCT(void);
extern void GammaPALP(void);


extern void gotoxy(BYTE x,BYTE y);
extern void SetDouble(void);
extern void DoubleWidthPrintString(BYTE *databuf,BYTE number,BYTE color);
extern void PrintString(BYTE *chardata,BYTE number,BYTE color);
extern void PrintByteString(BYTE * databuf, BYTE number, BYTE color);
extern void ClearMenu(void);

extern void PrintChar(WORD chardata,BYTE color);
extern void PrintValue(WORD value, BYTE color);
extern void Disp_VideoBright(void);
extern void Disp_VideoBrightness(void);
extern void Disp_Saturation(void);
extern void Disp_Hue(void);
extern void Disp_OSDHPosition(void);
extern void Disp_OSDVPosition(void);
extern void Execute_Rotate(void);
extern void Execute_Recall(void);
extern void Execute_Dimmer(void);
extern void Execute_Format(void);
extern void Disp_VideoContrast(void);
extern void Disp_VideoSubContrast(void);
extern void Disp_VideoColor(void);
extern void Disp_Sharpness(void);
extern void Disp_OSDSetup(void);
extern void Disp_VideoPos(void);
extern void Disp_VideoMisc(void);
extern void Disp_Entry(void);
extern void Execute_Power(void);
extern void Execute_Source(void);
extern void Disp_VideoRecall(void);
extern void SetProgressData(BYTE progress_no);
extern void SaveProgressData(BYTE progress_no);
extern void Set_OSD_HPosition(void);
extern void Set_OSD_VPosition(void);
extern void Disp_NTSC_Mode(void);
extern void Disp_PAL_Mode(void);
extern void Disp_NoSync_Input(void);
extern void Disp_EmptyString(void);
extern void Disp_Rotation(void);

#ifdef _DebugMsg_
extern void Disp_DebugMsg(void);
#endif

extern void Disp_IICHold(void);
extern void DispContBright(void);
extern void ContBrightMenu(void);
extern void SaveMenuState(void);
extern void ReturnMenuState(void);
extern void ContBrigReturnMain(void);
extern void Disp_No_Input_Signal();
extern void DispInputSource(void);
extern void ShowInputSource(BYTE input_source);
extern void SetInputSource();
extern void Disp_VideoPos();
extern void OSDSetup();
extern void OSDReturnMain(void);
extern void OSDMenu(void);
extern void Disp_OSDHorital(void);
extern void Disp_OSDVertical(void);
extern void Set_Video_HPos();
extern void Set_Video_VPos();
extern void Set_OSD_H();
extern void Set_OSD_V();
extern void Disp_WhiteLimiter(void);
extern void Disp_BlackLimiter(void);
extern void Set_WhiteLimiter();
extern void Set_BlackLimiter();
extern void Disp_Input_Mode();
extern void SetBGWindowColor(BYTE StartX,BYTE StartY,BYTE num,BYTE color);


⌨️ 快捷键说明

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