bool MdpCtrl::setPosition(const overlay::utils::Dim& d, int fbw, int fbh) { // Validatee against FB size if(!d.check(fbw, fbh)) { ALOGE("MdpCtrl setPosition failed dest dim violate screen limits"); return false; } ovutils::Dim dim(d); ovutils::Dim ovsrcdim = getSrcRectDim(); // Scaling of upto a max of 8 times supported if(dim.w >(ovsrcdim.w * ovutils::HW_OV_MAGNIFICATION_LIMIT)){ dim.w = ovutils::HW_OV_MAGNIFICATION_LIMIT * ovsrcdim.w; dim.x = (fbw - dim.w) / 2; } if(dim.h >(ovsrcdim.h * ovutils::HW_OV_MAGNIFICATION_LIMIT)) { dim.h = ovutils::HW_OV_MAGNIFICATION_LIMIT * ovsrcdim.h; dim.y = (fbh - dim.h) / 2; } //dim.even_out(); setDstRectDim(dim); return true; }
bool MdpCtrl::setPosition(const overlay::utils::Dim& d, int fbw, int fbh) { ovutils::Dim dim(d); ovutils::Dim ovsrcdim = getSrcRectDim(); // Scaling of upto a max of 20 times supported if(dim.w >(ovsrcdim.w * ovutils::HW_OV_MAGNIFICATION_LIMIT)){ dim.w = ovutils::HW_OV_MAGNIFICATION_LIMIT * ovsrcdim.w; dim.x = (fbw - dim.w) / 2; } if(dim.h >(ovsrcdim.h * ovutils::HW_OV_MAGNIFICATION_LIMIT)) { dim.h = ovutils::HW_OV_MAGNIFICATION_LIMIT * ovsrcdim.h; dim.y = (fbh - dim.h) / 2; } setDstRectDim(dim); return true; }
void MdpCtrl::setPosition(const overlay::utils::Dim& d) { setDstRectDim(d); }