aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-08-15 18:16:07 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-08-15 18:16:07 +0000
commit96583db7990ec524b6410c539518ebbc9844c5ec (patch)
tree9a4488b4e01bb0ccf9843bfd2dd7b1ae829f4335 /src
parentaa86fb3237c665c5d091a114402dc6ad87d3c650 (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.cpp4
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;