Pass width/height parameters to webview
When webview draws into an fbo layer, it needs to know the size of that surface to create the rendering transform appropriately. This change copies in the current viewport size to the structure that is passed to the webview. Change-Id: I7160b0836d00834134c799c95a439cdc045e2035
This commit is contained in:
@@ -31,6 +31,10 @@ struct DrawGlInfo {
|
||||
int clipRight;
|
||||
int clipBottom;
|
||||
|
||||
// Input: current width/height of destination surface
|
||||
int width;
|
||||
int height;
|
||||
|
||||
// Input: is the render target an FBO
|
||||
bool isLayer;
|
||||
|
||||
|
||||
@@ -249,6 +249,8 @@ status_t OpenGLRenderer::invokeFunctors(Rect& dirty) {
|
||||
info.clipRight = 0;
|
||||
info.clipBottom = 0;
|
||||
info.isLayer = false;
|
||||
info.width = 0;
|
||||
info.height = 0;
|
||||
memset(info.transform, 0, sizeof(float) * 16);
|
||||
|
||||
size_t count = functors.size();
|
||||
@@ -292,6 +294,8 @@ status_t OpenGLRenderer::callDrawGLFunction(Functor* functor, Rect& dirty) {
|
||||
info.clipRight = clip.right;
|
||||
info.clipBottom = clip.bottom;
|
||||
info.isLayer = hasLayer();
|
||||
info.width = getSnapshot()->viewport.getWidth();
|
||||
info.height = getSnapshot()->height;
|
||||
getSnapshot()->transform->copyTo(&info.transform[0]);
|
||||
|
||||
status_t result = (*functor)(DrawGlInfo::kModeDraw, &info);
|
||||
|
||||
Reference in New Issue
Block a user