/* * Copyright 2013 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /** * Pathologically simple drawing tests, designed to generate consistent * output images across platforms for gm/tests/run.sh */ #include "gm.h" #include "SkCanvas.h" #include "SkPaint.h" class SelfTestGM : public skiagm::GM { public: SelfTestGM(const char name[], SkColor color) : fName(name), fColor(color) {} const static int kWidth = 300; const static int kHeight = 200; protected: SkString onShortName() { return fName; } SkISize onISize() { return SkISize::Make(kWidth, kHeight); } virtual void onDraw(SkCanvas* canvas) { SkPaint paint; paint.setStyle(SkPaint::kFill_Style); paint.setColor(fColor); canvas->drawRectCoords(0, 0, SkIntToScalar(kWidth), SkIntToScalar(kHeight), paint); } private: const SkString fName; const SkColor fColor; }; ////////////////////////////////////////////////////////////////////////////// // We use translucent colors to make sure we are properly handling cases like // those which caused https://code.google.com/p/skia/issues/detail?id=1079 // ('gm generating spurious pixel_error messages as of r7258') static SkColor kTranslucentGreen = 0x7700EE00; static SkColor kTranslucentBlue = 0x770000DD; static skiagm::GM* F1(void*) { return new SelfTestGM("selftest1", kTranslucentGreen); } static skiagm::GM* F2(void*) { return new SelfTestGM("selftest2", kTranslucentBlue); } static skiagm::GMRegistry gR1(F1); static skiagm::GMRegistry gR2(F2);