📄 osd_deco.c
字号:
_vt_ = _pos_y-1;
_vb_ = _vt_+_hght+1;
WriteOSDFnt(_pth,MASTER,_hl_,_vt_,_prp,OSD_GRP_LT);
WriteOSDFnt(_pth,MASTER,_hl_,_vb_,_prp,OSD_GRP_LB);
WriteOSDFnt(_pth,MASTER,_hr_,_vt_,_prp,OSD_GRP_RT);
WriteOSDFnt(_pth,MASTER,_hr_,_vb_,_prp,OSD_GRP_RB);
if(_str != str_null)
WriteOSDStr(_pth,MASTER,_pos_x,_vt_,_prp,_str);
else
WriteOSDFnt(_pth,MASTER,_pos_x,_vt_,_prp,OSD_GRP_LH);
// _t2_ = _hr_-1;
// for(_t1_=_pos_x;_t1_<=_t2_;_t1_++){
for(_t1_=_pos_x;_t1_<_hr_;_t1_++){
if(_t1_>=(_pos_x+_lngth_)) WriteOSDFnt(_pth,MASTER,_t1_,_vt_,_prp,OSD_GRP_LH);
WriteOSDFnt(_pth,MASTER,_t1_,_vb_,_prp,OSD_GRP_LH);
}
// _t2_ = _vb_-1;
// for(_t1_=_pos_y;_t1_<=_t2_;_t1_++){
for(_t1_=_pos_y;_t1_<_vb_;_t1_++){
WriteOSDFnt(_pth,MASTER,_hl_,_t1_,_prp,OSD_GRP_LV);
WriteOSDFnt(_pth,MASTER,_hr_,_t1_,_prp,OSD_GRP_LV);
}
//... 荐沥吝
// U8 _hl_, _hr_, _vt_, _vb_;
//
// _hl_ = ((_pos_x-1)<<2) - 2;//3; //... hl
// _hr_ = _hl_ + ((_lngth+1)<<2) + 3;//5; //... hr
// _vt_ = ((_pos_y-1)*10) - 1; //... vt
// _vb_ = _vt_ + ((_hght+1)*10) + 2;// + 3;// //... vb
//
// WriteOSDLnVY(MASTER,_hl_-1,_vt_-1,OSD_LN_V_GRP,_vb_+2,_prp,0x00); //... HL
// WriteOSDLnVY(MASTER,_hr_,_vt_,OSD_LN_V_GRP,_vb_+1,_prp,0x00); //... HR
//
// WriteOSDSqrY(MASTER,_hl_,_hr_,OSD_POS_V_EVEN|(_vt_-2),OSD_POS_V_EVEN|(_vt_-1),_prp,OSD_COL_BLK); //... VT
// WriteOSDSqrY(MASTER,_hl_,_hr_,_vt_-1,_vt_,_prp,OSD_COL_75WHT); //... VT
// WriteOSDSqrY(MASTER,_hl_,_hr_,OSD_POS_V_ODD|(_vt_+0),OSD_POS_V_ODD|(_vt_+1),_prp,OSD_COL_BLK); //... VT
//
// WriteOSDSqrY(MASTER,_hl_,_hr_,OSD_POS_V_EVEN|(_vb_-2),OSD_POS_V_EVEN|(_vb_-1),_prp,OSD_COL_BLK); //... VT
// WriteOSDSqrY(MASTER,_hl_,_hr_,_vb_-1,_vb_,_prp,OSD_COL_75WHT); //... VT
// WriteOSDSqrY(MASTER,_hl_,_hr_,OSD_POS_V_ODD|(_vb_+0),OSD_POS_V_ODD|(_vb_+1),_prp,OSD_COL_BLK); //... VT
//
// WriteOSDFnt(_pth,MASTER,_pos_x-1,_pos_y-1,_prp,OSD_GRP_LT);
// WriteOSDFnt(_pth,MASTER,_pos_x-1,_vt_+_hght+1,_prp,OSD_GRP_LB);
// WriteOSDFnt(_pth,MASTER,_hl_+_lngth+1,_pos_y-1,_prp,OSD_GRP_RT);
// WriteOSDFnt(_pth,MASTER,_hl_+_lngth+1,_vt_+_hght+1,_prp,OSD_GRP_RB);
//
// WriteOSDStr(_pth,MASTER,_pos_x,_pos_y-1,_prp,_str);
}
//==================================================================================
//void SetOSDWndwFrm(U8 _osd_pos_x, U8 _osd_pos_y, U8 _lngth, U8 _hght)
//{
// _osd_pos_x = (_osd_pos_x<<2) - 2;//3; //... hl
// _lngth = _osd_pos_x + (_lngth<<2) + 4;//5; //... hr
// _osd_pos_y = (_osd_pos_y*10) - 1; //... vt
// _hght = _osd_pos_y + (_hght*10) + 3;//10; //... vb
//
// //... frame
// WriteOSDSqrX(MASTER,_osd_pos_x,_lngth,_osd_pos_y,_hght,OSD_MIX,OSD_COL_BLU); //... 16x20 font 扁霖 酒丛.
//}
////==================================================================================
//void SetOSDWndwTtl(U8 _osd_pos_x, U8 _osd_pos_y, U8 _lngth)
//{
// _osd_pos_x = (_osd_pos_x<<2) - 2;//3; //... hl
// _lngth = _osd_pos_x + (_lngth<<2) + 4;//3;// //... hr
// _osd_pos_y = (_osd_pos_y*10);//-1; //... vt
//
// WriteOSDSqrX(MASTER,_osd_pos_x,_lngth,_osd_pos_y,_osd_pos_y+10,OSD_MIX,OSD_COL_RED); //... 16x20 font 扁霖 酒丛.
//}
////==================================================================================
//void SetOSDWndwBnd(U8 _osd_pos_x, U8 _osd_pos_y, U8 _lngth, U8 _hght)
//{
// _osd_pos_x = (_osd_pos_x<<2) - 2;//3; //... hl
// _lngth = _osd_pos_x + (_lngth<<2) + 4;//5; //... hr
// _osd_pos_y = (_osd_pos_y*10) - 1; //... vt
// _hght = _osd_pos_y + (_hght*10) + 3;//10; //... vb
//
// //... boundary (3D)
// WriteOSDLnVX(MASTER,_osd_pos_x-1,_osd_pos_y,OSD_LN_V_R,_hght+2,OSD_MIX,OSD_COL_100WHT); //HL... 16x20 font 扁霖 酒丛.
// WriteOSDLnVX(MASTER,_lngth,_osd_pos_y+1,OSD_LN_V_3D,_hght,OSD_MIX,0x00); //HR 2 Type... 16x20 font 扁霖 酒丛.
// WriteOSDSqrX(MASTER,_osd_pos_x,_lngth,_osd_pos_y,_osd_pos_y+1,OSD_MIX,OSD_COL_100WHT); //VT... 16x20 font 扁霖 酒丛.
// WriteOSDSqrX(MASTER,_osd_pos_x,_lngth,_hght,_hght+1,OSD_MIX,OSD_COL_25WHT); //VB TOP... 16x20 font 扁霖 酒丛.
// WriteOSDSqrX(MASTER,_osd_pos_x,_lngth+1,_hght+1,_hght+2,OSD_MIX,OSD_COL_BLK); //VB BOT... 16x20 font 扁霖 酒丛.
//}
//==================================================================================
//void SetOSDWndwQuit(U8 _pth, U8 _osd_pos_x, U8 _osd_pos_y)
//{
// U16 _boxhl_, _boxvt_;
//
// _boxhl_ = (_osd_pos_x<<3)-2;
// _boxvt_ = (_osd_pos_y*10)+OSD_DLY_V;
//
// SetBox(_box_num,_boxhl_,6,_boxvt_,5);
//// SetBoxMix(_box_num,_box_num,ON);
//// SetBoxBnd(_box_num,_box_num,BOX_OBND);
//// EnableBox(_pth,_box_num,_box_num);
// SetBoxMix(_pth,_box_num,ON);
// SetBoxBnd(_pth,_box_num,ON);//BOX_OBND);
// EnableBox(_pth,_box_num);//,_box_num);
//
// WriteOSDFnt(_pth,MASTER,_osd_pos_x,_osd_pos_y,0x00,OSD_QUIT);
//}
//==================================================================================
void SetOSDWndw(U8 _pth, U8 _box_type, U8 _osd_pos_x, U8 _osd_pos_y, U8 _lngth, U8 _hght, U8 code *_str)
{
U8 _hl_,_hr_;
U16 _vt_,_vb_;
if(_box_type == OSD_WNDW_TYPE_MAIN){
_hl_ = (_osd_pos_x<<2) - 2;//3; //... hl
_hr_ = _hl_ + (_lngth<<2) + 3;//5; //... hr
_vt_ = (_osd_pos_y*10) - 1; //... vt
_vb_ = _vt_ + (_hght*10) + 3;//10; //... vb
//... main frame
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vt_,OSD_POS_V_EVEN|_vb_,OSD_MIX,OSD_COL_BLU);
//... title bar
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vt_,OSD_POS_V_EVEN|(_vt_+11),OSD_MIX,OSD_COL_RED);
//... boundary (3D)
WriteOSDLnVX(MASTER,_hl_-1,OSD_POS_V_ODD|(_vt_-1),OSD_LN_V_R,OSD_POS_V_EVEN|(_vb_+1),OSD_MIX,OSD_COL_100WHT); //... HL
WriteOSDLnVX(MASTER,_hr_,OSD_POS_V_ODD|_vt_,OSD_LN_V_3D,OSD_POS_V_EVEN|_vb_,OSD_MIX,0x00); //... HR 2 Type
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|(_vt_-1),OSD_POS_V_EVEN|(_vt_-1),OSD_MIX,OSD_COL_100WHT); //... VT
WriteOSDSqrX(MASTER,_hl_,_hr_-1,OSD_POS_V_ODD|_vb_,OSD_POS_V_EVEN|_vb_,OSD_MIX,OSD_COL_25WHT); //... VB TOP
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|(_vb_+1),OSD_POS_V_EVEN|(_vb_+1),OSD_MIX,OSD_COL_BLK); //... VB BOT
WriteOSDFnt(_pth,MASTER,_osd_pos_x+_lngth-1,_osd_pos_y,0x00,OSD_QUIT);
// WriteAsicString(_pth,_osd_pos_x,_osd_pos_y,0x00,_str);
WriteOSDStr(_pth,MASTER,_osd_pos_x,_osd_pos_y,0x00,_str);
}
else if(_box_type == OSD_WNDW_TYPE_BTN){
_hl_ = (_osd_pos_x<<2) - 2;//3; //... hl
_hr_ = _hl_ + (_lngth<<2) + 3;//5; //... hr
_vt_ = (_osd_pos_y*10) - 1; //... vt
_vb_ = _vt_ + (_hght*10) + 2;// + 3;// //... vb
//... boundary (3D)
WriteOSDLnVX(MASTER,_hl_-1,OSD_POS_V_ODD|(_vt_-1),OSD_LN_V_BTN,OSD_POS_V_EVEN|(_vb_+1),OSD_MIX,0x00); //... HL
WriteOSDLnVX(MASTER,_hr_,OSD_POS_V_ODD|_vt_,OSD_LN_V_3D,OSD_POS_V_EVEN|_vb_,OSD_MIX,0x00); //... HR
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|(_vt_-1),OSD_POS_V_EVEN|(_vt_-1),OSD_MIX,OSD_COL_75WHT); //... VT
WriteOSDSqrX(MASTER,_hl_,_hr_-1,OSD_POS_V_ODD|_vb_,OSD_POS_V_EVEN|_vb_,OSD_MIX,OSD_COL_25WHT); //... VB TOP
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|(_vb_+1),OSD_POS_V_EVEN|(_vb_+1),OSD_MIX,OSD_COL_BLK); //... VB BOT
}
else if(_box_type == OSD_WNDW_TYPE_DT_BLK){
_hl_ = (_osd_pos_x<<2) + 1; //... hl
_hr_ = _hl_ + 1; //... hr
_vt_ = (_osd_pos_y*10) + 1; //... vt
_vb_ = _vt_ + 4; //... vb
//... boundary (3D)
WriteOSDLnVX(MASTER,_hl_,OSD_POS_V_ODD|_vt_,OSD_LN_V_DT_BLK_L,OSD_POS_V_EVEN|_vb_,0x00,OSD_COL_YLW); //... HL
WriteOSDLnVX(MASTER,_hr_,OSD_POS_V_ODD|_vt_,OSD_LN_V_DT_BLK_R,OSD_POS_V_EVEN|_vb_,0x00,OSD_COL_YLW); //... HR
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vt_,OSD_POS_V_EVEN|_vt_,0x00,OSD_COL_YLW); //... VT
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vb_,OSD_POS_V_EVEN|_vb_,0x00,OSD_COL_YLW); //... VB TOP
}
else if(_box_type == OSD_WNDW_TYPE_DT_CHK){
_hl_ = (_osd_pos_x<<2) + 1; //... hl
_hr_ = _hl_ + 1; //... hr
_vt_ = (_osd_pos_y*10) + 1; //... vt
_vb_ = _vt_ + 4; //... vb
//... boundary (3D)
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vt_,OSD_POS_V_EVEN|_vb_,0x00,OSD_COL_YLW);
}
else if(_box_type == OSD_WNDW_TYPE_DT_MIX){
_hl_ = (_osd_pos_x<<2) + 1; //... hl
_hr_ = _hl_ + 1; //... hr
_vt_ = (_osd_pos_y*10) + 1; //... vt
_vb_ = _vt_ + 4; //... vb
//... boundary (3D)
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vt_,OSD_POS_V_EVEN|_vb_,OSD_MIX,OSD_COL_OCN);
}
else if(_box_type == OSD_WNDW_TYPE_DECO){
_hl_ = (_osd_pos_x<<2) - 3; //... hl
_hr_ = _hl_ + (_lngth<<2) + 4; //... hr
_vt_ = (_osd_pos_y*10) - 5; //... vt
_vb_ = _vt_ + (_hght*10) + 9;//10; //... vb
//... main frame
WriteOSDSqrX(MASTER,_hl_,_hr_,OSD_POS_V_ODD|_vt_,OSD_POS_V_EVEN|_vb_,OSD_MIX,OSD_COL_ORNG);
}
// else if(_box_type == OSD_CLR){
// }
}
//==================================================================================
//U8 GetOSDAdo(U8 _flg_new)//, U8 _flg_old)
//{
// U16 _wt1_, _wt2_;
//
//// TR0 = 1; //... start timer0
//
// _wt2_ = ((tbl_osd_irq_spkr[OSD_TBL_V_SZ_MSB]<<8)+tbl_osd_irq_spkr[OSD_TBL_V_SZ_LSB])>>1;
//
// if(b_cmn_jp_vdo == VDO_NTSC) _wt1_ = OSD_SPKR01_POS_Y;
// else _wt1_ = OSD_SPKR01_POS_Y+(_wt2_<<1); //... 10 line x 2
//
//// if(BitClear(_flg_new,BIT0))
//// WriteOSDBmpX(MASTER,OSD_SPKR02_POS_X,_wt1_,0x00,0x01,tbl_osd_irq_spkr);
//// else
//// WriteOSDBmpX(MASTER,OSD_SPKR02_POS_X,_wt1_,0x00,0x00,tbl_osd_irq_spkr);
////
//// if(BitClear(_flg_new,BIT1))
//// WriteOSDBmpX(MASTER,OSD_SPKR13_POS_X,_wt1_,0x00,0x02,tbl_osd_irq_spkr);
//// else
//// WriteOSDBmpX(MASTER,OSD_SPKR13_POS_X,_wt1_,0x00,0x03,tbl_osd_irq_spkr);
////
//// if(BitClear(_flg_new,BIT2))
//// WriteOSDBmpX(MASTER,OSD_SPKR02_POS_X,_wt1_+_wt2_,0x00,0x01,tbl_osd_irq_spkr);
//// else
//// WriteOSDBmpX(MASTER,OSD_SPKR02_POS_X,_wt1_+_wt2_,0x00,0x00,tbl_osd_irq_spkr);
//
// if(BitClear(_flg_new,BIT3))
// WriteOSDBmpX(MASTER,OSD_SPKR13_POS_X,_wt1_+_wt2_,0x00,0x02,tbl_osd_irq_spkr);
// else
// WriteOSDBmpX(MASTER,OSD_SPKR13_POS_X,_wt1_+_wt2_,0x00,0x03,tbl_osd_irq_spkr);
//
//// TR0 = 0; //... stop timer0
//
// return _flg_new;
//}
////==================================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -