aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/offsetimagefilter.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2015-06-23 06:01:10 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-06-23 06:01:10 -0700
commit477fdd8aa413f0814e2cb2981e442675c8101919 (patch)
tree2bcc3ee5d5abba0d94243e6463a4ddd9237612ea /gm/offsetimagefilter.cpp
parentc21003507110363e43c672313d041cf37c83fad7 (diff)
add simple test for offsetimagefilter
BUG=skia: TBR= Review URL: https://codereview.chromium.org/1204723002
Diffstat (limited to 'gm/offsetimagefilter.cpp')
-rw-r--r--gm/offsetimagefilter.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/gm/offsetimagefilter.cpp b/gm/offsetimagefilter.cpp
index 258403ee79..6519f0a45a 100644
--- a/gm/offsetimagefilter.cpp
+++ b/gm/offsetimagefilter.cpp
@@ -105,3 +105,66 @@ DEF_GM( return new OffsetImageFilterGM; )
//////////////////////////////////////////////////////////////////////////////
+class SimpleOffsetImageFilterGM : public skiagm::GM {
+public:
+ SimpleOffsetImageFilterGM() {}
+
+protected:
+ SkString onShortName() override {
+ return SkString("simple-offsetimagefilter");
+ }
+
+ SkISize onISize() override { return SkISize::Make(140, 60); }
+
+ void doDraw(SkCanvas* canvas, const SkRect& r, SkImageFilter* imgf,
+ const SkRect* clipR = NULL) {
+ SkPaint p;
+
+ if (clipR) {
+ p.setColor(0xFF00FF00);
+ p.setStyle(SkPaint::kStroke_Style);
+ canvas->drawRect(clipR->makeInset(SK_ScalarHalf, SK_ScalarHalf), p);
+ p.setStyle(SkPaint::kFill_Style);
+ }
+
+ p.setImageFilter(imgf);
+ p.setColor(SK_ColorRED);
+ canvas->drawRect(r, p);
+
+ if (clipR) {
+ canvas->save();
+ canvas->clipRect(*clipR);
+ }
+ p.setImageFilter(NULL);
+ p.setColor(0x660000FF);
+ canvas->drawRect(r, p);
+ if (clipR) {
+ canvas->restore();
+ }
+ }
+
+ void onDraw(SkCanvas* canvas) override {
+ const SkRect r = SkRect::MakeWH(10, 10);
+ SkImageFilter::CropRect cr0(r);
+ SkImageFilter::CropRect cr1(SkRect::MakeWH(5, 5));
+
+ canvas->translate(20, 20);
+ this->doDraw(canvas, r, NULL);
+
+ canvas->translate(20, 0);
+ this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5));
+
+ canvas->translate(20, 0);
+ this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5, NULL, &cr0));
+
+ canvas->translate(20, 0);
+ this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5), &r);
+
+ canvas->translate(20, 0);
+ this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5, NULL, &cr1));
+ }
+
+private:
+ typedef skiagm::GM INHERITED;
+};
+DEF_GM( return new SimpleOffsetImageFilterGM; )