Home | History | Annotate | Download | only in ports

Lines Matching refs:rec

63 static bool isLCD(const SkScalerContext::Rec& rec) {
64 return SkMask::kLCD16_Format == rec.fMaskFormat;
308 SkFaceRec* rec = gFaceRecHead;
309 while (rec) {
310 if (rec->fFontID == fontID) {
311 SkASSERT(rec->fFace);
312 rec->fRefCnt += 1;
313 return rec->fFace;
315 rec = rec->fNext;
323 // this passes ownership of stream to the rec
324 rec = new SkFaceRec(data->detachStream(), fontID);
328 const void* memoryBase = rec->fSkStream->getMemoryBase();
332 args.memory_size = rec->fSkStream->getLength();
335 args.stream = &rec->fFTStream;
338 FT_Error err = FT_Open_Face(gFTLibrary->library(), &args, data->getIndex(), &rec->fFace);
341 delete rec;
344 SkASSERT(rec->fFace);
346 ft_face_setup_axes(rec->fFace, *data);
354 if (!rec->fFace->charmap) {
355 FT_Select_Charmap(rec->fFace, FT_ENCODING_MS_SYMBOL);
358 rec->fNext = gFaceRecHead;
359 gFaceRecHead = rec;
360 return rec->fFace;
367 SkFaceRec* rec = gFaceRecHead;
369 while (rec) {
370 SkFaceRec* next = rec->fNext;
371 if (rec->fFace == face) {
372 if (--rec->fRefCnt == 0) {
379 delete rec;
383 prev = rec;
384 rec = next;
659 static bool isAxisAligned(const SkScalerContext::Rec& rec) {
660 return 0 == rec.fPreSkewX &&
661 (bothZero(rec.fPost2x2[0][1], rec.fPost2x2[1][0]) ||
662 bothZero(rec.fPost2x2[0][0], rec.fPost2x2[1][1]));
676 void SkTypeface_FreeType::onFilterRec(SkScalerContextRec* rec) const {
682 if (rec->fTextSize > SkIntToScalar(1 << 14)) {
683 rec->fTextSize = SkIntToScalar(1 << 14);
686 if (isLCD(*rec)) {
692 rec->fMaskFormat = SkMask::kA8_Format;
697 SkPaint::Hinting h = rec->getHinting();
698 if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
702 if ((rec->fFlags & SkScalerContext::kSubpixelPositioning_Flag)) {
709 if (!isAxisAligned(*rec)) {
712 rec->setHinting(h);
715 if (!isLCD(*rec)) {
716 rec->ignorePreBlend();