32 std::unique_ptr<GrDynamicAtlas>);
41 int heightInAtlas,
bool transposedInAtlas,
SkIPoint16* locationInAtlas);
48 return fDynamicAtlas->instantiate(onFlushRP, std::move(backingTexture));
62 const std::unique_ptr<GrDynamicAtlas> fDynamicAtlas;
67 PathDrawAllocator fPathDrawAllocator{64, SkBlockAllocator::GrowthPolicy::kFibonacci};
71 void add(PathDrawAllocator* alloc,
const SkMatrix& pathMatrix,
const SkPath& path) {
74 if (path.isInverseFillType()) {
76 fPathDrawList->fPath.toggleInverseFillType();
78 fTotalCombinedPathVerbCnt += path.countVerbs();
81 const PathDrawList* pathDrawList()
const {
return fPathDrawList; }
82 int totalCombinedPathVerbCnt()
const {
return fTotalCombinedPathVerbCnt; }
83 int pathCount()
const {
return fPathCount; }
86 PathDrawList* fPathDrawList =
nullptr;
87 int fTotalCombinedPathVerbCnt = 0;
91 AtlasPathList fWindingPathList;
92 AtlasPathList fEvenOddPathList;
bool addPath(const SkMatrix &, const SkPath &, SkIPoint pathDevTopLeft, int widthInAtlas, int heightInAtlas, bool transposedInAtlas, SkIPoint16 *locationInAtlas)