summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-09-26 11:25:04 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-26 11:25:04 -0700
commit2ea1045a0148cac45f873fc6324682044d599f73 (patch)
tree3c2aed78d6602a2f6a6217cce85bbd45c72a4d2f /libs
parentfddedc94b77812ea13afe8cae32ad27d7266f787 (diff)
parente529ece37f664f8947a1d4a1e27d679f6f286388 (diff)
downloadframeworks_base-2ea1045a0148cac45f873fc6324682044d599f73.zip
frameworks_base-2ea1045a0148cac45f873fc6324682044d599f73.tar.gz
frameworks_base-2ea1045a0148cac45f873fc6324682044d599f73.tar.bz2
Merge "Applies a layer's color filter even when the layer is a quad Bug #7238059" into jb-mr1-dev
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index d0d1d93..87c3a47 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -2729,13 +2729,13 @@ status_t OpenGLRenderer::drawLayer(Layer* layer, float x, float y, SkPaint* pain
mCaches.activeTexture(0);
if (CC_LIKELY(!layer->region.isEmpty())) {
+ SkiaColorFilter* oldFilter = mColorFilter;
+ mColorFilter = layer->getColorFilter();
+
if (layer->region.isRect()) {
composeLayerRect(layer, layer->regionRect);
} else if (layer->mesh) {
const float a = layer->getAlpha() / 255.0f;
- SkiaColorFilter *oldFilter = mColorFilter;
- mColorFilter = layer->getColorFilter();
-
setupDraw();
setupDrawWithTexture();
setupDrawColor(a, a, a, a);
@@ -2764,13 +2764,13 @@ status_t OpenGLRenderer::drawLayer(Layer* layer, float x, float y, SkPaint* pain
finishDrawTexture();
- mColorFilter = oldFilter;
-
#if DEBUG_LAYERS_AS_REGIONS
drawRegionRects(layer->region);
#endif
}
+ mColorFilter = oldFilter;
+
if (debugLayerUpdate) {
drawColorRect(x, y, x + layer->layer.getWidth(), y + layer->layer.getHeight(),
0x7f00ff00, SkXfermode::kSrcOver_Mode);