/*
 * Copyright 2016 Google Inc.
 * Copyright 2022 Rive
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "gm.hpp"
#include "gmutils.hpp"
#include "rive/renderer.hpp"

using namespace rivegm;
using namespace rive;

DEF_SIMPLE_GM(bug615686, 250, 250, renderer)
{
  Paint p;
  p->style(RenderPaintStyle::stroke);
  p->thickness(20);
  renderer->drawPath(
      PathBuilder().moveTo(0, 0).cubicTo(200, 200, 0, 200, 200, 0).detach(),
      p);
}
