📄 wndw_vga.c
字号:
#include "hdr.h"
#if defined(__WTH_VGA__)
//==================================================================================
U16 bdata wndw_vga_flg = 0x00;
sbit b_vga_or = wndw_vga_flg^0;
//==================================================================================
// VGA Output Resolution wndwdow function description
//==================================================================================
void SetWndwVGAOrOSD(U8 _pth)
{
if(b_vga_or == VGA_OR_640x480){
WriteOSDFnt(_pth,MASTER,WNDW_VGA_OR_RDO_X,WNDW_VGA_OR_RDO_Y,0x00,OSD_RDO_CHK);
WriteOSDFnt(_pth,MASTER,WNDW_VGA_OR_RDO_X,WNDW_VGA_OR_RDO_Y+2,0x00,OSD_RDO_BLK);
}
else{
WriteOSDFnt(_pth,MASTER,WNDW_VGA_OR_RDO_X,WNDW_VGA_OR_RDO_Y,0x00,OSD_RDO_BLK);
WriteOSDFnt(_pth,MASTER,WNDW_VGA_OR_RDO_X,WNDW_VGA_OR_RDO_Y+2,0x00,OSD_RDO_CHK);
}
}
//==================================================================================
void CreateWndwVGAOr(U8 _pth)
{
// b_status_wndw = ON;
b_cmn_wndw_mn = ON;
WriteOSDClr(_pth,MASTER,WNDW_VGA_OR_POS_X,WNDW_VGA_OR_POS_Y,WNDW_VGA_OR_L,WNDW_VGA_OR_H);
SetOSDWndw(_pth,OSD_WNDW_TYPE_MAIN,WNDW_VGA_OR_POS_X,WNDW_VGA_OR_POS_Y,WNDW_VGA_OR_L,WNDW_VGA_OR_H,str_wndw_ttl_out_rs);
WriteOSDStr(_pth,MASTER,WNDW_VGA_OR_RDO_X+2,WNDW_VGA_OR_RDO_Y,0x00,str_wndw_vga_or_vga);
WriteOSDStr(_pth,MASTER,WNDW_VGA_OR_RDO_X+2,WNDW_VGA_OR_RDO_Y+2,0x00,str_wndw_vga_or_svga);
SetWndwVGAOrOSD(_pth);
}
//==================================================================================
void RunWndwVGAOr(U8 _pth)//U8 _osd_pos_x_, U8 _osd_pos_y_)
{
U8 _osd_pos_x_, _osd_pos_y_;
_osd_pos_x_ = GetMseOSDX(reg_crsr_pos_x);
_osd_pos_y_ = GetMseOSDY(reg_crsr_pos_y);
if(b_mse_btn_dwn_lb == 1){
b_mse_btn_dwn_lb = 0;
if((_osd_pos_x_ == WNDW_VGA_OR_CLOS_X)&&(_osd_pos_y_ == WNDW_VGA_OR_CLOS_Y)){
// SetBoxBtnStrPush(BOX_WNDW_QUIT);
}
}
if(b_mse_btn_dwn_rb == 1) b_mse_btn_dwn_rb = 0;
if(b_mse_clk_lb == 1){
b_mse_clk_lb = 0;
if((_osd_pos_x_ == WNDW_VGA_OR_CLOS_X)&&(_osd_pos_y_ == WNDW_VGA_OR_CLOS_Y)){
// SetBoxBtnStrPull(BOX_WNDW_QUIT);
WriteOSDClr(_pth,MASTER,WNDW_VGA_OR_POS_X,WNDW_VGA_OR_POS_Y,WNDW_VGA_OR_L,WNDW_VGA_OR_H);
WriteOSDClrX(MASTER,WNDW_VGA_OR_POS_X-1,WNDW_VGA_OR_POS_Y-1,WNDW_VGA_OR_L+2,WNDW_VGA_OR_H+2);
// DisableBox(X_PATH,BOX_WNDW_FRM-2,BOX_WNDW_FRM); // decoration wndwdow, main wndwdow
SetOSDNoMn();
// b_status_wndw = OFF;
// global_menu_crnt_pos = 30;
b_cmn_wndw_mn = OFF;
wndw_mn_pos_crnt = 30;
}
else{
if((_osd_pos_x_ == WNDW_VGA_OR_RDO_X)&&
((_osd_pos_y_ == WNDW_VGA_OR_RDO_Y)||(_osd_pos_y_ == (WNDW_VGA_OR_RDO_Y+2)))){
b_vga_or = (_osd_pos_y_ - WNDW_VGA_OR_RDO_Y)>>1;
/* MDIN-180 Vclk PLL setting */
MDIN180VPLLMPLLCtrl();
// /* MDIN-180 Input Setting */
// MDIN180InputCtrl();
/* MDIN-180 Output Sync Setting */
MDIN180SyncSize();
/* MDIN-180 Deinterlacing Parameters Setting */
MDIN180DeintRegSet();
SetWndwVGAOrOSD(_pth);
}
}
}
if(b_mse_clk_rb == 1) b_mse_clk_rb = 0;
if(b_mse_pshng_clk_lb == 1) b_mse_pshng_clk_lb = 0;
if(b_mse_pshng_clk_rb == 1) b_mse_pshng_clk_rb = 0;
}
//==================================================================================
//==================================================================================
//==================================================================================
U8 idata wndw_vga_di_md = VGA_DI_ADPT;
sbit b_vga_di_edg = wndw_vga_flg^1;
sbit b_vga_di_fst = wndw_vga_flg^2;
sbit b_vga_di_mtn = wndw_vga_flg^3;
//==================================================================================
// VGA Di-Interlacing wndwdow function description
//==================================================================================
void SetWndwVGADiOSDRdo(U8 _pth)
{
U8 _t1_, _t2_;
for(_t1_=0;_t1_<3;_t1_++){
if(wndw_vga_di_md == _t1_) _t2_ = OSD_RDO_CHK;
else _t2_ = OSD_RDO_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_DI_RDO_X,WNDW_VGA_DI_RDO_Y+_t1_,0x00,_t2_);
}
}
//==================================================================================
void SetWndwVGADiOSDChk(U8 _pth)
{
U8 _t1_;
if(b_vga_di_edg == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_DI_CHK_X,WNDW_VGA_DI_CHK_EDG_Y,0x00,_t1_);
if(b_vga_di_fst == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_DI_CHK_X,WNDW_VGA_DI_CHK_FST_Y,0x00,_t1_);
if(b_vga_di_mtn == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_DI_CHK_X,WNDW_VGA_DI_CHK_MTN_Y,0x00,_t1_);
}
//==================================================================================
void CreateWndwVGADi(U8 _pth)
{
// b_status_wndw = ON;
b_cmn_wndw_mn = ON;
WriteOSDClr(_pth,MASTER,WNDW_VGA_DI_POS_X,WNDW_VGA_DI_POS_Y,WNDW_VGA_DI_L,WNDW_VGA_DI_H);
SetOSDWndw(_pth,OSD_WNDW_TYPE_MAIN,WNDW_VGA_DI_POS_X,WNDW_VGA_DI_POS_Y,WNDW_VGA_DI_L,WNDW_VGA_DI_H,str_wndw_ttl_de_int);
SetOSDGrp(_pth,WNDW_VGA_DI_RDO_X-1,WNDW_VGA_DI_RDO_Y,17,3,0x00,str_wndw_grp_3d_de_int);
WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_RDO_X+2,WNDW_VGA_DI_RDO_Y,0x00,str_wndw_vga_di_adpt);
WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_RDO_X+2,WNDW_VGA_DI_RDO_Y+1,0x00,str_wndw_vga_di_bob);
WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_RDO_X+2,WNDW_VGA_DI_RDO_Y+2,0x00,str_wndw_vga_di_wv);
WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_CHK_X+2,WNDW_VGA_DI_CHK_EDG_Y,0x00,str_wndw_vga_di_edg);
WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_CHK_X+2,WNDW_VGA_DI_CHK_FST_Y,0x00,str_wndw_vga_di_fst);
WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_CHK_X+2,WNDW_VGA_DI_CHK_MTN_Y,0x00,str_wndw_vga_di_mtn_1);
// WriteOSDStr(_pth,MASTER,WNDW_VGA_DI_CHK_X+2,WNDW_VGA_DI_CHK_MTN_Y+1,0x00,str_wndw_vga_di_mtn_2);
SetWndwVGADiOSDRdo(_pth);
SetWndwVGADiOSDChk(_pth);
}
//==================================================================================
void RunWndwVGADi(U8 _pth)//U8 _osd_pos_x_, U8 _osd_pos_y_)
{
U8 _osd_pos_x_, _osd_pos_y_;
_osd_pos_x_ = GetMseOSDX(reg_crsr_pos_x);
_osd_pos_y_ = GetMseOSDY(reg_crsr_pos_y);
if(b_mse_btn_dwn_lb == 1){
b_mse_btn_dwn_lb = 0;
if((_osd_pos_x_ == WNDW_VGA_DI_CLOS_X)&&(_osd_pos_y_ == WNDW_VGA_DI_CLOS_Y)){
// SetBoxBtnStrPush(BOX_WNDW_QUIT);
}
}
if(b_mse_btn_dwn_rb == 1) b_mse_btn_dwn_rb = 0;
if(b_mse_clk_lb == 1){
b_mse_clk_lb = 0;
if((_osd_pos_x_ == WNDW_VGA_DI_CLOS_X)&&(_osd_pos_y_ == WNDW_VGA_DI_CLOS_Y)){
// SetBoxBtnStrPull(BOX_WNDW_QUIT);
WriteOSDClr(_pth,MASTER,WNDW_VGA_DI_POS_X,WNDW_VGA_DI_POS_Y,WNDW_VGA_DI_L,WNDW_VGA_DI_H);
WriteOSDClrX(MASTER,WNDW_VGA_DI_POS_X-1,WNDW_VGA_DI_POS_Y-1,WNDW_VGA_DI_L+2,WNDW_VGA_DI_H+2);
// DisableBox(X_PATH,BOX_WNDW_FRM-2,BOX_WNDW_FRM); // decoration wndwdow, main wndwdow
SetOSDNoMn();
// b_status_wndw = OFF;
// global_menu_crnt_pos = 30;
b_cmn_wndw_mn = OFF;
wndw_mn_pos_crnt = 30;
}
else{
if((_osd_pos_x_ == WNDW_VGA_DI_RDO_X)&&
((_osd_pos_y_ >= WNDW_VGA_DI_RDO_Y)&&(_osd_pos_y_ <= (WNDW_VGA_DI_RDO_Y+VGA_DI_WV)))){
wndw_vga_di_md = _osd_pos_y_ - WNDW_VGA_DI_RDO_Y;
if(wndw_vga_di_md == VGA_DI_ADPT) DeintAdaptStillEn();
else if(wndw_vga_di_md == VGA_DI_BOB) DeintIntraOnly();
else if(wndw_vga_di_md == VGA_DI_WV) DeintInterOnly();
SetWndwVGADiOSDRdo(_pth);
}
else{
if((_osd_pos_x_ == WNDW_VGA_DI_CHK_X)&&((_osd_pos_y_ == WNDW_VGA_DI_CHK_EDG_Y)||
(_osd_pos_y_ == WNDW_VGA_DI_CHK_FST_Y)||(_osd_pos_y_ == WNDW_VGA_DI_CHK_MTN_Y))){
if(_osd_pos_y_ == WNDW_VGA_DI_CHK_EDG_Y){
b_vga_di_edg ^= 1;
if(b_vga_di_edg) DeintEdgeAll();
else DeintEdge90();
}
else if(_osd_pos_y_ == WNDW_VGA_DI_CHK_FST_Y){
b_vga_di_fst ^= 1;
if(b_vga_di_fst) DeintFastEn();
else DeintFastDis();
}
else if(_osd_pos_y_ == WNDW_VGA_DI_CHK_MTN_Y){
b_vga_di_mtn ^= 1;
if(b_vga_di_mtn) DeintBorderEn();
else DeintBorderDis();
}
SetWndwVGADiOSDChk(_pth);
}
}
}
}
if(b_mse_clk_rb == 1) b_mse_clk_rb = 0;
if(b_mse_pshng_clk_lb == 1) b_mse_pshng_clk_lb = 0;
if(b_mse_pshng_clk_rb == 1) b_mse_pshng_clk_rb = 0;
}
//==================================================================================
//==================================================================================
//==================================================================================
sbit b_vga_ie_shrp = wndw_vga_flg^4;
sbit b_vga_ie_lti = wndw_vga_flg^5;
sbit b_vga_ie_cti = wndw_vga_flg^6;
sbit b_vga_ie_bw = wndw_vga_flg^7;
//==================================================================================
// VGA Ie-Interlacing wndwdow function description
//==================================================================================
void SetWndwVGAIeOSDChk(U8 _pth)
{
U8 _t1_;
if(b_vga_ie_shrp == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_IE_CHK_X,WNDW_VGA_IE_CHK_SHRP_Y,0x00,_t1_);
if(b_vga_ie_lti == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_IE_CHK_X,WNDW_VGA_IE_CHK_LTI_Y,0x00,_t1_);
if(b_vga_ie_cti == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_IE_CHK_X,WNDW_VGA_IE_CHK_CTI_Y,0x00,_t1_);
if(b_vga_ie_bw == ON) _t1_ = OSD_CHK_BOX_CHK;
else _t1_ = OSD_CHK_BOX_BLK;
WriteOSDFnt(_pth,MASTER,WNDW_VGA_IE_CHK_X,WNDW_VGA_IE_CHK_BW_Y,0x00,_t1_);
}
//==================================================================================
void CreateWndwVGAIe(U8 _pth)
{
// b_status_wndw = ON;
b_cmn_wndw_mn = ON;
WriteOSDClr(_pth,MASTER,WNDW_VGA_IE_POS_X,WNDW_VGA_IE_POS_Y,WNDW_VGA_IE_L,WNDW_VGA_IE_H);
SetOSDWndw(_pth,OSD_WNDW_TYPE_MAIN,WNDW_VGA_IE_POS_X,WNDW_VGA_IE_POS_Y,WNDW_VGA_IE_L,WNDW_VGA_IE_H,str_wndw_ttl_img_en);
WriteOSDStr(_pth,MASTER,WNDW_VGA_IE_CHK_X+2,WNDW_VGA_IE_CHK_SHRP_Y,0x00,str_wndw_vga_ie_shrp);
WriteOSDStr(_pth,MASTER,WNDW_VGA_IE_CHK_X+2,WNDW_VGA_IE_CHK_LTI_Y,0x00,str_wndw_vga_ie_lti);
WriteOSDStr(_pth,MASTER,WNDW_VGA_IE_CHK_X+2,WNDW_VGA_IE_CHK_CTI_Y,0x00,str_wndw_vga_ie_cti);
WriteOSDStr(_pth,MASTER,WNDW_VGA_IE_CHK_X+2,WNDW_VGA_IE_CHK_BW_Y,0x00,str_wndw_vga_ie_bw);
SetWndwVGAIeOSDChk(_pth);
}
//==================================================================================
void RunWndwVGAIe(U8 _pth)//U8 _osd_pos_x_, U8 _osd_pos_y_)
{
U8 _osd_pos_x_, _osd_pos_y_;
_osd_pos_x_ = GetMseOSDX(reg_crsr_pos_x);
_osd_pos_y_ = GetMseOSDY(reg_crsr_pos_y);
if(b_mse_btn_dwn_lb == 1){
b_mse_btn_dwn_lb = 0;
if((_osd_pos_x_ == WNDW_VGA_IE_CLOS_X)&&(_osd_pos_y_ == WNDW_VGA_IE_CLOS_Y)){
// SetBoxBtnStrPush(BOX_WNDW_QUIT);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -