Index: src/effects/SkBlurMask.h |
diff --git a/src/effects/SkBlurMask.h b/src/effects/SkBlurMask.h |
index f5c9f1d05078b4a822bafca6fe53e8c99782f569..39adb96f9a077970895ae6176ecc4e7202e0e50a 100644 |
--- a/src/effects/SkBlurMask.h |
+++ b/src/effects/SkBlurMask.h |
@@ -23,9 +23,16 @@ public: |
SkIPoint *margin = NULL, |
SkMask::CreateMode createMode = |
SkMask::kComputeBoundsAndRenderImage_CreateMode); |
+ |
+ // forceQuality will prevent BoxBlur from falling back to the low quality approach when sigma |
+ // is very small -- this can be used predict the margin bump ahead of time without completely |
+ // replicating the internal logic. This permits not only simpler caching of blurred results, |
+ // but also being able to predict precisely at what pixels the blurred profile of e.g. a |
+ // rectangle will lie. |
+ |
static bool BoxBlur(SkMask* dst, const SkMask& src, |
SkScalar sigma, SkBlurStyle style, SkBlurQuality quality, |
- SkIPoint* margin = NULL); |
+ SkIPoint* margin = NULL, bool force_quality=false); |
// the "ground truth" blur does a gaussian convolution; it's slow |
// but useful for comparison purposes. |