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