Home | History | Annotate | Download | only in core

Lines Matching refs:blob

106 //  Each run record describes a text blob run, and can be used to determine the (implicit)
155 static const RunRecord* First(const SkTextBlob* blob) {
156 // The first record (if present) is stored following the blob object.
157 return reinterpret_cast<const RunRecord*>(blob + 1);
302 SkTextBlobRunIterator::SkTextBlobRunIterator(const SkTextBlob* blob)
303 : fCurrentRun(SkTextBlob::RunRecord::First(blob))
304 , fRemainingRuns(blob->fRunCount) {
305 SkDEBUGCODE(fStorageTop = (uint8_t*)blob + blob->fStorageSize;)
369 // The easiest way to accomplish that is to use the blob destructor.
495 // the first allocation also includes blob storage
627 const SkTextBlob* blob = new (fStorage.detach()) SkTextBlob(fRunCount, fBounds);
628 SkDEBUGCODE(const_cast<SkTextBlob*>(blob)->fStorageSize = fStorageSize;)
632 const SkTextBlob::RunRecord* run = SkTextBlob::RunRecord::First(blob);
635 run->validate(reinterpret_cast<const uint8_t*>(blob) + fStorageUsed);
647 return blob;