diff options
author | 2013-08-15 18:16:07 +0000 | |
---|---|---|
committer | 2013-08-15 18:16:07 +0000 | |
commit | 96583db7990ec524b6410c539518ebbc9844c5ec (patch) | |
tree | 9a4488b4e01bb0ccf9843bfd2dd7b1ae829f4335 /src | |
parent | aa86fb3237c665c5d091a114402dc6ad87d3c650 (diff) |
Add missing fallback blending to SkA8_Shader_Blitter::blitMask()
Similarly to SkA8_Shader_Blitter::blitAntiH() and SkA8_Shader_Blitter::blitH(), blitMask() should handle a missing SkXfermode gracefully.
R=reed@google.com
Author: fmalita@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22867008
git-svn-id: http://skia.googlecode.com/svn/trunk@10743 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkBlitter_A8.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/SkBlitter_A8.cpp b/src/core/SkBlitter_A8.cpp index 02554643d2..7fca29ecf5 100644 --- a/src/core/SkBlitter_A8.cpp +++ b/src/core/SkBlitter_A8.cpp @@ -336,6 +336,10 @@ void SkA8_Shader_Blitter::blitMask(const SkMask& mask, const SkIRect& clip) { fShader->shadeSpan(x, y, span, width); if (fXfermode) { fXfermode->xferA8(device, span, width, alpha); + } else { + for (int i = width - 1; i >= 0; --i) { + device[i] = aa_blend8(span[i], device[i], alpha[i]); + } } y += 1; |