diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-07-07 13:43:38 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-07-07 13:43:38 +0000 |
commit | 2b75f4279a237ceea929ff8ac019f7fbd3ad08b5 (patch) | |
tree | f02fe79694898b528571016bc460a5aff3dd5dd7 /tests/BlurTest.cpp | |
parent | 9c49bc3e643c435677727c1c0904c4a7cb7a6907 (diff) |
add asABlur() to maskfilters, so devices like gpu and pdf can query them.
git-svn-id: http://skia.googlecode.com/svn/trunk@1816 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests/BlurTest.cpp')
-rw-r--r-- | tests/BlurTest.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/BlurTest.cpp b/tests/BlurTest.cpp new file mode 100644 index 0000000000..c960ff2eea --- /dev/null +++ b/tests/BlurTest.cpp @@ -0,0 +1,35 @@ +#include "Test.h" +#include "SkBlurMaskFilter.h" +#include "SkRandom.h" + +/////////////////////////////////////////////////////////////////////////////// + +#define ILLEGAL_MODE ((SkXfermode::Mode)-1) + +static void test_blur(skiatest::Reporter* reporter) { + SkScalar radius = SkIntToScalar(2); + + for (int i = 0; i < SkBlurMaskFilter::kBlurStyleCount; ++i) { + SkMaskFilter* filter; + SkMaskFilter::BlurInfo info; + + uint32_t flags = i & 3; + + filter = SkBlurMaskFilter::Create(radius, (SkBlurMaskFilter::BlurStyle)i, + flags); + + sk_bzero(&info, sizeof(info)); + SkMaskFilter::BlurType type = filter->asABlur(&info); + REPORTER_ASSERT(reporter, type == (SkMaskFilter::BlurType)(i + 1)); + REPORTER_ASSERT(reporter, info.fRadius == radius); + REPORTER_ASSERT(reporter, info.fIgnoreTransform == + SkToBool(flags & SkBlurMaskFilter::kIgnoreTransform_BlurFlag)); + REPORTER_ASSERT(reporter, info.fHighQuality == + SkToBool(flags & SkBlurMaskFilter::kHighQuality_BlurFlag)); + + filter->unref(); + } +} + +#include "TestClassDef.h" +DEFINE_TESTCLASS("BlurMaskFilter", BlurTestClass, test_blur) |