8#ifndef PathTessellateOp_DEFINED
9#define PathTessellateOp_DEFINED
37 , fTotalCombinedPathVerbCnt(path.countVerbs())
39 , fPathDrawTail(&fPathDrawList->fNext)
40 , fProcessors(std::move(
paint))
41 , fShaderMatrix(viewMatrix) {
43 if (!this->headDraw().fColor.fitsInBytes()) {
44 fPatchAttribs |= PatchAttribs::kWideColorIfEnabled;
54 const char*
name()
const override {
return "PathTessellateOp"; }
67 int fTotalCombinedPathVerbCnt;
69 PathDrawList*
const fPathDrawList;
70 PathDrawList** fPathDrawTail;
#define DEFINE_OP_CLASS_ID
std::function< void(GrSurfaceProxy *, skgpu::Mipmapped)> GrVisitProxyFunc
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
void setBounds(const SkRect &newBounds, HasAABloat aabloat, IsHairline zeroArea)
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
static const SkMatrix & I()
void onExecute(GrOpFlushState *, const SkRect &chainBounds) override
GrProcessorSet::Analysis finalize(const GrCaps &, const GrAppliedClip *, GrClampType) override
CombineResult onCombineIfPossible(GrOp *, SkArenaAlloc *, const GrCaps &) override
void visitProxies(const GrVisitProxyFunc &) const override
bool usesMSAA() const override
const char * name() const override
void onPrePrepare(GrRecordingContext *, const GrSurfaceProxyView &, GrAppliedClip *, const GrDstProxyView &, GrXferBarrierFlags, GrLoadOp colorLoadOp) override
bool usesStencil() const override
void onPrepare(GrOpFlushState *) override
tess::PatchAttribs PatchAttribs