diff options
author | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2009-09-18 20:57:05 +0000 |
---|---|---|
committer | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2009-09-18 20:57:05 +0000 |
commit | da449a38a2ac06f47f504cef7897afe322981dae (patch) | |
tree | 8c1d0b1f40b443dcd1b592076a97be683e271041 /samplecode | |
parent | 0e3c664250f561ec9f7107b92136517a72d03afd (diff) |
update with tests for blur
git-svn-id: http://skia.googlecode.com/svn/trunk@357 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleBlur.cpp | 29 | ||||
-rw-r--r-- | samplecode/SampleStrokePath.cpp | 32 |
2 files changed, 56 insertions, 5 deletions
diff --git a/samplecode/SampleBlur.cpp b/samplecode/SampleBlur.cpp index 13bf10ad19..7377d68b81 100644 --- a/samplecode/SampleBlur.cpp +++ b/samplecode/SampleBlur.cpp @@ -63,14 +63,33 @@ protected: virtual void onDraw(SkCanvas* canvas) { drawBG(canvas); + + SkBlurMaskFilter::BlurStyle NONE = SkBlurMaskFilter::BlurStyle(-999); + static const struct { + SkBlurMaskFilter::BlurStyle fStyle; + int fCx, fCy; + } gRecs[] = { + { NONE, 0, 0 }, + { SkBlurMaskFilter::kInner_BlurStyle, -1, 0 }, + { SkBlurMaskFilter::kNormal_BlurStyle, 0, 1 }, + { SkBlurMaskFilter::kSolid_BlurStyle, 0, -1 }, + { SkBlurMaskFilter::kOuter_BlurStyle, 1, 0 }, + }; - SkMaskFilter* mf = SkBlurMaskFilter::Create(20, SkBlurMaskFilter::kOuter_BlurStyle); SkPaint paint; paint.setAntiAlias(true); - - canvas->drawCircle(100, 100, 50, paint); - paint.setMaskFilter(mf)->unref(); - canvas->drawCircle(200, 100, 50, paint); + paint.setColor(SK_ColorBLUE); + + for (size_t i = 0; i < SK_ARRAY_COUNT(gRecs); i++) { + if (gRecs[i].fStyle != NONE) { + SkMaskFilter* mf = SkBlurMaskFilter::Create(20, gRecs[i].fStyle); + paint.setMaskFilter(mf)->unref(); + } else { + paint.setMaskFilter(NULL); + } + canvas->drawCircle(200 + gRecs[i].fCx*100, + 200 + gRecs[i].fCy*100, 50, paint); + } } private: diff --git a/samplecode/SampleStrokePath.cpp b/samplecode/SampleStrokePath.cpp index ec0a970e94..5de6b72602 100644 --- a/samplecode/SampleStrokePath.cpp +++ b/samplecode/SampleStrokePath.cpp @@ -5,6 +5,8 @@ #include "SkRandom.h" #include "SkView.h" +#include "SkBlurMaskFilter.h" + static void scale_to_width(SkPath* path, SkScalar dstWidth) { const SkRect& bounds = path->getBounds(); SkScalar scale = dstWidth / bounds.width(); @@ -83,6 +85,36 @@ protected: SkPaint paint; paint.setAntiAlias(true); + + if (true) { + canvas->drawColor(SK_ColorBLACK); + + paint.setTextSize(24); + paint.setColor(SK_ColorWHITE); + canvas->translate(10, 30); + + static const SkBlurMaskFilter::BlurStyle gStyle[] = { + SkBlurMaskFilter::kNormal_BlurStyle, + SkBlurMaskFilter::kInner_BlurStyle, + SkBlurMaskFilter::kOuter_BlurStyle, + SkBlurMaskFilter::kSolid_BlurStyle, + }; + for (int x = 0; x < 5; x++) { + SkMaskFilter* mf; + SkScalar radius = 4; + for (int y = 0; y < 10; y++) { + if (x) { + mf = SkBlurMaskFilter::Create(radius, gStyle[x - 1]); + paint.setMaskFilter(mf)->unref(); + } + canvas->drawText("Title Bar", 9, x*100, y*30, paint); + radius *= 0.75f; + } + + } + return; + } + paint.setColor(SK_ColorBLUE); #if 1 |