Lines Matching defs:metrics
651 // When GDI hinting, remove the entire Y scale from sA and GsA. (Prevents 'linear' metrics.)
669 // The sA and GsA transforms will be used to create 'linear' metrics.
673 // scale in them, preventing 'linear' metrics. However, GDI cannot actually handle non-integer
739 // Create a hires matrix if we need linear metrics.
916 void SkScalerContext_GDI::generateFontMetrics(SkFontMetrics* metrics) {
917 if (nullptr == metrics) {
920 sk_bzero(metrics, sizeof(*metrics));
927 metrics->fTop = SkIntToScalar(-fTM.tmAscent);
928 metrics->fAscent = SkIntToScalar(-fTM.tmAscent);
929 metrics->fDescent = SkIntToScalar(fTM.tmDescent);
930 metrics->fBottom = SkIntToScalar(fTM.tmDescent);
931 metrics->fLeading = SkIntToScalar(fTM.tmExternalLeading);
932 metrics->fAvgCharWidth = SkIntToScalar(fTM.tmAveCharWidth);
933 metrics->fMaxCharWidth = SkIntToScalar(fTM.tmMaxCharWidth);
934 metrics->fXMin = 0;
935 metrics->fXMax = metrics->fMaxCharWidth;
936 //metrics->fXHeight = 0;
954 metrics->fTop = SkIntToScalar(-otm.otmrcFontBox.top);
955 metrics->fAscent = SkIntToScalar(-otm.otmAscent);
956 metrics->fDescent = SkIntToScalar(-otm.otmDescent);
957 metrics->fBottom = SkIntToScalar(-otm.otmrcFontBox.bottom);
958 metrics->fLeading = SkIntToScalar(otm.otmLineGap);
959 metrics->fAvgCharWidth = SkIntToScalar(otm.otmTextMetrics.tmAveCharWidth);
960 metrics->fMaxCharWidth = SkIntToScalar(otm.otmTextMetrics.tmMaxCharWidth);
961 metrics->fXMin = SkIntToScalar(otm.otmrcFontBox.left);
962 metrics->fXMax = SkIntToScalar(otm.otmrcFontBox.right);
964 metrics->fUnderlineThickness = SkIntToScalar(otm.otmsUnderscoreSize);
965 metrics->fUnderlinePosition = -SkIntToScalar(otm.otmsUnderscorePosition);
967 metrics->fFlags |= SkFontMetrics::kUnderlineThicknessIsValid_Flag;
968 metrics->fFlags |= SkFontMetrics::kUnderlinePositionIsValid_Flag;
970 metrics->fXHeight = SkIntToScalar(otm.otmsXHeight);
975 metrics->fXHeight = SkIntToScalar(gm.gmBlackBoxY);
2125 // and linear metrics.