Lines Matching refs:glyph
141 SkGlyph* glyph = fGlyphHash[index]; in getGlyphIDAdvance() local
143 if (NULL == glyph || glyph->fID != id) { in getGlyphIDAdvance()
144 glyph = this->lookupMetrics(glyphID, kJustAdvance_MetricsType); in getGlyphIDAdvance()
145 fGlyphHash[index] = glyph; in getGlyphIDAdvance()
147 return *glyph; in getGlyphIDAdvance()
201 SkGlyph* glyph = fGlyphHash[index]; in getGlyphIDMetrics() local
203 if (NULL == glyph || glyph->fID != id) { in getGlyphIDMetrics()
204 RecordHashCollisionIf(glyph != NULL); in getGlyphIDMetrics()
205 glyph = this->lookupMetrics(glyphID, kFull_MetricsType); in getGlyphIDMetrics()
206 fGlyphHash[index] = glyph; in getGlyphIDMetrics()
209 if (glyph->isJustAdvance()) { in getGlyphIDMetrics()
210 fScalerContext->getMetrics(glyph); in getGlyphIDMetrics()
213 SkASSERT(glyph->isFullMetrics()); in getGlyphIDMetrics()
214 return *glyph; in getGlyphIDMetrics()
222 SkGlyph* glyph = fGlyphHash[index]; in getGlyphIDMetrics() local
224 if (NULL == glyph || glyph->fID != id) { in getGlyphIDMetrics()
225 RecordHashCollisionIf(glyph != NULL); in getGlyphIDMetrics()
226 glyph = this->lookupMetrics(id, kFull_MetricsType); in getGlyphIDMetrics()
227 fGlyphHash[index] = glyph; in getGlyphIDMetrics()
230 if (glyph->isJustAdvance()) { in getGlyphIDMetrics()
231 fScalerContext->getMetrics(glyph); in getGlyphIDMetrics()
234 SkASSERT(glyph->isFullMetrics()); in getGlyphIDMetrics()
235 return *glyph; in getGlyphIDMetrics()
239 SkGlyph* glyph; in lookupMetrics() local
257 glyph = gptr[hi]; in lookupMetrics()
258 if (glyph->fID == id) { in lookupMetrics()
259 if (kFull_MetricsType == mtype && glyph->isJustAdvance()) { in lookupMetrics()
260 fScalerContext->getMetrics(glyph); in lookupMetrics()
262 return glyph; in lookupMetrics()
266 if (glyph->fID < id) { in lookupMetrics()
274 glyph = (SkGlyph*)fGlyphAlloc.alloc(sizeof(SkGlyph), in lookupMetrics()
276 glyph->init(id); in lookupMetrics()
277 *fGlyphArray.insert(hi) = glyph; in lookupMetrics()
280 fScalerContext->getAdvance(glyph); in lookupMetrics()
284 fScalerContext->getMetrics(glyph); in lookupMetrics()
288 return glyph; in lookupMetrics()
291 const void* SkGlyphCache::findImage(const SkGlyph& glyph) { in findImage() argument
292 if (glyph.fWidth > 0 && glyph.fWidth < kMaxGlyphWidth) { in findImage()
293 if (glyph.fImage == NULL) { in findImage()
294 size_t size = glyph.computeImageSize(); in findImage()
295 const_cast<SkGlyph&>(glyph).fImage = fImageAlloc.alloc(size, in findImage()
298 if (glyph.fImage) { in findImage()
299 fScalerContext->getImage(glyph); in findImage()
308 return glyph.fImage; in findImage()
311 const SkPath* SkGlyphCache::findPath(const SkGlyph& glyph) { in findPath() argument
312 if (glyph.fWidth) { in findPath()
313 if (glyph.fPath == NULL) { in findPath()
314 const_cast<SkGlyph&>(glyph).fPath = SkNEW(SkPath); in findPath()
315 fScalerContext->getPath(glyph, glyph.fPath); in findPath()
317 glyph.fPath->countPoints() * sizeof(SkPoint); in findPath()
320 return glyph.fPath; in findPath()
699 const SkGlyph* glyph = fGlyphArray[i]; in validate() local
700 SkASSERT(glyph); in validate()
701 SkASSERT(fGlyphAlloc.contains(glyph)); in validate()
702 if (glyph->fImage) { in validate()
703 SkASSERT(fImageAlloc.contains(glyph->fImage)); in validate()