Hal Canary | 6c8422c | 2020-01-10 15:22:09 -0500 | [diff] [blame] | 1 | // Copyright 2020 Google LLC. |
| 2 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. |
| 3 | #include "tools/fiddle/examples.h" |
| 4 | REG_FIDDLE(not_path_gradient, 256, 256, false, 0) { |
| 5 | SkPath star() { |
| 6 | const SkScalar R = 60.0f, C = 128.0f; |
| 7 | SkPath path; |
| 8 | path.moveTo(C + R, C); |
| 9 | for (int i = 1; i < 15; ++i) { |
| 10 | SkScalar a = 0.44879895f * i; |
| 11 | SkScalar r = R + R * (i % 2); |
| 12 | path.lineTo(C + r * cos(a), C + r * sin(a)); |
| 13 | } |
| 14 | return path; |
| 15 | } |
| 16 | void draw(SkCanvas* canvas) { |
| 17 | SkPaint paint; |
| 18 | paint.setPathEffect(SkDiscretePathEffect::Make(10.0f, 4.0f)); |
| 19 | SkPoint points[2] = {SkPoint::Make(0.0f, 0.0f), SkPoint::Make(256.0f, 256.0f)}; |
| 20 | paint.setStyle(SkPaint::kStroke_Style); |
| 21 | paint.setStrokeWidth(10); |
| 22 | SkColor colors[2] = {SkColorSetRGB(0xEA, 0xD2, 0xAC), SkColorSetRGB(0x42, 0x81, 0xA4)}; |
| 23 | paint.setShader( |
| 24 | SkGradientShader::MakeLinear(points, colors, NULL, 2, SkTileMode::kClamp, 0, NULL)); |
| 25 | paint.setAntiAlias(true); |
| 26 | canvas->clear(SK_ColorWHITE); |
| 27 | SkPath path(star()); |
| 28 | canvas->drawPath(path, paint); |
| 29 | } |
| 30 | } // END FIDDLE |