|  | // Copyright 2020 Google LLC. | 
|  | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | 
|  | #include "tools/fiddle/examples.h" | 
|  | REG_FIDDLE(radial_gradient_test, 256, 256, false, 0) { | 
|  | void draw(SkCanvas* canvas) { | 
|  | #define SIZE 121 | 
|  | SkScalar half = SIZE * 0.5f; | 
|  | const SkColor preColor = 0xFFFF0000;   // clamp color before start | 
|  | const SkColor postColor = 0xFF0000FF;  // clamp color after end | 
|  | const SkColor color0 = 0xFF000000; | 
|  | const SkColor color1 = 0xFF00FF00; | 
|  |  | 
|  | SkColor cs[] = {preColor, color0, color1, postColor}; | 
|  | SkScalar pos[] = {0, 0, 1, 1}; | 
|  |  | 
|  | auto s = SkGradientShader::MakeRadial({half, half}, half - 10, cs, pos, 4, | 
|  | SkTileMode::kClamp); | 
|  |  | 
|  | SkPaint p; | 
|  | const SkRect rect = SkRect::MakeWH(SIZE, SIZE); | 
|  | p.setShader(s); | 
|  | canvas->drawRect(rect, p); | 
|  | } | 
|  | }  // END FIDDLE |