add more tests

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1201333002
This commit is contained in:
reed 2015-06-23 14:34:58 -07:00 committed by Commit bot
parent 841959122c
commit 5fbb623099

View File

@ -114,7 +114,7 @@ protected:
return SkString("simple-offsetimagefilter"); return SkString("simple-offsetimagefilter");
} }
SkISize onISize() override { return SkISize::Make(140, 60); } SkISize onISize() override { return SkISize::Make(640, 200); }
void doDraw(SkCanvas* canvas, const SkRect& r, SkImageFilter* imgf, void doDraw(SkCanvas* canvas, const SkRect& r, SkImageFilter* imgf,
const SkRect* clipR = NULL) { const SkRect* clipR = NULL) {
@ -155,33 +155,55 @@ protected:
} }
void onDraw(SkCanvas* canvas) override { void onDraw(SkCanvas* canvas) override {
const SkRect r = SkRect::MakeWH(10, 10); const SkRect r = SkRect::MakeWH(40, 40);
SkImageFilter::CropRect cr0(r); SkImageFilter::CropRect cr0(r);
SkImageFilter::CropRect cr1(SkRect::MakeWH(5, 5)); SkImageFilter::CropRect cr1(SkRect::MakeWH(20, 20));
const SkRect r2 = SkRect::MakeXYWH(10, 0, 10, 10); const SkRect r2 = SkRect::MakeXYWH(40, 0, 40, 40);
SkImageFilter::CropRect cr2(r2); SkImageFilter::CropRect cr2(r2);
canvas->translate(20, 20); canvas->translate(40, 40);
canvas->save();
this->doDraw(canvas, r, NULL); this->doDraw(canvas, r, NULL);
canvas->translate(20, 0); canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5)); this->doDraw(canvas, r, SkOffsetImageFilter::Create(20, 20));
canvas->translate(20, 0); canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5, NULL, &cr0)); this->doDraw(canvas, r, SkOffsetImageFilter::Create(20, 20, NULL, &cr0));
canvas->translate(20, 0); canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5), &r); this->doDraw(canvas, r, SkOffsetImageFilter::Create(20, 20), &r);
canvas->translate(20, 0); canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5, NULL, &cr1)); this->doDraw(canvas, r, SkOffsetImageFilter::Create(20, 20, NULL, &cr1));
SkRect clipR = SkRect::MakeXYWH(10, 10, 10, 10); SkRect clipR = SkRect::MakeXYWH(40, 40, 40, 40);
canvas->translate(20, 0); canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(5, 5, NULL, NULL), &clipR); this->doDraw(canvas, r, SkOffsetImageFilter::Create(20, 20, NULL, NULL), &clipR);
canvas->restore();
canvas->translate(20, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(10, 0, NULL, &cr2), NULL); // 2nd row
canvas->translate(0, 80);
/*
* combos of clip and crop rects that align with src and dst
*/
// crop==clip==src
this->doDraw(canvas, r, SkOffsetImageFilter::Create(40, 0, NULL, &cr0), &r);
// crop==src, clip==dst
canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(40, 0, NULL, &cr0), &r2);
// crop==dst, clip==src
canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(40, 0, NULL, &cr2), &r);
// crop==clip==dst
canvas->translate(100, 0);
this->doDraw(canvas, r, SkOffsetImageFilter::Create(40, 0, NULL, &cr2), &r2);
} }
private: private: