1// Copyright 2019 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// HASH=6b97099acdae80b16df0c4241f593991
5REG_FIDDLE(Path_IsCubicDegenerate, 256, 256, true, 0) {
6void draw(SkCanvas* canvas) {
7    SkPoint points[] = {{1, 0}, {0, 0}, {0, 0}, {0, 0}};
8    SkScalar step = 1;
9    SkScalar prior, length = 0, degenerate = 0;
10    do {
11        prior = points[0].fX;
12        step /= 2;
13        if (SkPath::IsCubicDegenerate(points[0], points[1], points[2], points[3], false)) {
14            degenerate = prior;
15            points[0].fX += step;
16        } else {
17            length = prior;
18            points[0].fX -= step;
19        }
20    } while (prior != points[0].fX);
21    SkDebugf("%1.8g is degenerate\n", degenerate);
22    SkDebugf("%1.8g is length\n", length);
23}
24}  // END FIDDLE
25