aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/BlurTest.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-07 13:43:38 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-07 13:43:38 +0000
commit2b75f4279a237ceea929ff8ac019f7fbd3ad08b5 (patch)
treef02fe79694898b528571016bc460a5aff3dd5dd7 /tests/BlurTest.cpp
parent9c49bc3e643c435677727c1c0904c4a7cb7a6907 (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.cpp35
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)