Home | History | Annotate | Download | only in core

Lines Matching refs:rec

1304 static bool too_big_for_lcd(const SkScalerContext::Rec& rec, bool checkPost2x2) {
1306 SkScalar area = rec.fPost2x2[0][0] * rec.fPost2x2[1][1] -
1307 rec.fPost2x2[1][0] * rec.fPost2x2[0][1];
1308 area *= rec.fTextSize * rec.fTextSize;
1311 return rec.fTextSize > SK_MAX_SIZE_FOR_LCDTEXT;
1328 Rec* rec) {
1335 rec->fFontID = typeface->uniqueID();
1336 rec->fTextSize = paint.getTextSize();
1337 rec->fPreScaleX = paint.getTextScaleX();
1338 rec->fPreSkewX = paint.getTextSkewX();
1345 rec->fPost2x2[0][0] = sk_relax(deviceMatrix->getScaleX());
1346 rec->fPost2x2[1][1] = sk_relax(deviceMatrix->getScaleY());
1349 rec->fPost2x2[0][0] = rec->fPost2x2[1][1] = SK_Scalar1;
1352 rec->fPost2x2[0][1] = sk_relax(deviceMatrix->getSkewX());
1353 rec->fPost2x2[1][0] = sk_relax(deviceMatrix->getSkewY());
1356 rec->fPost2x2[0][1] = rec->fPost2x2[1][0] = 0;
1359 rec->fPost2x2[0][0] = rec->fPost2x2[1][1] = SK_Scalar1;
1360 rec->fPost2x2[0][1] = rec->fPost2x2[1][0] = 0;
1392 rec->fFrameWidth = strokeWidth;
1393 rec->fMiterLimit = paint.getStrokeMiter();
1394 rec->fStrokeJoin = SkToU8(paint.getStrokeJoin());
1400 rec->fFrameWidth = 0;
1401 rec->fMiterLimit = 0;
1402 rec->fStrokeJoin = 0;
1405 rec->fMaskFormat = SkToU8(compute_mask_format(paint));
1407 if (SkMask::kLCD16_Format == rec->fMaskFormat) {
1408 if (too_big_for_lcd(*rec, checkPost2x2)) {
1409 rec->fMaskFormat = SkMask::kA8_Format;
1418 rec->fMaskFormat = SkMask::kA8_Format;
1453 rec->fFlags = SkToU16(flags);
1456 rec->setHinting(computeHinting(paint));
1458 rec->setLuminanceColor(paint.computeLuminanceColor());
1464 rec->setDeviceGamma(SK_GAMMA_EXPONENT);
1465 rec->setPaintGamma(SK_GAMMA_EXPONENT);
1468 rec->setContrast(SK_GAMMA_CONTRAST);
1476 rec->setContrast(0.5f);
1479 rec->fReservedAlign = 0;
1481 /* Allow the fonthost to modify our rec before we use it as a key into the
1483 they can modify our rec up front, so we don't create duplicate cache
1486 typeface->onFilterRec(rec);
1488 // be sure to call PostMakeRec(rec) before you actually use it!
1526 * We ensure that the rec is self-consistent and efficient (where possible)
1528 void SkScalerContext::PostMakeRec(const SkPaint&, SkScalerContext::Rec* rec) {
1534 switch (rec->fMaskFormat) {
1537 SkColor color = rec->getLuminanceColor();
1538 rec->setLuminanceColor(SkMaskGamma::CanonicalColor(color));
1544 SkColor color = rec->getLuminanceColor();
1550 rec->setLuminanceColor(SkMaskGamma::CanonicalColor(color));
1555 rec->ignorePreBlend();
1566 static void write_out_descriptor(SkDescriptor* desc, const SkScalerContext::Rec& rec,
1572 desc->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec);
1587 static size_t fill_out_rec(const SkPaint& paint, SkScalerContext::Rec* rec,
1594 SkScalerContext::MakeRec(paint, surfaceProps, deviceMatrix, rec);
1596 rec->ignorePreBlend();
1600 size_t descSize = sizeof(*rec);
1606 rec->fMaskFormat = SkMask::kA8_Format; // force antialiasing when we do the scan conversion
1613 rec->fMaskFormat = SkMask::kA8_Format; // force antialiasing with maskfilters
1618 rec->ignorePreBlend();
1624 rec->fMaskFormat = SkMask::kA8_Format; // force antialiasing when we do the scan conversion
1628 // Now that we're done tweaking the rec, call the PostMakeRec cleanup
1629 SkScalerContext::PostMakeRec(paint, rec);
1636 static void test_desc(const SkScalerContext::Rec& rec,
1657 desc1->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec);
1658 desc2->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec);
1687 SkScalerContext::Rec rec;
1694 size_t descSize = fill_out_rec(*this, &rec,
1701 write_out_descriptor(desc, rec, pe, &peBuffer, mf, &mfBuffer, ra, &raBuffer, descSize);
1706 test_desc(rec, pe, &peBuffer, mf, &mfBuffer, ra, &raBuffer, desc, descSize);
1712 * by gamma correction, so we set the rec to ignore preblend: i.e. gamma = 1,
1720 SkScalerContext::Rec rec;
1727 size_t descSize = fill_out_rec(*this, &rec,
1734 write_out_descriptor(desc, rec, pe, &peBuffer, mf, &mfBuffer, ra, &raBuffer, descSize);
1739 test_desc(rec, pe, &peBuffer, mf, &mfBuffer, ra, &raBuffer, desc, descSize);
1757 SkMaskGamma::PreBlend SkScalerContext::GetMaskPreBlend(const SkScalerContext::Rec& rec) {
1759 const SkMaskGamma& maskGamma = cachedMaskGamma(rec.getContrast(),
1760 rec.getPaintGamma(),
1761 rec.getDeviceGamma());
1762 return maskGamma.preBlend(rec.getLuminanceColor());
2036 SkStrokeRec rec(*this, resScale);
2041 if (fPathEffect && fPathEffect->filterPath(&tmpPath, src, &rec, cullRect)) {
2045 if (!rec.applyToPath(dst, *srcPtr)) {
2056 return !rec.isHairlineStyle();