Lines Matching refs:blob
111 // Each run record describes a text blob run, and can be used to determine the (implicit)
215 static const RunRecord* First(const SkTextBlob* blob) {
216 // The first record (if present) is stored following the blob object.
217 return reinterpret_cast<const RunRecord*>(blob + 1);
246 kLast_Flag = 0x04, // set for the last blob run
350 SkTextBlobRunIterator::SkTextBlobRunIterator(const SkTextBlob* blob)
351 : fCurrentRun(SkTextBlob::RunRecord::First(blob)) {
352 SkDEBUGCODE(fStorageTop = (uint8_t*)blob + blob->fStorageSize;)
429 // The easiest way to accomplish that is to use the blob destructor.
557 // the first allocation also includes blob storage
723 SkTextBlob* blob = new (fStorage.release()) SkTextBlob(fBounds);
724 SkDEBUGCODE(const_cast<SkTextBlob*>(blob)->fStorageSize = fStorageSize;)
729 for (const auto* run = SkTextBlob::RunRecord::First(blob); run;
733 run->validate(reinterpret_cast<const uint8_t*>(blob) + fStorageUsed);
747 return sk_sp<SkTextBlob>(blob);