Lines Matching refs:glyph

382         SkAutoTArray<WORD> glyph(count);  in populate_glyph_to_unicode()  local
386 GetGlyphIndicesW(fontHdc, chars.get(), count, glyph.get(), in populate_glyph_to_unicode()
396 if (glyph[j] != 0xffff && glyph[j] < glyphCount && in populate_glyph_to_unicode()
397 (*glyphToUnicode)[glyph[j]] == 0) { in populate_glyph_to_unicode()
398 (*glyphToUnicode)[glyph[j]] = chars[j]; in populate_glyph_to_unicode()
452 const void* HDCOffscreen::draw(const SkGlyph& glyph, bool isBW, in draw() argument
471 if (fBM && (fIsBW != isBW || fWidth < glyph.fWidth || fHeight < glyph.fHeight)) { in draw()
477 fWidth = SkMax32(fWidth, glyph.fWidth); in draw()
478 fHeight = SkMax32(fHeight, glyph.fHeight); in draw()
513 xform.eDx = (float)-glyph.fLeft; in draw()
514 xform.eDy = (float)-glyph.fTop; in draw()
517 uint16_t glyphID = glyph.getGlyphID(); in draw()
525 return (const char*)fBits + (fHeight - glyph.fHeight) * srcRB; in draw()
543 void generateAdvance(SkGlyph* glyph) override;
544 void generateMetrics(SkGlyph* glyph) override;
545 void generateImage(const SkGlyph& glyph) override;
546 void generatePath(const SkGlyph& glyph, SkPath* path) override;
550 DWORD getGDIGlyphPath(const SkGlyph& glyph, UINT flags,
835 void SkScalerContext_GDI::generateAdvance(SkGlyph* glyph) { in generateAdvance() argument
836 this->generateMetrics(glyph); in generateAdvance()
839 void SkScalerContext_GDI::generateMetrics(SkGlyph* glyph) { in generateMetrics() argument
844 WORD glyphs = glyph->getGlyphID(); in generateMetrics()
846 glyph->fWidth = SkToS16(fTM.tmMaxCharWidth); in generateMetrics()
848 glyph->fWidth = SkToS16(size.cx); in generateMetrics()
850 glyph->fHeight = SkToS16(size.cy); in generateMetrics()
852 glyph->fTop = SkToS16(-fTM.tmAscent); in generateMetrics()
855 glyph->fLeft = SkToS16(0); in generateMetrics()
856 glyph->fAdvanceX = SkIntToFixed(glyph->fWidth); in generateMetrics()
857 glyph->fAdvanceY = 0; in generateMetrics()
861 SkRect bounds = SkRect::MakeXYWH(glyph->fLeft, glyph->fTop, in generateMetrics()
862 glyph->fWidth, glyph->fHeight); in generateMetrics()
869 glyph->fLeft = SkScalarTruncToInt(bounds.fLeft); in generateMetrics()
870 glyph->fTop = SkScalarTruncToInt(bounds.fTop); in generateMetrics()
871 glyph->fWidth = SkScalarTruncToInt(bounds.width()); in generateMetrics()
872 glyph->fHeight = SkScalarTruncToInt(bounds.height()); in generateMetrics()
876 glyph->fAdvanceY = SkFixedMul(-SkFIXEDToFixed(fMat22.eM12), glyph->fAdvanceX); in generateMetrics()
877 glyph->fAdvanceX = SkFixedMul(SkFIXEDToFixed(fMat22.eM11), glyph->fAdvanceX); in generateMetrics()
882 UINT glyphId = glyph->getGlyphID(); in generateMetrics()
892 glyph->zeroMetrics(); in generateMetrics()
907 glyph->fTop = SkToS16(-gm.gmptGlyphOrigin.y); in generateMetrics()
908 glyph->fLeft = SkToS16(gm.gmptGlyphOrigin.x); in generateMetrics()
910 glyph->fWidth = 0; in generateMetrics()
911 glyph->fHeight = 0; in generateMetrics()
917 glyph->fWidth = gm.gmBlackBoxX + 4; in generateMetrics()
918 glyph->fHeight = gm.gmBlackBoxY + 4; in generateMetrics()
919 glyph->fTop -= 2; in generateMetrics()
920 glyph->fLeft -= 2; in generateMetrics()
922 glyph->fAdvanceX = SkIntToFixed(gm.gmCellIncX); in generateMetrics()
923 glyph->fAdvanceY = SkIntToFixed(gm.gmCellIncY); in generateMetrics()
924 glyph->fRsbDelta = 0; in generateMetrics()
925 glyph->fLsbDelta = 0; in generateMetrics()
933 glyph->fAdvanceX = SkScalarToFixed(advance.fX); in generateMetrics()
934 glyph->fAdvanceY = SkScalarToFixed(advance.fY); in generateMetrics()
941 glyph->fAdvanceX = SkScalarToFixed(advance.fX); in generateMetrics()
942 glyph->fAdvanceY = SkScalarToFixed(advance.fY); in generateMetrics()
1142 const SkGlyph& glyph) { in rgb_to_bw() argument
1143 const int width = glyph.fWidth; in rgb_to_bw()
1145 uint8_t* SK_RESTRICT dst = (uint8_t*)((char*)glyph.fImage + (glyph.fHeight - 1) * dstRB); in rgb_to_bw()
1154 for (int y = 0; y < glyph.fHeight; ++y) { in rgb_to_bw()
1183 if (glyph.fWidth > 0 && glyph.fHeight > 0) { in rgb_to_bw()
1184 uint8_t* first = (uint8_t*)glyph.fImage; in rgb_to_bw()
1185 uint8_t* last = (uint8_t*)((char*)glyph.fImage + glyph.fHeight * dstRB - 1); in rgb_to_bw()
1194 const SkGlyph& glyph, const uint8_t* table8) { in rgb_to_a8() argument
1195 const size_t dstRB = glyph.rowBytes(); in rgb_to_a8()
1196 const int width = glyph.fWidth; in rgb_to_a8()
1197 uint8_t* SK_RESTRICT dst = (uint8_t*)((char*)glyph.fImage + (glyph.fHeight - 1) * dstRB); in rgb_to_a8()
1199 for (int y = 0; y < glyph.fHeight; y++) { in rgb_to_a8()
1212 static void rgb_to_lcd16(const SkGdiRGB* SK_RESTRICT src, size_t srcRB, const SkGlyph& glyph, in rgb_to_lcd16() argument
1214 const size_t dstRB = glyph.rowBytes(); in rgb_to_lcd16()
1215 const int width = glyph.fWidth; in rgb_to_lcd16()
1216 uint16_t* SK_RESTRICT dst = (uint16_t*)((char*)glyph.fImage + (glyph.fHeight - 1) * dstRB); in rgb_to_lcd16()
1218 for (int y = 0; y < glyph.fHeight; y++) { in rgb_to_lcd16()
1232 void SkScalerContext_GDI::generateImage(const SkGlyph& glyph) { in generateImage() argument
1239 const void* bits = fOffscreen.draw(glyph, isBW, &srcRB); in generateImage()
1242 bits = fOffscreen.draw(glyph, isBW, &srcRB); in generateImage()
1244 sk_bzero(glyph.fImage, glyph.computeImageSize()); in generateImage()
1264 for (int y = 0; y < glyph.fHeight; ++y) { in generateImage()
1265 for (int x = 0; x < glyph.fWidth; ++x) { in generateImage()
1275 int width = glyph.fWidth; in generateImage()
1276 size_t dstRB = glyph.rowBytes(); in generateImage()
1279 uint8_t* dst = (uint8_t*)((char*)glyph.fImage + (glyph.fHeight - 1) * dstRB); in generateImage()
1280 for (int y = 0; y < glyph.fHeight; y++) { in generateImage()
1286 if (glyph.fWidth > 0 && glyph.fHeight > 0) { in generateImage()
1288 uint8_t* first = (uint8_t*)glyph.fImage; in generateImage()
1289 uint8_t* last = (uint8_t*)((char*)glyph.fImage + glyph.fHeight * dstRB - 1); in generateImage()
1299 rgb_to_a8<true>(src, srcRB, glyph, fPreBlend.fG); in generateImage()
1301 rgb_to_a8<false>(src, srcRB, glyph, fPreBlend.fG); in generateImage()
1305 if (is_rgb_really_bw(src, width, glyph.fHeight, srcRB)) { in generateImage()
1306 rgb_to_bw(src, srcRB, glyph); in generateImage()
1307 ((SkGlyph*)&glyph)->fMaskFormat = SkMask::kBW_Format; in generateImage()
1309 SkASSERT(SkMask::kLCD16_Format == glyph.fMaskFormat); in generateImage()
1311 rgb_to_lcd16<true>(src, srcRB, glyph, in generateImage()
1314 rgb_to_lcd16<false>(src, srcRB, glyph, in generateImage()
1588 DWORD SkScalerContext_GDI::getGDIGlyphPath(const SkGlyph& glyph, UINT flags, in getGDIGlyphPath() argument
1593 …DWORD total_size = GetGlyphOutlineW(fDDC, glyph.getGlyphID(), flags, &gm, BUFFERSIZE, glyphbuf->ge… in getGDIGlyphPath()
1600 total_size = GetGlyphOutlineW(fDDC, glyph.getGlyphID(), flags, &gm, 0, NULL, &fMat22); in getGDIGlyphPath()
1603 total_size = GetGlyphOutlineW(fDDC, glyph.getGlyphID(), flags, &gm, 0, NULL, &fMat22); in getGDIGlyphPath()
1613 …DWORD ret = GetGlyphOutlineW(fDDC, glyph.getGlyphID(), flags, &gm, total_size, glyphbuf->get(), &f… in getGDIGlyphPath()
1616 …ret = GetGlyphOutlineW(fDDC, glyph.getGlyphID(), flags, &gm, total_size, glyphbuf->get(), &fMat22); in getGDIGlyphPath()
1626 void SkScalerContext_GDI::generatePath(const SkGlyph& glyph, SkPath* path) { in generatePath() argument
1627 SkASSERT(&glyph && path); in generatePath()
1646 DWORD total_size = getGDIGlyphPath(glyph, format, &glyphbuf); in generatePath()
1658 DWORD hinted_total_size = getGDIGlyphPath(glyph, format, &hintedGlyphbuf); in generatePath()