25 lines
893 B
C++
25 lines
893 B
C++
|
// 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
|