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

#ifndef tessellate_TessTypes_DEFINED
#define tessellate_TessTypes_DEFINED

#include "include/gpu/GrTypes.h"

namespace skgpu::tess {

// We send these flags to the internal path filling Ops to control how a path gets rendered.
enum class TessellationPathFlags {
    kNone        = 0,
    kStencilOnly = (1 << 0),
    kWireframe   = (1 << 1)
};

GR_MAKE_BITFIELD_CLASS_OPS(TessellationPathFlags)

}  // namespace skgpu::tess

#endif  // tessellate_TessTypes_DEFINED
