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

📄 wndw_rc_indx.c

📁 一个比较好用的TW2835音视频芯片开发板的程序,
💻 C
📖 第 1 页 / 共 2 页
字号:
		}
		else if(_osd_pos_y == WNDW_RC_IN_PX_Y){
//			_rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x82);
			_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x82,0x1f);
			if(_rdat_ > 0)	_rdat_--;
			else	_rdat_ = 0x1f;
			SetWndwRcInOSDNumPx(_pth,_rdat_);

			for(_t1_=0;_t1_<cmn_max_ch;_t1_++){
				SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
				if(!(_t1_&0x03))
					SetAsicFlgType(_dvc_,DVC_PG1,0x82,0x1f,_rdat_);
			}
		}
	}
	if((b_rc_in_dgtl == ON)||(b_rc_in_anlg == ON)){
//		if((_osd_pos_y == WNDW_RC_IN_VS_Y)||(_osd_pos_y == WNDW_RC_IN_LN_Y)){
		if(_osd_pos_y == WNDW_RC_IN_VS_Y){
//			_rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x83);
			_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x83,0x1f);
//			if(_osd_pos_y == WNDW_RC_IN_VS_Y){
				_t1_ = _rdat_&0x1f;
				if(_t1_ > 0)	_t1_--;
				else	_t1_ = 0x1f;
				SetWndwRcInOSDNumVs(_pth,_t1_);
				_rdat_ = (_rdat_&0xe0)|_t1_;
//			}
//			else{// if(_osd_pos_y == WNDW_RC_IN_LN_Y){
//				_t1_ = (_rdat_&0xe0)>>5;
//				if(_t1_ > 0)	_t1_--;
//				else	_t1_ = 7;
//				SetWndwRcInOSDNumLn(_pth,_t1_);
//				_rdat_ = (_rdat_&0x1f)|(_t1_<<5);
//			}

			for(_t1_=0;_t1_<cmn_max_ch;_t1_++){
				SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
				if(!(_t1_&0x03))
					SetAsicFlgType(_dvc_,DVC_PG1,0x83,0x1f,_rdat_);
			}
		}
	}
}
//==================================================================================
void	RunWndwRcInInc(U8 _pth, U8 _osd_pos_y)
{
	U8 _rdat_;
	U8 _dvc_, _ch_;
	U8 _t1_;
	
	if(b_rc_in_anlg == ON){
		if(_osd_pos_y == WNDW_RC_IN_HS_Y){
			_rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x81);
//			_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x81,0xff);
			if(_rdat_ < 0xff)	_rdat_++;
			else	_rdat_ = 0;
			SetWndwRcInOSDNumHs(_pth,_rdat_);

			WriteAsicByte(cmn_dvc,DVC_PG1,0x81,_rdat_);
		}
		else if(_osd_pos_y == WNDW_RC_IN_PX_Y){
//			_rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x82);
			_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x82,0x1f);
			if(_rdat_ < 0x1f)	_rdat_++;
			else	_rdat_ = 0;
			SetWndwRcInOSDNumPx(_pth,_rdat_);

			for(_t1_=0;_t1_<cmn_max_ch;_t1_++){
				SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
				if(!(_t1_&0x03))
					SetAsicFlgType(_dvc_,DVC_PG1,0x82,0x1f,_rdat_);
			}
		}
	}
	if((b_rc_in_dgtl == ON)||(b_rc_in_anlg == ON)){
//		if((_osd_pos_y == WNDW_RC_IN_VS_Y)||(_osd_pos_y == WNDW_RC_IN_LN_Y)){
		if(_osd_pos_y == WNDW_RC_IN_VS_Y){
//			_rdat_ = ReadAsicByte(MASTER,DVC_PG1,0x83);
			_rdat_ = GetAsicFlgType(MASTER,DVC_PG1,0x83,0x1f);
//			if(_osd_pos_y == WNDW_RC_IN_VS_Y){
				_t1_ = _rdat_&0x1f;
				if(_t1_ < 0x1f)	_t1_++;
				else	_t1_ = 0;
				SetWndwRcInOSDNumVs(_pth,_t1_);
				_rdat_ = (_rdat_&0xe0)|_t1_;
//			}
//			else{// if(_osd_pos_y == WNDW_RC_IN_LN_Y){
//				_t1_ = (_rdat_&0xe0)>>5;
//				if(_t1_ < 7)	_t1_++;
//				else	_t1_ = 0;
//				SetWndwRcInOSDNumLn(_pth,_t1_);
//				_rdat_ = (_rdat_&0x1f)|(_t1_<<5);
//			}

			for(_t1_=0;_t1_<cmn_max_ch;_t1_++){
				SetCrntDvcCh(_t1_,&_dvc_,&_ch_);
				if(!(_t1_&0x03))
					SetAsicFlgType(_dvc_,DVC_PG1,0x83,0x1f,_rdat_);
			}
		}
	}
}
//==================================================================================
void	RunWndwRcIn(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(b_rc_in_anlg == ON)
		RunWndwRcInOSDArwH(_pth,_osd_pos_x_,_osd_pos_y_);
	if((b_rc_in_dgtl == ON)||(b_rc_in_anlg == ON))
		RunWndwRcInOSDArwV(_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_RC_IN_CLOS_X)&&(_osd_pos_y_ == WNDW_RC_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_RC_IN_CLOS_X)&&(_osd_pos_y_ == WNDW_RC_IN_CLOS_Y)){
//			SetBoxBtnStrPull(BOX_WNDW_QUIT);
			
			WriteOSDClr(_pth,MASTER,WNDW_RC_IN_POS_X,WNDW_RC_IN_POS_Y,WNDW_RC_IN_L,WNDW_RC_IN_H);
			WriteOSDClrX(MASTER,WNDW_RC_IN_POS_X-1,WNDW_RC_IN_POS_Y-1,WNDW_RC_IN_L+2,WNDW_RC_IN_H+2);
//			DisableBox(_pth,IN_BOX_DECO,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_RC_IN_CHK_TYPE_X){
			if((_osd_pos_y_ >= WNDW_RC_IN_CHK_TYPE_Y)&&(_osd_pos_y_ <= (WNDW_RC_IN_CHK_TYPE_Y+2))){
				if(_osd_pos_y_ == WNDW_RC_IN_CHK_TYPE_Y){
					b_rc_in_bnd ^= 1;

					_t1_ = ReadAsicByte(MASTER,DVC_PG1,0x55);
					if(b_rc_in_bnd == ON)	SetBit(_t1_,BIT4);
					else	ClearBit(_t1_,BIT4);
					WriteAsicByte(cmn_dvc,DVC_PG1,0x55,_t1_);
				}
				else{
					_t1_ = ReadAsicByte(MASTER,DVC_PG1,0x80);
					if(_osd_pos_y_ == (WNDW_RC_IN_CHK_TYPE_Y+1)){
						b_rc_in_dgtl ^= 1;

						if(b_rc_in_dgtl == ON)	SetBit(_t1_,BIT2);
						else	ClearBit(_t1_,BIT2);
					}
					else{
						b_rc_in_anlg ^= 1;

						if(b_rc_in_anlg == ON){
							SetBit(_t1_,BIT6|BIT4|BIT3|BIT1);
							b_rc_in_dtct = ON;
							b_rc_in_usr = ON;
							b_rc_in_run = ON;
						}
						else{
							ClearBit(_t1_,BIT6|BIT4|BIT3|BIT1);
							b_rc_in_dtct = OFF;
							b_rc_in_usr = OFF;
							b_rc_in_run = OFF;
						}

						SetWndwRcInOSDAnlg(_pth);
					}
					SetWndwRcInOSDSpec(_pth);
					
					mse_flg_on_osd = MSE_ON_OSD_HS|MSE_ON_OSD_PX|MSE_ON_OSD_VS|MSE_ON_OSD_LN;
					
					RunWndwRcInOSDArwH(_pth,0,0);
					RunWndwRcInOSDArwV(_pth,0,0);
					SetWndwRcInOSDNum(_pth);

					WriteAsicByte(cmn_dvc,DVC_PG1,0x80,_t1_);
				}
				
				SetWndwRcInOSDType(_pth);
			}
		}
		else if(_osd_pos_x_ == WNDW_RC_IN_CHK_X0){
			if(b_rc_in_anlg == ON){
//				if((_osd_pos_y_ == WNDW_RC_IN_CHK_DT_Y)||(_osd_pos_y_ == WNDW_RC_IN_CHK_RN_Y)){
				if((_osd_pos_y_ == WNDW_RC_IN_CHK_DT_Y)||(_osd_pos_y_ == WNDW_RC_IN_CHK_UR_Y)||(_osd_pos_y_ == WNDW_RC_IN_CHK_RN_Y)){
						_t1_ = ReadAsicByte(MASTER,DVC_PG1,0x80);
					if(_osd_pos_y_ == WNDW_RC_IN_CHK_DT_Y){
						b_rc_in_dtct ^= 1;

//						_t1_ = ReadAsicByte(MASTER,DVC_PG1,0x80);
						if(b_rc_in_dtct == ON)	SetBit(_t1_,BIT4);
						else	ClearBit(_t1_,BIT4);
//						WriteAsicByte(cmn_dvc,DVC_PG1,0x80,_t1_);
					}
					else if(_osd_pos_y_ == WNDW_RC_IN_CHK_UR_Y){
						b_rc_in_usr ^= 1;

//						_t1_ = ReadAsicByte(MASTER,DVC_PG1,0x80);
						if(b_rc_in_usr == ON)	SetBit(_t1_,BIT3);
						else	ClearBit(_t1_,BIT3);
//						WriteAsicByte(cmn_dvc,DVC_PG1,0x80,_t1_);
					}
					else{
						b_rc_in_run ^= 1;

//						_t1_ = ReadAsicByte(MASTER,DVC_PG1,0x80);
						if(b_rc_in_run == ON)	SetBit(_t1_,BIT1);
						else	ClearBit(_t1_,BIT1);
//						WriteAsicByte(cmn_dvc,DVC_PG1,0x80,_t1_);
					}
						WriteAsicByte(cmn_dvc,DVC_PG1,0x80,_t1_);
					
					SetWndwRcInOSDAnlgChk(_pth);
				}
			}
		}
		else if((_osd_pos_y_ >= WNDW_RC_IN_HS_Y)&&(_osd_pos_y_ <= WNDW_RC_IN_VS_Y)){
			if(_osd_pos_x_ == WNDW_RC_IN_DEC_X)	RunWndwRcInDec(_pth,_osd_pos_y_);
			else if(_osd_pos_x_ == WNDW_RC_IN_INC_X)	RunWndwRcInInc(_pth,_osd_pos_y_);
		}
	}
	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((_osd_pos_y_ >= WNDW_RC_IN_HS_Y)&&(_osd_pos_y_ <= WNDW_RC_IN_VS_Y)){
				if(_osd_pos_x_ == WNDW_RC_IN_DEC_X)	RunWndwRcInDec(_pth,_osd_pos_y_);
				else if(_osd_pos_x_ == WNDW_RC_IN_INC_X)	RunWndwRcInInc(_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 + -