• Home
  • Raw
  • Download

Lines Matching refs:blob

45     sk_sp<GrTextBlob> blob;  in drawGlyphRunList()  local
47 blob = this->find(key); in drawGlyphRunList()
50 if (blob == nullptr || !blob->canReuse(paint, positionMatrix)) { in drawGlyphRunList()
51 if (blob != nullptr) { in drawGlyphRunList()
53 this->remove(blob.get()); in drawGlyphRunList()
58 blob = GrTextBlob::Make( in drawGlyphRunList()
62 blob->addKey(key); in drawGlyphRunList()
65 blob = this->addOrReturnExisting(glyphRunList, blob); in drawGlyphRunList()
69 blob->draw(canvas, clip, viewMatrix, glyphRunList.origin(), paint, sdc); in drawGlyphRunList()
73 const SkGlyphRunList& glyphRunList, sk_sp<GrTextBlob> blob) { in addOrReturnExisting() argument
75 blob = this->internalAdd(std::move(blob)); in addOrReturnExisting()
77 return blob; in addOrReturnExisting()
87 sk_sp<GrTextBlob> blob = idEntry->find(key); in find() local
88 GrTextBlob* blobPtr = blob.get(); in find()
93 return blob; in find()
96 void GrTextBlobRedrawCoordinator::remove(GrTextBlob* blob) { in remove() argument
98 this->internalRemove(blob); in remove()
101 void GrTextBlobRedrawCoordinator::internalRemove(GrTextBlob* blob) { in internalRemove() argument
102 auto id = blob->key().fUniqueID; in internalRemove()
106 sk_sp<GrTextBlob> stillExists = idEntry->find(blob->key()); in internalRemove()
107 if (blob == stillExists.get()) { in internalRemove()
108 fCurrentSize -= blob->size(); in internalRemove()
109 fBlobList.remove(blob); in internalRemove()
110 idEntry->removeBlob(blob); in internalRemove()
147 for (const auto& blob : idEntry->fBlobs) { in internalPurgeStaleBlobs() local
148 fCurrentSize -= blob->size(); in internalPurgeStaleBlobs()
149 fBlobList.remove(blob.get()); in internalPurgeStaleBlobs()
167 void GrTextBlobRedrawCoordinator::internalCheckPurge(GrTextBlob* blob) { in internalCheckPurge() argument
176 while (fCurrentSize > fSizeBudget && (lruBlob = iter.get()) && lruBlob != blob) { in internalCheckPurge()
191 sk_sp<GrTextBlob> GrTextBlobRedrawCoordinator::internalAdd(sk_sp<GrTextBlob> blob) { in internalAdd() argument
192 auto id = blob->key().fUniqueID; in internalAdd()
198 if (sk_sp<GrTextBlob> alreadyIn = idEntry->find(blob->key()); alreadyIn) { in internalAdd()
199 blob = std::move(alreadyIn); in internalAdd()
201 fBlobList.addToHead(blob.get()); in internalAdd()
202 fCurrentSize += blob->size(); in internalAdd()
203 idEntry->addBlob(blob); in internalAdd()
206 this->internalCheckPurge(blob.get()); in internalAdd()
207 return blob; in internalAdd()
219 void GrTextBlobRedrawCoordinator::BlobIDCacheEntry::addBlob(sk_sp<GrTextBlob> blob) { in addBlob() argument
220 SkASSERT(blob); in addBlob()
221 SkASSERT(blob->key().fUniqueID == fID); in addBlob()
222 SkASSERT(!this->find(blob->key())); in addBlob()
224 fBlobs.emplace_back(std::move(blob)); in addBlob()
227 void GrTextBlobRedrawCoordinator::BlobIDCacheEntry::removeBlob(GrTextBlob* blob) { in removeBlob() argument
228 SkASSERT(blob); in removeBlob()
229 SkASSERT(blob->key().fUniqueID == fID); in removeBlob()
231 auto index = this->findBlobIndex(blob->key()); in removeBlob()