aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/imagefilters.cpp
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-09-09 08:16:41 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-09-09 08:16:41 -0700
commit2a24338c777462e04a2b26295f9c034155ee8f3e (patch)
treecab82add826f6d77e75c8265ea960f16929033a8 /gm/imagefilters.cpp
parent157e6483fb089bf4d2e5cd2c18b521e5ab4ff32a (diff)
GM: replace boilerplate with macros
I have verified locally that nothing draws differently. Motivation: * SK_SIMPLE_GM makes it easier to write a GM. * Reducing 1100 lines of code makes maintenance easier. * Simple GMs are easy to convert to Fiddles. Review URL: https://codereview.chromium.org/1333553002
Diffstat (limited to 'gm/imagefilters.cpp')
-rw-r--r--gm/imagefilters.cpp26
1 files changed, 6 insertions, 20 deletions
diff --git a/gm/imagefilters.cpp b/gm/imagefilters.cpp
index e28bf5255e..8b4deca93a 100644
--- a/gm/imagefilters.cpp
+++ b/gm/imagefilters.cpp
@@ -16,15 +16,7 @@
*
* see skbug.com/3741
*/
-class ImageFilterXfermodeTestGM : public skiagm::GM {
-protected:
- SkString onShortName() override {
- return SkString("imagefilters_xfermodes");
- }
-
- SkISize onISize() override { return SkISize::Make(480, 480); }
-
- void doDraw(SkCanvas* canvas, SkXfermode::Mode mode, SkImageFilter* imf) {
+static void do_draw(SkCanvas* canvas, SkXfermode::Mode mode, SkImageFilter* imf) {
SkAutoCanvasRestore acr(canvas, true);
canvas->clipRect(SkRect::MakeWH(220, 220));
@@ -47,9 +39,9 @@ protected:
paint.setImageFilter(imf);
paint.setXfermodeMode(mode);
canvas->drawOval(r1, paint);
- }
+}
- void onDraw(SkCanvas* canvas) override {
+DEF_SIMPLE_GM(imagefilters_xfermodes, canvas, 480, 480) {
canvas->translate(10, 10);
// just need an imagefilter to trigger the code-path (which creates a tmp layer)
@@ -62,17 +54,11 @@ protected:
for (size_t i = 0; i < SK_ARRAY_COUNT(modes); ++i) {
canvas->save();
- this->doDraw(canvas, modes[i], nullptr);
+ do_draw(canvas, modes[i], nullptr);
canvas->translate(240, 0);
- this->doDraw(canvas, modes[i], imf);
+ do_draw(canvas, modes[i], imf);
canvas->restore();
canvas->translate(0, 240);
}
- }
-
-private:
- typedef GM INHERITED;
-};
-DEF_GM( return new ImageFilterXfermodeTestGM; )
-
+}