commit-bot@chromium.org | c61c3c3 | 2013-03-01 15:32:34 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2013 Google Inc. |
| 3 | * |
| 4 | * Use of this source code is governed by a BSD-style license that can be |
| 5 | * found in the LICENSE file. |
| 6 | */ |
| 7 | |
| 8 | /** |
| 9 | * Pathologically simple drawing tests, designed to generate consistent |
| 10 | * output images across platforms for gm/tests/run.sh |
| 11 | */ |
| 12 | |
| 13 | #include "gm.h" |
| 14 | #include "SkCanvas.h" |
| 15 | #include "SkPaint.h" |
| 16 | |
| 17 | class SelfTestGM : public skiagm::GM { |
| 18 | public: |
mtklein | 1c40292 | 2015-01-23 11:07:07 -0800 | [diff] [blame] | 19 | SelfTestGM(const char name[], SkColor color) : |
| 20 | fName(name), fColor(color) {} |
commit-bot@chromium.org | c61c3c3 | 2013-03-01 15:32:34 +0000 | [diff] [blame] | 21 | const static int kWidth = 300; |
| 22 | const static int kHeight = 200; |
| 23 | |
| 24 | protected: |
| 25 | SkString onShortName() { |
| 26 | return fName; |
| 27 | } |
| 28 | |
tfarina | f539318 | 2014-06-09 23:59:03 -0700 | [diff] [blame] | 29 | SkISize onISize() { return SkISize::Make(kWidth, kHeight); } |
commit-bot@chromium.org | c61c3c3 | 2013-03-01 15:32:34 +0000 | [diff] [blame] | 30 | |
| 31 | virtual void onDraw(SkCanvas* canvas) { |
| 32 | SkPaint paint; |
| 33 | paint.setStyle(SkPaint::kFill_Style); |
| 34 | paint.setColor(fColor); |
| 35 | canvas->drawRectCoords(0, 0, SkIntToScalar(kWidth), SkIntToScalar(kHeight), paint); |
| 36 | } |
| 37 | |
| 38 | private: |
| 39 | const SkString fName; |
| 40 | const SkColor fColor; |
| 41 | }; |
| 42 | |
| 43 | ////////////////////////////////////////////////////////////////////////////// |
| 44 | |
epoger@google.com | b9ba1ea | 2013-03-02 19:56:18 +0000 | [diff] [blame] | 45 | // We use translucent colors to make sure we are properly handling cases like |
| 46 | // those which caused https://code.google.com/p/skia/issues/detail?id=1079 |
| 47 | // ('gm generating spurious pixel_error messages as of r7258') |
| 48 | static SkColor kTranslucentGreen = 0x7700EE00; |
| 49 | static SkColor kTranslucentBlue = 0x770000DD; |
| 50 | |
epoger@google.com | c8263e7 | 2013-04-10 12:17:34 +0000 | [diff] [blame] | 51 | static skiagm::GM* F1(void*) { |
mtklein | 1c40292 | 2015-01-23 11:07:07 -0800 | [diff] [blame] | 52 | return new SelfTestGM("selftest1", kTranslucentGreen); |
epoger@google.com | c8263e7 | 2013-04-10 12:17:34 +0000 | [diff] [blame] | 53 | } |
| 54 | static skiagm::GM* F2(void*) { |
mtklein | 1c40292 | 2015-01-23 11:07:07 -0800 | [diff] [blame] | 55 | return new SelfTestGM("selftest2", kTranslucentBlue); |
epoger@google.com | c8263e7 | 2013-04-10 12:17:34 +0000 | [diff] [blame] | 56 | } |
commit-bot@chromium.org | c61c3c3 | 2013-03-01 15:32:34 +0000 | [diff] [blame] | 57 | |
| 58 | static skiagm::GMRegistry gR1(F1); |
| 59 | static skiagm::GMRegistry gR2(F2); |