summaryrefslogtreecommitdiffstats
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
authorDigish Pandya <digishp@codeaurora.org>2013-11-04 06:30:25 +0530
committerDigish Pandya <digishp@codeaurora.org>2013-11-05 09:22:37 +0530
commita5ff739d3c9e15d07f1d5c644b4f11205cdac0e8 (patch)
treeee98034d893f195d9f692735e75ee22a816601da /libs/hwui/OpenGLRenderer.cpp
parent1f8350935caa6a44ef2608e34d4e3a91db4424a7 (diff)
downloadframeworks_base-a5ff739d3c9e15d07f1d5c644b4f11205cdac0e8.zip
frameworks_base-a5ff739d3c9e15d07f1d5c644b4f11205cdac0e8.tar.gz
frameworks_base-a5ff739d3c9e15d07f1d5c644b4f11205cdac0e8.tar.bz2
Update the layer's alpha value upon composition of the layer
Fixes: This patch makes sure that the layer's alpha value is up-to-date and does not reflect the previous view's alpha value. it fixes the square block on marquee fading edge when text view is applied transparency. Change-Id: I110649db72a75fecc02ba56c201a05773f80328c
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 7735819..722cc63 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1000,7 +1000,13 @@ void OpenGLRenderer::composeLayer(sp<Snapshot> current, sp<Snapshot> previous) {
}
} else if (!rect.isEmpty()) {
dirtyLayer(rect.left, rect.top, rect.right, rect.bottom);
+
+ save(0);
+ // the layer contains screen buffer content that shouldn't be alpha modulated
+ // (and any necessary alpha modulation was handled drawing into the layer)
+ mSnapshot->alpha = 1.0f;
composeLayerRect(layer, rect, true);
+ restore();
}
dirtyClip();