diff options
author | 2011-11-09 16:05:58 +0000 | |
---|---|---|
committer | 2011-11-09 16:05:58 +0000 | |
commit | 60014ca38710d3fc265f4376b05c0fefd0e044cf (patch) | |
tree | e8d3a0d9228caccd4e0f704175f4340dc4302293 /include | |
parent | 82c7bd8f25682fcacfeea12ed899976504a767ff (diff) |
Implement Gaussian blurs for images. The caller creates an an
SkBlurImageFilter, sets it on an SkPaint, passes that paint to saveLayer(),
draws the primitives which are to be blurred, then calls restore(), which
applies the blur. The blurs have separate sizes in the horizontal and vertical
direction. This feature is GPU-only for now.
NB: Due to the clipping change, there are slight pixel differences on the
blurs_gpu and shadows_gpu tests, so those will require rebaselining on all
platforms, as will some of the WebKit layout tests (TBD).
Review URL: http://codereview.appspot.com/5322068/
git-svn-id: http://skia.googlecode.com/svn/trunk@2643 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r-- | include/effects/SkBlurImageFilter.h | 23 | ||||
-rw-r--r-- | include/gpu/GrConfig.h | 2 |
2 files changed, 24 insertions, 1 deletions
diff --git a/include/effects/SkBlurImageFilter.h b/include/effects/SkBlurImageFilter.h new file mode 100644 index 0000000000..ceab31a861 --- /dev/null +++ b/include/effects/SkBlurImageFilter.h @@ -0,0 +1,23 @@ +/* + * Copyright 2011 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#ifndef SkBlurImageFilter_DEFINED +#define SkBlurImageFilter_DEFINED + +#include "SkImageFilter.h" + +class SK_API SkBlurImageFilter : public SkImageFilter { +public: + SkBlurImageFilter(SkScalar sigmaX, SkScalar sigmaY); + virtual bool asABlur(SkSize* sigma) const; +private: + SkSize fSigma; +}; + +#endif + diff --git a/include/gpu/GrConfig.h b/include/gpu/GrConfig.h index bc71792305..d6037f4f97 100644 --- a/include/gpu/GrConfig.h +++ b/include/gpu/GrConfig.h @@ -351,7 +351,7 @@ inline void GrCrash(const char* msg) { GrPrintf(msg); GrAlwaysAssert(false); } * program. */ #if !defined(GR_AGGRESSIVE_SHADER_OPTS) - #define GR_AGGRESSIVE_SHADER_OPTS 0 + #define GR_AGGRESSIVE_SHADER_OPTS 1 #endif /** |