diff options
author | Tenghui Zhu <ztenghui@google.com> | 2017-02-09 17:45:46 -0800 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-13 18:23:09 +0000 |
commit | ea479576ec5866bff533d1f76faf86fdeb8b3753 (patch) | |
tree | 76c31343795d2bf1dc06416cf1385a8bb2144e37 /gm | |
parent | a12c15376ce3f94c81f461120067f8bbcf0a0c69 (diff) |
A simple gradient test
Change-Id: Ic3e53f7eab747f63641e0eb6a1c73ad0833acef6
Reviewed-on: https://skia-review.googlesource.com/8158
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Tenghui Zhu <ztenghui@google.com>
Diffstat (limited to 'gm')
-rw-r--r-- | gm/testgradient.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gm/testgradient.cpp b/gm/testgradient.cpp new file mode 100644 index 0000000000..f87106460c --- /dev/null +++ b/gm/testgradient.cpp @@ -0,0 +1,71 @@ +/* + * Copyright 2017 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "gm.h" + +#include "SkCanvas.h" +#include "SkGradientShader.h" +#include "SkRRect.h" + +class TestGradientGM : public skiagm::GM { +public: + TestGradientGM() {} + +protected: + SkString onShortName() override { + return SkString("testgradient"); + } + + SkISize onISize() override { + return SkISize::Make(800, 800); + } + + void onDraw(SkCanvas* canvas) override { + // Set up a gradient paint for a rect. + // And non-gradient paint for other objects. + canvas->drawColor(SK_ColorWHITE); + + SkPaint paint; + paint.setStyle(SkPaint::kFill_Style); + paint.setAntiAlias(true); + paint.setStrokeWidth(4); + paint.setColor(0xFFFE938C); + + SkRect rect = SkRect::MakeXYWH(10, 10, 100, 160); + + SkPoint points[2] = { + SkPoint::Make(0.0f, 0.0f), + SkPoint::Make(256.0f, 256.0f) + }; + SkColor colors[2] = {SK_ColorBLUE, SK_ColorYELLOW}; + SkPaint newPaint(paint); + newPaint.setShader(SkGradientShader::MakeLinear( + points, colors, nullptr, 2, + SkShader::kClamp_TileMode, 0, nullptr)); + canvas->drawRect(rect, newPaint); + + SkRRect oval; + oval.setOval(rect); + oval.offset(40, 80); + paint.setColor(0xFFE6B89C); + canvas->drawRRect(oval, paint); + + paint.setColor(0xFF9CAFB7); + canvas->drawCircle(180, 50, 25, paint); + + rect.offset(80, 50); + paint.setColor(0xFF4281A4); + paint.setStyle(SkPaint::kStroke_Style); + canvas->drawRoundRect(rect, 10, 10, paint); + } + +private: + typedef skiagm::GM INHERITED; +}; + +// Register the GM +DEF_GM( return new TestGradientGM; ) |