8#ifndef PathTessellator_DEFINED
9#define PathTessellator_DEFINED
45 std::tuple<const SkMatrix&, const SkPath&, const SkPMColor4f&>
operator*()
const {
62 int totalCombinedPathVerbCnt) = 0;
70 if (!infinitySupport) {
71 fAttribs |= PatchAttribs::kExplicitCurveType;
104 const PathDrawList& pathDrawList,
105 int totalCombinedPathVerbCnt);
110 int totalCombinedPathVerbCnt)
final {
115 totalCombinedPathVerbCnt);
133 bool infinitySupport,
140 fAttribs |= PatchAttribs::kFanPoint;
145 const PathDrawList& pathDrawList,
146 int totalCombinedPathVerbCnt)
final;
static float next(float f)
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
static PathCurveTessellator * Make(SkArenaAlloc *arena, bool infinitySupport, PatchAttribs attribs=PatchAttribs::kNone)
PathCurveTessellator(bool infinitySupport, PatchAttribs attribs=PatchAttribs::kNone)
void prepare(GrMeshDrawTarget *target, const SkMatrix &shaderMatrix, const PathDrawList &pathDrawList, int totalCombinedPathVerbCnt) final
void drawHullInstances(GrOpFlushState *, sk_sp< const GrGpuBuffer > vertexBufferIfNeeded) const
void prepareWithTriangles(GrMeshDrawTarget *target, const SkMatrix &shaderMatrix, GrInnerFanTriangulator::BreadcrumbTriangleList *extraTriangles, const PathDrawList &pathDrawList, int totalCombinedPathVerbCnt)
void draw(GrOpFlushState *) const final
GrVertexChunkArray fVertexChunkArray
virtual void prepare(GrMeshDrawTarget *target, const SkMatrix &shaderMatrix, const PathDrawList &pathDrawList, int totalCombinedPathVerbCnt)=0
sk_sp< const GrGpuBuffer > fFixedIndexBuffer
virtual void draw(GrOpFlushState *flushState) const =0
sk_sp< const GrGpuBuffer > fFixedVertexBuffer
PatchAttribs patchAttribs() const
PathTessellator(bool infinitySupport, PatchAttribs attribs)
virtual ~PathTessellator()
void prepare(GrMeshDrawTarget *target, const SkMatrix &shaderMatrix, const PathDrawList &pathDrawList, int totalCombinedPathVerbCnt) final
PathWedgeTessellator(bool infinitySupport, PatchAttribs attribs=PatchAttribs::kNone)
void draw(GrOpFlushState *) const final
static PathWedgeTessellator * Make(SkArenaAlloc *arena, bool infinitySupport, PatchAttribs attribs=PatchAttribs::kNone)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
const PathDrawList * fHead
std::tuple< const SkMatrix &, const SkPath &, const SkPMColor4f & > operator*() const
bool operator!=(const Iter &b) const
PathDrawList(const SkMatrix &pathMatrix, const SkPath &path, const SkPMColor4f &color, PathDrawList *next=nullptr)