diff options
-rw-r--r-- | gyp/effects.gyp | 3 | ||||
-rw-r--r-- | src/effects/SkBlurMask.cpp | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gyp/effects.gyp b/gyp/effects.gyp index e110c9f069..fa9fd275cc 100644 --- a/gyp/effects.gyp +++ b/gyp/effects.gyp @@ -23,6 +23,9 @@ 'sources': [ 'effects.gypi', # Makes the gypi appear in IDEs (but does not modify the build). ], + 'defines': [ + 'SK_IGNORE_FAST_RECT_BLUR=1', + ], 'conditions': [ ['skia_gpu == 1', { 'include_dirs': [ diff --git a/src/effects/SkBlurMask.cpp b/src/effects/SkBlurMask.cpp index 97b5ab3ee9..3b367024fd 100644 --- a/src/effects/SkBlurMask.cpp +++ b/src/effects/SkBlurMask.cpp @@ -1242,7 +1242,7 @@ bool SkBlurMask::BlurRect(SkMask *dst, const SkRect &src, SkScalar provided_radius, Style style, SkIPoint *margin, SkMask::CreateMode createMode) { int profile_size; - + float radius = SkScalarToFloat(SkScalarMul(provided_radius, kBlurRadiusFudgeFactor)); // adjust blur radius to match interpretation from boxfilter code @@ -1356,6 +1356,11 @@ bool SkBlurMask::BlurRect(SkMask *dst, const SkRect &src, uint8_t *dst_scanline = dp + y*dstWidth + pad; memset(dst_scanline, 0, sw); } + } else if (style == kSolid_Style) { + for (int y = pad ; y < dstHeight-pad ; y++) { + uint8_t *dst_scanline = dp + y*dstWidth + pad; + memset(dst_scanline, 0xff, sw); + } } // normal and solid styles are the same for analytic rect blurs, so don't // need to handle solid specially. |