// 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(sweep_gradient_talk_1, 256, 256, false, 0) {
void draw(SkCanvas* canvas) {
    SkColor4f colors[] = {{0,0,1,1}, {0,1,0,1}, {1,0,0,1}, {0,0,1,1}};
    float cx = 128, cy = 128;
    SkPaint paint;
    paint.setShader(SkShaders::SweepGradient({cx, cy}, {{colors, {}, SkTileMode::kClamp}, {}}));
    paint.setAntiAlias(true);

    canvas->drawPaint(paint);
}
}  // END FIDDLE
