diff options
| author | 2012-04-03 15:40:54 -0700 | |
|---|---|---|
| committer | 2012-04-03 15:40:54 -0700 | |
| commit | 21aec19d3041fe040004dd32eef0cfd1bafd6fb6 (patch) | |
| tree | a537409db7054f2faa88b2661cbec9a113bcb7e6 /libs/hwui/OpenGLRenderer.cpp | |
| parent | 66ac90276a07b63ad74761d0bd0f1a7218babfbf (diff) | |
| parent | db8c9a6a4d9bf8c39f834b25611926caf21380f6 (diff) | |
Merge "Optimization of alpha with DisplayList properties"
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 2 |
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) { |