summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author Chet Haase <chet@google.com> 2012-04-03 15:40:54 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2012-04-03 15:40:54 -0700
commit21aec19d3041fe040004dd32eef0cfd1bafd6fb6 (patch)
treea537409db7054f2faa88b2661cbec9a113bcb7e6 /libs/hwui/OpenGLRenderer.cpp
parent66ac90276a07b63ad74761d0bd0f1a7218babfbf (diff)
parentdb8c9a6a4d9bf8c39f834b25611926caf21380f6 (diff)
Merge "Optimization of alpha with DisplayList properties"
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 115787c87ebc..ec9b56b4ca2d 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1101,6 +1101,7 @@ void OpenGLRenderer::setupDrawColor(int color) {
void OpenGLRenderer::setupDrawColor(int color, int alpha) {
mColorA = alpha / 255.0f;
+ mColorA *= mSnapshot->alpha;
// Second divide of a by 255 is an optimization, allowing us to simply multiply
// the rgb values by a instead of also dividing by 255
const float a = mColorA / 255.0f;
@@ -2800,6 +2801,7 @@ void OpenGLRenderer::getAlphaAndMode(SkPaint* paint, int* alpha, SkXfermode::Mod
*mode = SkXfermode::kSrcOver_Mode;
*alpha = 255;
}
+ *alpha *= mSnapshot->alpha;
}
SkXfermode::Mode OpenGLRenderer::getXfermode(SkXfermode* mode) {