Lines Matching refs:glyph

324 void SkScalerContext_DW::generateAdvance(SkGlyph* glyph) {  in generateAdvance()  argument
328 glyph->fRsbDelta = 0; in generateAdvance()
329 glyph->fLsbDelta = 0; in generateAdvance()
331 glyph->fAdvanceX = 0; in generateAdvance()
332 glyph->fAdvanceY = 0; in generateAdvance()
334 uint16_t glyphId = glyph->getGlyphID(); in generateAdvance()
371 glyph->fAdvanceX = SkScalarToFixed(vecs[0].fX); in generateAdvance()
372 glyph->fAdvanceY = SkScalarToFixed(vecs[0].fY); in generateAdvance()
375 HRESULT SkScalerContext_DW::getBoundingBox(SkGlyph* glyph, in getBoundingBox() argument
381 fXform.dx = SkFixedToFloat(glyph->getSubXFixed()); in getBoundingBox()
382 fXform.dy = SkFixedToFloat(glyph->getSubYFixed()); in getBoundingBox()
386 UINT16 glyphId = glyph->getGlyphID(); in getBoundingBox()
425 static bool glyph_check_and_set_bounds(SkGlyph* glyph, const RECT& bbox) { in glyph_check_and_set_bounds() argument
429 glyph->fWidth = SkToU16(bbox.right - bbox.left); in glyph_check_and_set_bounds()
430 glyph->fHeight = SkToU16(bbox.bottom - bbox.top); in glyph_check_and_set_bounds()
431 glyph->fLeft = SkToS16(bbox.left); in glyph_check_and_set_bounds()
432 glyph->fTop = SkToS16(bbox.top); in glyph_check_and_set_bounds()
436 void SkScalerContext_DW::generateMetrics(SkGlyph* glyph) { in generateMetrics() argument
437 glyph->fWidth = 0; in generateMetrics()
438 glyph->fHeight = 0; in generateMetrics()
439 glyph->fLeft = 0; in generateMetrics()
440 glyph->fTop = 0; in generateMetrics()
442 this->generateAdvance(glyph); in generateMetrics()
445 HRVM(this->getBoundingBox(glyph, fRenderingMode, fTextureType, &bbox), in generateMetrics()
448 if (glyph_check_and_set_bounds(glyph, bbox)) { in generateMetrics()
456 HRVM(this->getBoundingBox(glyph, in generateMetrics()
461 if (glyph_check_and_set_bounds(glyph, bbox)) { in generateMetrics()
462 glyph->fForceBW = 1; in generateMetrics()
539 static void bilevel_to_bw(const uint8_t* SK_RESTRICT src, const SkGlyph& glyph) { in bilevel_to_bw() argument
540 const int width = glyph.fWidth; in bilevel_to_bw()
542 uint8_t* SK_RESTRICT dst = static_cast<uint8_t*>(glyph.fImage); in bilevel_to_bw()
547 for (int y = 0; y < glyph.fHeight; ++y) { in bilevel_to_bw()
578 static void rgb_to_a8(const uint8_t* SK_RESTRICT src, const SkGlyph& glyph, const uint8_t* table8) { in rgb_to_a8() argument
579 const size_t dstRB = glyph.rowBytes(); in rgb_to_a8()
580 const U16CPU width = glyph.fWidth; in rgb_to_a8()
581 uint8_t* SK_RESTRICT dst = static_cast<uint8_t*>(glyph.fImage); in rgb_to_a8()
583 for (U16CPU y = 0; y < glyph.fHeight; y++) { in rgb_to_a8()
595 static void rgb_to_lcd16(const uint8_t* SK_RESTRICT src, const SkGlyph& glyph, in rgb_to_lcd16() argument
597 const size_t dstRB = glyph.rowBytes(); in rgb_to_lcd16()
598 const U16CPU width = glyph.fWidth; in rgb_to_lcd16()
599 uint16_t* SK_RESTRICT dst = static_cast<uint16_t*>(glyph.fImage); in rgb_to_lcd16()
601 for (U16CPU y = 0; y < glyph.fHeight; y++) { in rgb_to_lcd16()
619 const void* SkScalerContext_DW::drawDWMask(const SkGlyph& glyph, in drawDWMask() argument
623 int sizeNeeded = glyph.fWidth * glyph.fHeight; in drawDWMask()
634 fXform.dx = SkFixedToFloat(glyph.getSubXFixed()); in drawDWMask()
635 fXform.dy = SkFixedToFloat(glyph.getSubYFixed()); in drawDWMask()
639 UINT16 index = glyph.getGlyphID(); in drawDWMask()
669 bbox.left = glyph.fLeft; in drawDWMask()
670 bbox.top = glyph.fTop; in drawDWMask()
671 bbox.right = glyph.fLeft + glyph.fWidth; in drawDWMask()
672 bbox.bottom = glyph.fTop + glyph.fHeight; in drawDWMask()
681 void SkScalerContext_DW::generateImage(const SkGlyph& glyph) { in generateImage() argument
685 if (glyph.fForceBW) { in generateImage()
689 const void* bits = this->drawDWMask(glyph, renderingMode, textureType); in generateImage()
691 sk_bzero(glyph.fImage, glyph.computeImageSize()); in generateImage()
698 bilevel_to_bw(src, glyph); in generateImage()
699 const_cast<SkGlyph&>(glyph).fMaskFormat = SkMask::kBW_Format; in generateImage()
702 rgb_to_a8<true>(src, glyph, fPreBlend.fG); in generateImage()
704 rgb_to_a8<false>(src, glyph, fPreBlend.fG); in generateImage()
707 SkASSERT(SkMask::kLCD16_Format == glyph.fMaskFormat); in generateImage()
710 rgb_to_lcd16<true, false>(src, glyph, fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); in generateImage()
712 rgb_to_lcd16<true, true>(src, glyph, fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); in generateImage()
716 rgb_to_lcd16<false, false>(src, glyph, fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); in generateImage()
718 rgb_to_lcd16<false, true>(src, glyph, fPreBlend.fR, fPreBlend.fG, fPreBlend.fB); in generateImage()
724 void SkScalerContext_DW::generatePath(const SkGlyph& glyph, SkPath* path) { in generatePath() argument
725 SkASSERT(&glyph && path); in generatePath()
732 uint16_t glyphId = glyph.getGlyphID(); in generatePath()