aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBlurImageFilter.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-01-05 21:15:07 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-01-05 21:15:07 +0000
commit76dd277b1fa021c42fc3acdd8d61e7dc05f9c267 (patch)
treee937ee3f7762dd64e2066ad018e1327e8648d443 /src/effects/SkBlurImageFilter.cpp
parentc84547a8d3cb04f0547db282b34e26abfbe64ec3 (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.cpp8
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;