Lines Matching refs:rec

46     SkScalerContextRec rec =
49 // Allow the typeface to adjust the rec.
50 typeface.onFilterRec(&rec);
57 rec.ignorePreBlend();
60 SkColor lumColor = rec.getLuminanceColor();
62 if (rec.fMaskFormat == SkMask::kA8_Format) {
70 rec.setLuminanceColor(lumColor);
72 return rec;
138 SkMaskGamma::PreBlend SkScalerContext::GetMaskPreBlend(const SkScalerContextRec& rec) {
141 const SkMaskGamma& maskGamma = cached_mask_gamma(rec.getContrast(),
142 rec.getPaintGamma(),
143 rec.getDeviceGamma());
146 return maskGamma.preBlend(rec.getLuminanceColor());
496 SkStrokeRec rec(SkStrokeRec::kFill_InitStyle);
498 rec.setStrokeStyle(1.0f, false);
499 rec.setStrokeParams(SkPaint::kButt_Cap, SkPaint::kRound_Join, 0.0f);
501 if (rec.needToApply() && rec.applyToPath(&strokePath, path)) {
736 SkStrokeRec rec(SkStrokeRec::kFill_InitStyle);
739 rec.setStrokeStyle(fRec.fFrameWidth,
743 rec.setStrokeParams((SkPaint::Cap)fRec.fStrokeCap,
750 if (fPathEffect->filterPath(&effectPath, localPath, &rec, nullptr, matrix)) {
755 if (rec.needToApply()) {
757 if (rec.applyToPath(&strokePath, localPath)) {
762 // The path effect may have modified 'rec', so wait to here to check hairline status.
763 if (hairline && rec.isHairlineStyle()) {
981 static bool too_big_for_lcd(const SkScalerContextRec& rec, bool checkPost2x2) {
983 SkScalar area = rec.fPost2x2[0][0] * rec.fPost2x2[1][1] -
984 rec.fPost2x2[1][0] * rec.fPost2x2[0][1];
985 area *= rec.fTextSize * rec.fTextSize;
988 return rec.fTextSize > SK_MAX_SIZE_FOR_LCDTEXT;
998 SkScalerContextRec* rec,
1002 sk_bzero(rec, sizeof(SkScalerContextRec));
1006 rec->fFontID = typeface->uniqueID();
1007 rec->fTextSize = font.getSize();
1008 rec->fPreScaleX = font.getScaleX();
1009 rec->fPreSkewX = font.getSkewX();
1015 rec->fPost2x2[0][0] = sk_relax(deviceMatrix.getScaleX());
1016 rec->fPost2x2[1][1] = sk_relax(deviceMatrix.getScaleY());
1019 rec->fPost2x2[0][0] = rec->fPost2x2[1][1] = SK_Scalar1;
1022 rec->fPost2x2[0][1] = sk_relax(deviceMatrix.getSkewX());
1023 rec->fPost2x2[1][0] = sk_relax(deviceMatrix.getSkewY());
1026 rec->fPost2x2[0][1] = rec->fPost2x2[1][0] = 0;
1054 rec->fFrameWidth = strokeWidth;
1055 rec->fMiterLimit = paint.getStrokeMiter();
1056 rec->fStrokeJoin = SkToU8(paint.getStrokeJoin());
1057 rec->fStrokeCap = SkToU8(paint.getStrokeCap());
1063 rec->fFrameWidth = -1;
1064 rec->fMiterLimit = 0;
1065 rec->fStrokeJoin = 0;
1066 rec->fStrokeCap = 0;
1069 rec->fMaskFormat = compute_mask_format(font);
1071 if (SkMask::kLCD16_Format == rec->fMaskFormat) {
1072 if (too_big_for_lcd(*rec, checkPost2x2)) {
1073 rec->fMaskFormat = SkMask::kA8_Format;
1081 rec->fMaskFormat = SkMask::kA8_Format;
1118 rec->fForegroundColor = paint.getColor();
1120 rec->fFlags = SkToU16(flags);
1123 rec->setHinting(font.getHinting());
1124 rec->setLuminanceColor(SkPaintPriv::ComputeLuminanceColor(paint));
1130 rec->setDeviceGamma(SK_GAMMA_EXPONENT);
1131 rec->setPaintGamma(SK_GAMMA_EXPONENT);
1134 rec->setContrast(SK_GAMMA_CONTRAST);
1140 rec->setContrast(0.5f);
1144 rec->ignoreGamma();
1147 rec->setContrast(0);
1158 SkScalerContextRec rec;
1159 MakeRecAndEffects(font, paint, surfaceProps, scalerContextFlags, deviceMatrix, &rec, effects);
1160 return AutoDescriptorGivenRecAndEffects(rec, *effects, ad);
1163 static size_t calculate_size_and_flatten(const SkScalerContextRec& rec,
1166 size_t descSize = sizeof(rec);
1180 static void generate_descriptor(const SkScalerContextRec& rec,
1183 desc->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec);
1195 const SkScalerContextRec& rec,
1201 ad->reset(calculate_size_and_flatten(rec, effects, &buf));
1202 generate_descriptor(rec, buf, ad->getDesc());
1208 const SkScalerContextRec& rec,
1213 auto desc = SkDescriptor::Alloc(calculate_size_and_flatten(rec, effects, &buf));
1214 generate_descriptor(rec, buf, desc.get());
1219 void SkScalerContext::DescriptorBufferGiveRec(const SkScalerContextRec& rec, void* buffer) {
1220 generate_descriptor(rec, SkBinaryWriteBuffer{}, (SkDescriptor*)buffer);
1223 bool SkScalerContext::CheckBufferSizeForRec(const SkScalerContextRec& rec,
1227 return size >= calculate_size_and_flatten(rec, effects, &buf);