diff options
author | Romain Guy <romainguy@google.com> | 2012-09-26 11:25:04 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-09-26 11:25:04 -0700 |
commit | 2ea1045a0148cac45f873fc6324682044d599f73 (patch) | |
tree | 3c2aed78d6602a2f6a6217cce85bbd45c72a4d2f /libs | |
parent | fddedc94b77812ea13afe8cae32ad27d7266f787 (diff) | |
parent | e529ece37f664f8947a1d4a1e27d679f6f286388 (diff) | |
download | frameworks_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.cpp | 10 |
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); |