|
|
板凳

楼主 |
发表于 2016-5-23 13:23:06
|
只看该作者
最终的解决方法使用修改Lay.cpp文件
void Layer::setGeometry(
const sp<const DisplayDevice>& hw,
HWComposer::HWCLayerInterface& layer)
{
layer.setDefaultState();
// enable this layer
layer.setSkip(false);
if (isSecure() && !hw->isSecure()) {
layer.setSkip(true);
}
// this gives us only the "orientation" component of the transform
const State& s(getDrawingState());
if (!isOpaque(s) || s.alpha != 0xFF) {
layer.setBlending(mPremultipliedAlpha ?
HWC_BLENDING_PREMULT :
HWC_BLENDING_COVERAGE);
}
// apply the layer's transform, followed by the display's global transform
// here we're guaranteed that the layer's transform preserves rects
Rect frame(s.transform.transform(computeBounds()));
if(strcmp(getName().string(),"BootAnimation") == 0)swap(frame.right, frame.bottom);;//zcfdebug++
frame.intersect(hw->getViewport(), &frame);
//if(strcmp(getName().string(),"BootAnimation") == 0)frame.bottom=1920;//zcfdebug++
const Transform& tr(hw->getTransform());
layer.setFrame(tr.transform(frame));
layer.setCrop(computeCrop(hw));
layer.setPlaneAlpha(s.alpha);
..........................
.......................... |
|