8#ifndef PathStencilCoverOp_DEFINED
9#define PathStencilCoverOp_DEFINED
38 , fTotalCombinedPathVerbCnt(path.countVerbs())
40 , fPathFlags(pathFlags)
42 , fColor(
paint.getColor4f())
43 , fProcessors(std::move(
paint)) {
45 SkDEBUGCODE(fOriginalDrawBounds = drawBounds;)
52 int totalCombinedVerbCnt,
59 , fPathDrawList(pathDrawList)
60 , fTotalCombinedPathVerbCnt(totalCombinedVerbCnt)
61 , fPathCount(pathCount)
62 , fPathFlags(pathFlags)
64 , fColor(
paint.getColor4f())
65 , fProcessors(std::move(
paint)) {
67 SkDEBUGCODE(fOriginalDrawBounds = drawBounds;)
70 const char*
name()
const override {
return "PathStencilCoverOp"; }
89 const PathDrawList* fPathDrawList;
90 const int fTotalCombinedPathVerbCnt;
96 SkDEBUGCODE(
SkRect fOriginalDrawBounds;)
99 PathTessellator* fTessellator =
nullptr;
106 int fFanBaseVertex = 0;
107 int fFanVertexCount = 0;
110 int fBBoxBaseInstance = 0;
#define DEFINE_OP_CLASS_ID
std::function< void(GrSurfaceProxy *, skgpu::Mipmapped)> GrVisitProxyFunc
constexpr SkPMColor4f SK_PMColor4fTRANSPARENT
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))
SkPathFillType getFillType() const
void onPrepare(GrOpFlushState *) override
const char * name() const override
GrProcessorSet::Analysis finalize(const GrCaps &, const GrAppliedClip *, GrClampType) override
void onExecute(GrOpFlushState *, const SkRect &chainBounds) override
FixedFunctionFlags fixedFunctionFlags() const override
void onPrePrepare(GrRecordingContext *, const GrSurfaceProxyView &, GrAppliedClip *, const GrDstProxyView &, GrXferBarrierFlags, GrLoadOp colorLoadOp) override
void visitProxies(const GrVisitProxyFunc &) const override