diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-01-05 21:15:07 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-01-05 21:15:07 +0000 |
commit | 76dd277b1fa021c42fc3acdd8d61e7dc05f9c267 (patch) | |
tree | e937ee3f7762dd64e2066ad018e1327e8648d443 /src/effects/SkBlurImageFilter.cpp | |
parent | c84547a8d3cb04f0547db282b34e26abfbe64ec3 (diff) |
add filterImage() entry-point to SkDevice, to allow it to specialize on subclasses
of SkImageFilter. If that returns false, then the filter itself is invoked.
git-svn-id: http://skia.googlecode.com/svn/trunk@2977 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects/SkBlurImageFilter.cpp')
-rw-r--r-- | src/effects/SkBlurImageFilter.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/effects/SkBlurImageFilter.cpp b/src/effects/SkBlurImageFilter.cpp index 490a5b6244..1446e92117 100644 --- a/src/effects/SkBlurImageFilter.cpp +++ b/src/effects/SkBlurImageFilter.cpp @@ -133,12 +133,18 @@ static void getBox3Params(SkScalar s, int *kernelSize, int* kernelSize3, int *lo } } -bool SkBlurImageFilter::onFilterImage(const SkBitmap& src, const SkMatrix&, +bool SkBlurImageFilter::onFilterImage(Proxy*, + const SkBitmap& src, const SkMatrix&, SkBitmap* dst, SkIPoint*) { if (src.config() != SkBitmap::kARGB_8888_Config) { return false; } + SkAutoLockPixels alp(src); + if (!src.getPixels()) { + return false; + } + dst->setConfig(src.config(), src.width(), src.height()); dst->allocPixels(); int kernelSizeX, kernelSizeX3, lowOffsetX, highOffsetX; |