8#ifndef DrawAtlasPathOp_DEFINED
9#define DrawAtlasPathOp_DEFINED
50 , fHeadInstance(arena->
make<Instance>(fillBounds, localToDevice,
paint.getColor4f(),
51 locationInAtlas, pathDevIBounds,
53 , fTailInstance(&fHeadInstance->
fNext)
54 , fAtlasHelper(
std::move(atlasView),
62 const char*
name()
const override {
return "DrawAtlasPathOp"; }
84 const SkIRect& pathDevIBounds,
bool transposedInAtlas)
85 : fFillBounds(fillIBounds)
86 , fLocalToDeviceIfUsingLocalCoords{
m.getScaleX(),
m.getSkewY(),
87 m.getSkewX(),
m.getScaleY(),
88 m.getTranslateX(),
m.getTranslateY()}
90 , fAtlasInstance(locationInAtlas, pathDevIBounds, transposedInAtlas) {
93 std::array<float, 6> fLocalToDeviceIfUsingLocalCoords;
95 AtlasInstancedHelper::Instance fAtlasInstance;
96 Instance*
fNext =
nullptr;
99 Instance* fHeadInstance;
100 Instance** fTailInstance;
102 AtlasInstancedHelper fAtlasHelper;
103 bool fUsesLocalCoords =
false;
105 int fInstanceCount = 1;
#define DEFINE_OP_CLASS_ID
std::function< void(GrSurfaceProxy *, skgpu::Mipmapped)> GrVisitProxyFunc
void setBounds(const SkRect &newBounds, HasAABloat aabloat, IsHairline zeroArea)
void visitProxies(const GrVisitProxyFunc &) const
GrSurfaceProxy * proxy() const
void onPrePrepare(GrRecordingContext *, const GrSurfaceProxyView &writeView, GrAppliedClip *, const GrDstProxyView &, GrXferBarrierFlags, GrLoadOp colorLoadOp) override
GrProcessorSet::Analysis finalize(const GrCaps &, const GrAppliedClip *, GrClampType) override
DEFINE_OP_CLASS_ID DrawAtlasPathOp(SkArenaAlloc *arena, const SkIRect &fillBounds, const SkMatrix &localToDevice, GrPaint &&paint, SkIPoint16 locationInAtlas, const SkIRect &pathDevIBounds, bool transposedInAtlas, GrSurfaceProxyView atlasView, bool isInverseFill)
void onExecute(GrOpFlushState *, const SkRect &chainBounds) override
CombineResult onCombineIfPossible(GrOp *, SkArenaAlloc *, const GrCaps &) override
void onPrepare(GrOpFlushState *) override
const char * name() const override
void visitProxies(const GrVisitProxyFunc &func) const override
FixedFunctionFlags fixedFunctionFlags() const override
static void make(SkBitmap *bitmap, SkColorType colorType, SkAlphaType alphaType, sk_sp< SkColorSpace > colorSpace)
static SkRect Make(const SkISize &size)