diff options
Diffstat (limited to 'WebKit/android/plugins/ANPPaintInterface.cpp')
| -rw-r--r-- | WebKit/android/plugins/ANPPaintInterface.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/WebKit/android/plugins/ANPPaintInterface.cpp b/WebKit/android/plugins/ANPPaintInterface.cpp index 2a74b7f..4b561f0 100644 --- a/WebKit/android/plugins/ANPPaintInterface.cpp +++ b/WebKit/android/plugins/ANPPaintInterface.cpp @@ -158,6 +158,19 @@ static int anp_getTextWidths(ANPPaint* paint, const void* text, reinterpret_cast<SkRect*>(bounds)); } +static float anp_getFontMetrics(ANPPaint* paint, ANPFontMetrics* metrics) { + SkPaint::FontMetrics fm; + SkScalar spacing = paint->getFontMetrics(&fm); + if (metrics) { + metrics->fTop = SkScalarToFloat(fm.fTop); + metrics->fAscent = SkScalarToFloat(fm.fAscent); + metrics->fDescent = SkScalarToFloat(fm.fDescent); + metrics->fBottom = SkScalarToFloat(fm.fBottom); + metrics->fLeading = SkScalarToFloat(fm.fLeading); + } + return SkScalarToFloat(spacing); +} + /////////////////////////////////////////////////////////////////////////////// #define ASSIGN(obj, name) (obj)->name = anp_##name @@ -195,5 +208,6 @@ void ANPPaintInterfaceV0_Init(ANPInterface* value) { ASSIGN(i, setTypeface); ASSIGN(i, measureText); ASSIGN(i, getTextWidths); + ASSIGN(i, getFontMetrics); } |
