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

#include "gm/gm.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkPaint.h"
#include "include/core/SkPathBuilder.h"

DEF_SIMPLE_GM(crbug_884166, canvas, 300, 300) {
    SkPaint paint;

    paint.setAntiAlias(true);
    paint.setStyle(SkPaint::kFill_Style);

    SkPathBuilder path;
    path.moveTo(153.25, 280.75);
    path.lineTo(161.75, 281.75);
    path.lineTo(164.25, 282.00);
    path.lineTo(  0.00, 276.00);
    path.lineTo(161.50,   0.00);
    path.lineTo(286.25, 231.25);
    path.lineTo(163.75, 282.00);
    path.lineTo(150.00, 280.00);
    canvas->drawPath(path.detach(), paint);
}
