📄 wndw_ds_indx.c
字号:
RunWndwDsInOSDArw(_pth,0,0);
SetWndwDsInOSDNum(_pth);
}
//==================================================================================
void RunWndwDsInDec(U8 _pth, U8 _osd_pos_y)
{
U8 _rdat_;
U8 _t1_;
if(_osd_pos_y == WNDW_DS_IN_HS_Y){
// _rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x87);
_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x87,0xff);
if(_rdat_ > 0) _rdat_--;
else _rdat_ = 0xff;
SetWndwDsInOSDNumHs(_pth,_rdat_);
WriteAsicByte(cmn_dvc,DVC_PG1,0x87,_rdat_);
}
else if(_osd_pos_y == WNDW_DS_IN_PX_Y){
// _rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x88);
_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x88,0x1f);
_t1_ = _rdat_&0x1f;
if(_t1_ > 0) _t1_--;
else _t1_ = 0x1f;
SetWndwDsInOSDNumPx(_pth,_t1_);
_rdat_ = (_rdat_&0xc0)|_t1_;
WriteAsicByte(cmn_dvc,DVC_PG1,0x88,_rdat_);
}
else{
// _rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x89);
_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x89,0x1f);
if(_osd_pos_y == WNDW_DS_IN_VS_Y){
_t1_ = _rdat_&0x1f;
if(_t1_ > 0) _t1_--;
else _t1_ = 0x1f;
SetWndwDsInOSDNumVs(_pth,_t1_);
_rdat_ = (_rdat_&0xe0)|_t1_;
}
// else{// if(_osd_pos_y == WNDW_DS_IN_LN_Y){
// _t1_ = (_rdat_&0xe0)>>5;
// if(_t1_ > 0) _t1_--;
// else _t1_ = 7;
// SetWndwDsInOSDNumLn(_pth,_t1_);
// _rdat_ = (_rdat_&0x1f)|(_t1_<<5);
// }
WriteAsicByte(cmn_dvc,DVC_PG1,0x89,_rdat_);
}
}
//==================================================================================
void RunWndwDsInInc(U8 _pth, U8 _osd_pos_y)
{
U8 _rdat_;
U8 _t1_;
if(_osd_pos_y == WNDW_DS_IN_HS_Y){
// _rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x87);
_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x87,0xff);
if(_rdat_ < 0xff) _rdat_++;
else _rdat_ = 0;
SetWndwDsInOSDNumHs(_pth,_rdat_);
WriteAsicByte(cmn_dvc,DVC_PG1,0x87,_rdat_);
}
else if(_osd_pos_y == WNDW_DS_IN_PX_Y){
// _rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x88);
_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x88,0x1f);
_t1_ = _rdat_&0x1f;
if(_t1_ < 0x1f) _t1_++;
else _t1_ = 0;
SetWndwDsInOSDNumPx(_pth,_t1_);
_rdat_ = (_rdat_&0xc0)|_t1_;
WriteAsicByte(cmn_dvc,DVC_PG1,0x88,_rdat_);
}
else{
// _rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x89);
_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x89,0x1f);
if(_osd_pos_y == WNDW_DS_IN_VS_Y){
_t1_ = _rdat_&0x1f;
if(_t1_ < 0x1f) _t1_++;
else _t1_ = 0;
SetWndwDsInOSDNumVs(_pth,_t1_);
_rdat_ = (_rdat_&0xe0)|_t1_;
}
// else{// if(_osd_pos_y == WNDW_DS_IN_LN_Y){
// _t1_ = (_rdat_&0xe0)>>5;
// if(_t1_ < 7) _t1_++;
// else _t1_ = 0;
// SetWndwDsInOSDNumLn(_pth,_t1_);
// _rdat_ = (_rdat_&0x1f)|(_t1_<<5);
// }
WriteAsicByte(cmn_dvc,DVC_PG1,0x89,_rdat_);
}
}
//==================================================================================
void RunWndwDsIn(U8 _pth)//U8 _osd_pos_x, U8 _osd_pos_y)
{
U8 _t1_;
U8 _osd_pos_x_, _osd_pos_y_;
_osd_pos_x_ = GetMseOSDX(reg_crsr_pos_x);
_osd_pos_y_ = GetMseOSDY(reg_crsr_pos_y);
// if(wndw_ds_in_type == IN_TYPE_ANLG){
// if((b_ds_in_run == OFF)||(b_ds_in_auto == OFF)) RunWndwDsInOSDArw(_pth,_osd_pos_x_,_osd_pos_y_);
// }
if((wndw_ds_in_type == IN_TYPE_ANLG)&&(b_ds_in_auto == OFF)) RunWndwDsInOSDArw(_pth,_osd_pos_x_,_osd_pos_y_);
if(b_mse_btn_dwn_lb == 1){
b_mse_btn_dwn_lb = 0;
if((_osd_pos_x_ == WNDW_DS_IN_CLOS_X)&&(_osd_pos_y_ == WNDW_DS_IN_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_DS_IN_CLOS_X)&&(_osd_pos_y_ == WNDW_DS_IN_CLOS_Y)){
// SetBoxBtnStrPull(BOX_WNDW_QUIT);
// ClearOSD(_pth,WNDW_DS_IN_POS_X,WNDW_DS_IN_POS_Y,WNDW_DS_IN_L,WNDW_DS_IN_H);
// DisableBox(_pth,IN_BOX_DECO,BOX_WNDW_FRM); // decoration wndwdow, main wndwdow
WriteOSDClr(_pth,MASTER,WNDW_DS_IN_POS_X,WNDW_DS_IN_POS_Y,WNDW_DS_IN_L,WNDW_DS_IN_H);
WriteOSDClrX(MASTER,WNDW_DS_IN_POS_X-1,WNDW_DS_IN_POS_Y-1,WNDW_DS_IN_L+2,WNDW_DS_IN_H+2);
//
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_DS_IN_RDO_TYPE_X)&&
((_osd_pos_y_ >= WNDW_DS_IN_RDO_TYPE_Y)&&(_osd_pos_y_ <= (WNDW_DS_IN_RDO_TYPE_Y+IN_TYPE_ANLG)))){
_t1_ = _osd_pos_y_ - WNDW_DS_IN_RDO_TYPE_Y;
if(_t1_ != wndw_ds_in_type){
if((_t1_ < IN_TYPE_ANLG)&&(wndw_ds_in_type < IN_TYPE_ANLG)){
//... if select one of rec or dgtl, pass OSD process... (-> redrawndwg protection)
wndw_ds_in_type = _t1_; //... don't move out of if() sentence
SetWndwDsInOSDNum(_pth);
}
else{
wndw_ds_in_type = _t1_;
SetWndwDsInOSDAnlg(_pth);
// SetWndwDsInOSDAnlgRdo(_pth);
// SetWndwDsInOSDAnlgChk(_pth);
SetWndwDsInOSDSpec(_pth);
mse_flg_on_osd = MSE_ON_OSD_HS|MSE_ON_OSD_PX|MSE_ON_OSD_VS|MSE_ON_OSD_LN;
RunWndwDsInOSDArw(_pth,0,0);
SetWndwDsInOSDNum(_pth);
}
// SetWndwDsInOSDType(_pth);
SetWndwDsInOSDTypeRdo(_pth);
// _t1_ = ReadAsicByte(MASTER,DVC_PG1,0x86);
// if(wndw_ds_in_type == IN_TYPE_DGTL) SetBit(_t1_,BIT5);
// else ClearBit(_t1_,BIT5);
// WriteAsicByte(cmn_dvc,DVC_PG1,0x86,_t1_);
if(wndw_ds_in_type == IN_TYPE_DGTL)
SetAsicFlgType(MASTER,DVC_PG1,0x86,BIT5|BIT4,BIT4); //... VBI_ENA=0,VBI_CODE_EN=1
else
SetAsicFlgType(MASTER,DVC_PG1,0x86,BIT5|BIT4,BIT5); //... VBI_ENA=1,VBI_CODE_EN=0
}
}
else if(wndw_ds_in_type == IN_TYPE_ANLG){
if((_osd_pos_x_ == WNDW_DS_IN_RDO_DT_X)&&((_osd_pos_y_ == WNDW_DS_IN_RDO_DT_Y)||(_osd_pos_y_ == (WNDW_DS_IN_RDO_DT_Y+1)))){
if(_osd_pos_y_ == WNDW_DS_IN_RDO_DT_Y){
b_ds_in_auto = ON;
b_ds_in_run = ON;
SetAsicFlgType(MASTER,DVC_PG1,0x86,BIT7|BIT3,BIT7|BIT3); //... AUTO_VBI_DET=1,VBI_RIC_ON=1
}
else{
b_ds_in_auto = OFF;
SetAsicFlgType(MASTER,DVC_PG1,0x86,BIT7,0x00); //... AUTO_VBI_DET=0
}
SetWndwDsInOSDAnlgRdo(_pth);
SetWndwDsInOSDAnlgChk(_pth);
SetWndwDsInOSDSpec(_pth);
mse_flg_on_osd = MSE_ON_OSD_HS|MSE_ON_OSD_PX|MSE_ON_OSD_VS|MSE_ON_OSD_LN;
RunWndwDsInOSDArw(_pth,0,0);
SetWndwDsInOSDNum(_pth);
}
else if(b_ds_in_auto == OFF){
if((_osd_pos_x_ == WNDW_DS_IN_CHK_RN_X)&&(_osd_pos_y_ == WNDW_DS_IN_CHK_RN_Y)){
b_ds_in_run ^= 1;
if(b_ds_in_run == ON)
SetAsicFlgType(MASTER,DVC_PG1,0x86,BIT3,BIT3); //... VBI_RIC_ON=1
else
SetAsicFlgType(MASTER,DVC_PG1,0x86,BIT3,0x00); //... VBI_RIC_ON=0
SetWndwDsInOSDAnlgChk(_pth);
}
else if((_osd_pos_y_ >= WNDW_DS_IN_HS_Y)&&(_osd_pos_y_ <= WNDW_DS_IN_VS_Y)){
// if((b_ds_in_run == OFF)||(b_ds_in_auto == OFF)){
if(b_ds_in_auto == OFF){
if(_osd_pos_x_ == WNDW_DS_IN_DEC_X) RunWndwDsInDec(_pth,_osd_pos_y_);
else if(_osd_pos_x_ == WNDW_DS_IN_INC_X) RunWndwDsInInc(_pth,_osd_pos_y_);
}
}
}
// else if(b_ds_in_run == ON){
// if((_osd_pos_x_ == WNDW_DS_IN_CHK_RN_X)&&(_osd_pos_y_ == WNDW_DS_IN_CHK_AT_Y)){
// _t1_ = ReadAsicByte(MASTER,DVC_PG1,0x86);
// b_ds_in_auto ^= 1;
// if(b_ds_in_auto == ON) SetBit(_t1_,BIT7);
// else ClearBit(_t1_,BIT7);
//
//// SetWndwDsInOSDAnlg(_pth);
// SetWndwDsInOSDAnlgRdo(_pth);
// SetWndwDsInOSDAnlgChk(_pth);
// SetWndwDsInOSDSpec(_pth);
//
// mse_flg_on_osd = MSE_ON_OSD_HS|MSE_ON_OSD_PX|MSE_ON_OSD_VS|MSE_ON_OSD_LN;
//
// RunWndwDsInOSDArw(_pth,0,0);
// SetWndwDsInOSDNum(_pth);
//
// WriteAsicByte(cmn_dvc,DVC_PG1,0x86,_t1_);
// }
// }
}
}
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(wndw_ds_in_type == IN_TYPE_ANLG){
if((wndw_ds_in_type == IN_TYPE_ANLG)&&(b_ds_in_auto == OFF)){
if((_osd_pos_y_ >= WNDW_DS_IN_HS_Y)&&(_osd_pos_y_ <= WNDW_DS_IN_VS_Y)){
// if((b_ds_in_run == OFF)||(b_ds_in_auto == OFF)){
if(_osd_pos_x_ == WNDW_DS_IN_DEC_X) RunWndwDsInDec(_pth,_osd_pos_y_);
else if(_osd_pos_x_ == WNDW_DS_IN_INC_X) RunWndwDsInInc(_pth,_osd_pos_y_);
// }
}
}
}
if(b_mse_pshng_clk_rb == 1) b_mse_pshng_clk_rb = 0;
}
//==================================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -